public void SendMsg() { List <string> MY_DEVICE_TOKENS = new List <string>(); using (OOContent db = new OOContent()) { db.DBUserDevice.ToList().ForEach(delegate(EUserDevice item) { MY_DEVICE_TOKENS.Add(item.DeviceToken); }); } foreach (var deviceToken in MY_DEVICE_TOKENS) { // 队列发送一个通知 apnsBroker.QueueNotification(new ApnsNotification { DeviceToken = deviceToken,//这里的deviceToken是ios端获取后传递到数据库统一记录管理的,有效的Token才能保证推送成功 Payload = JObject.Parse("{\"aps\":{\"sound\":\"default\",\"badge\":\"1\",\"alert\":\"这是一条群发广告消息推送的测试消息\"}}") }); } Console.WriteLine("Sent"); //停止代理 apnsBroker.Stop(); Console.Read(); }
public NResult <EItemInfo> GetAvaliableItem(QItem qItem) { NResult <EItemInfo> result = new NResult <EItemInfo>(); try { using (OOContent db = new OOContent()) { var list = db.DBItemInfo.Where(a => a.RecordStatus == RecordStatus.Normal).OrderByDescending(a => a.CreatedTime); if (qItem.pageIndex == 0) { result.resultList = list.Take(qItem.pageSize).ToList(); } else { result.resultList = list.Skip(qItem.pageIndex * qItem.pageSize).Take(qItem.pageSize).ToList(); } } } catch (Exception ex) { result.IsSuccess = false; result.ErrorMsg = ex.Message; } return(result); }
public void SetUserDeviceToken(string DeviceToken, string IDFV, DeviceChannel DeviceChannel, string appName = "YJOO") { try { if (!string.IsNullOrEmpty(DeviceToken) && !string.IsNullOrEmpty(IDFV)) { using (OOContent db = new OOContent()) { EUserDevice userDevice = db.DBUserDevice.Where(a => a.IDFV == IDFV).FirstOrDefault(); if (userDevice == null) { userDevice = new EUserDevice(); userDevice.CreateDateTime = DateTime.Now; db.DBUserDevice.Add(userDevice); } userDevice.DeviceToken = DeviceToken; userDevice.IDFV = IDFV; userDevice.DeviceChannel = DeviceChannel; userDevice.AppName = appName; userDevice.LastLoginDateTime = DateTime.Now; userDevice.LoginCount++; db.SaveChanges(); } } } catch (Exception ex) { NLogHelper.ErrorTxt("GetUserDeviceToken Error:" + ex.Message); } }
/// <summary> /// 已经存在的手机不要发送 /// </summary> /// <param name="Phone"></param> /// <returns></returns> private bool IsVerifiedPhone(string Phone) { using (OOContent db = new OOContent()) { EUserInfo user = db.DBUserInfo.Where(a => a.Phone == Phone).FirstOrDefault(); return(user != null); } }
public NResult <ETaskInfo> CreateOrUpdate(ETaskInfo obj) { NResult <ETaskInfo> result = new NResult <ETaskInfo>(); try { using (OOContent db = new OOContent()) { ETaskInfo updateObj = null; if (obj.RefItemId > 0) { string sql = string.Format("select count(1) from ItemInfo where Id={0}", obj.RefItemId); int ItemCount = db.Database.SqlQuery <int>(sql).FirstOrDefault(); if (ItemCount <= 0) { result.IsSuccess = false; result.ErrorMsg = "创建任务失败。没有找到对相应的对象!"; return(result); } } if (obj.Id != 0) { updateObj = db.DBTaskInfo.Where(a => a.Id == obj.Id).FirstOrDefault(); } //新增 if (updateObj == null) { db.DBTaskInfo.Add(obj); db.SaveChanges(); } //修改 else { updateObj.Title = obj.Title; updateObj.Description = obj.Description; updateObj.TaskType = obj.TaskType; updateObj.RecordStatus = obj.RecordStatus; updateObj.RefItemId = obj.RefItemId; db.SaveChanges(); } result.resultObj = obj; } } catch (Exception ex) { result.IsSuccess = false; result.ErrorMsg = ex.Message; ErrorToDb(ex.Message); } return(result); }
public NResult <RUserTask> QueryUserTask(QTask qTask) { NResult <RUserTask> result = new NResult <RUserTask>(); try { using (OOContent db = new OOContent()) { var sql = @"select t.Title, t.Description as TaskDescription, t.TaskType, t.Id as TaskId, item.Name as ItemName, item.RealUrl, item.Price, ut.UserTaskStatus, ut.UserId, ut.Id from TaskInfo as t join UserTask as ut on ut.TaskId = t.Id join ItemInfo as item on item.Id = t.RefItemId where ut.UserId = @UserId order by ut.CreatedTime"; //sql = string.Format(sql, qTask.AcceptUserId); SqlParameter[] param = new SqlParameter[] { new SqlParameter("@UserId", qTask.AcceptUserId) }; var list = db.Database.SqlQuery <RUserTask>(sql, param); if (qTask.pageIndex == 0) { result.resultList = list.Take(qTask.pageSize).ToList(); } else { result.resultList = list.Skip(qTask.pageIndex * qTask.pageSize).Take(qTask.pageSize).ToList(); } } } catch (Exception ex) { result.IsSuccess = false; result.ErrorMsg = ex.Message; } return(result); }
public NResult <EUserInfo> Login(string loginName, string pwd, string DeviceIdentify = "", string DeviceToken = "", DeviceChannel DeviceChannel = DeviceChannel.IOS) { NResult <EUserInfo> result = new NResult <EUserInfo>(); try { NLogHelper.InfoTxt(string.Format("用户{0}登陆,密码:{1},DeviceIdentify:{2}", loginName, pwd, DeviceIdentify)); using (OOContent db = new OOContent()) { EUserInfo ui = db.DBUserInfo.Where(a => a.LoginName == loginName && a.Pwd == pwd).FirstOrDefault(); //var sql = @"select ui.Id,ui.NickName, // ui.Phone,ui.UserRole, // ui.HeaderImgUrl, // ui.RecordStatus // from UserInfo as ui // where ui.LoginName = @LoginName and ui.Pwd = @Pwd"; //sql = string.Format(sql, loginName, pwd); //List<SqlParameter> pList = new List<SqlParameter>(); //pList.Add(new SqlParameter("@LoginName", loginName)); //pList.Add(new SqlParameter("@Pwd", pwd)); //RUserInfo ui = db.Database.SqlQuery<RUserInfo>(sql, pList.ToArray()).FirstOrDefault(); if (ui == null) { result.ErrorMsg = "用户名或密码错误"; return(result); } else { ui.LastLoginDateTime = DateTime.Now; //更新设备对应的手机 UpdateDevice(DeviceIdentify, loginName, db); db.SaveChanges(); } result.resultObj = ui; } } catch (Exception ex) { result.ErrorMsg = ex.Message; ErrorToDb(ex.Message); } return(result); }
/// <summary> /// 获取用户邀请信息 /// </summary> /// <returns></returns> public OutAPIResult InviteInfo() { OutAPIResult result = new OutAPIResult(); try { using (OOContent db = new OOContent()) { } } catch (Exception ex) { ErrorToDb(ex.Message); } return(result); }
public OutAPIResult ModifyPwd() { string phone = HttpContext.Current.Request["Phone"]; string newPwd = HttpContext.Current.Request["newPwd"]; string oldPwd = HttpContext.Current.Request["oldPwd"]; OutAPIResult result = new OutAPIResult(); try { if (string.IsNullOrEmpty(phone)) { result.ErrorMsg = "手机号不能为空!"; return(result); } if (string.IsNullOrEmpty(newPwd)) { result.ErrorMsg = "新密码不能为空!"; return(result); } using (OOContent db = new OOContent()) { EUserInfo ui = db.DBUserInfo.Where(a => a.Phone == phone).FirstOrDefault(); if (ui == null) { result.ErrorMsg = "手机对应的用户没有找到"; return(result); } if (ui.Pwd != oldPwd) { result.ErrorMsg = "旧密码不匹配"; return(result); } else { ui.Pwd = newPwd; db.SaveChanges(); } } } catch (Exception ex) { result.ErrorMsg = ex.Message; } return(result); }
public NResult <EItemInfo> CreateOrUpdate(EItemInfo obj) { NResult <EItemInfo> result = new NResult <EItemInfo>(); try { using (OOContent db = new OOContent()) { EItemInfo updateObj = null; if (obj.Id != 0) { updateObj = db.DBItemInfo.Where(a => a.Id == obj.Id).FirstOrDefault(); } //新增 if (updateObj == null) { db.DBItemInfo.Add(obj); db.SaveChanges(); } //修改 else { updateObj.Channel = obj.Channel; updateObj.Name = obj.Name; updateObj.Price = obj.Price; updateObj.RealUrl = obj.RealUrl; updateObj.StoreId = obj.StoreId; updateObj.RecordStatus = obj.RecordStatus; db.SaveChanges(); } result.resultObj = obj; } } catch (Exception ex) { result.IsSuccess = false; result.ErrorMsg = ex.Message; ErrorToDb(ex.Message); } return(result); }
/// <summary> /// 没有DeviceIdentity 暂时就算了 /// </summary> /// <param name="DeviceIdentity"></param> /// <param name="Phone"></param> /// <param name="db"></param> private void UpdateDevice(string DeviceIdentity, string Phone, OOContent db) { try { if (!string.IsNullOrEmpty(DeviceIdentity)) { var UserDevice = db.DBUserDevice.Where(a => a.IDFV == DeviceIdentity).FirstOrDefault(); if (UserDevice != null) { UserDevice.UserPhone = Phone; } } } catch (Exception ex) { NLogHelper.ErrorTxt("Update Device Error:" + ex.Message); } }
public OutAPIResult SetNickName() { OutAPIResult result = new OutAPIResult(); string NickName = HttpContext.Current.Request["NickName"]; string phone = HttpContext.Current.Request["Phone"]; NLogHelper.InfoTxt(string.Format("Set Nick Name:{0}.Phone:{1}", NickName, phone)); try { if (string.IsNullOrEmpty(phone)) { result.ErrorMsg = "【B】手机号没有获取"; return(result); } if (string.IsNullOrEmpty(NickName)) { result.ErrorMsg = "【B】昵称没有获取"; return(result); } using (OOContent db = new OOContent()) { var pList = new List <SqlParameter>(); pList.Add(new SqlParameter("@NickName", NickName)); pList.Add(new SqlParameter("@Phone", phone)); var sql = @"update UserInfo set NickName = @NickName where Phone = @Phone "; result.IntMsg = db.Database.ExecuteSqlCommand(sql, pList.ToArray()); if (result.IntMsg <= 0) { result.ErrorMsg = "没有找到对应的用户更新"; } } } catch (Exception ex) { result.ErrorMsg = ex.Message; } return(result); }
public OutAPIResult InsertBanner() { OutAPIResult result = new OutAPIResult(); try { using (OOContent db = new OOContent()) { EBanner obj = new EBanner(); obj.BannerImg = "/Content/Images/AppBanner/Banner1.png"; obj.Title = "最新公告"; obj.CreatedTime = DateTime.Now; obj.Position = 1; db.DBBanner.Add(obj); db.SaveChanges(); } } catch (Exception ex) { result.IsSuccess = false; result.ErrorMsg = ex.Message; } return(result); }
public NResult <ETaskInfo> QueryTask(QTask qTask) { NResult <ETaskInfo> result = new NResult <ETaskInfo>(); try { using (OOContent db = new OOContent()) { var list = db.DBTaskInfo.Where(a => a.TaskType != TaskType.ALL); if (qTask.RecordStatus != RecordStatus.ALL) { list = list.Where(a => a.RecordStatus == RecordStatus.Normal); } list = list.OrderByDescending(a => a.CreatedTime); if (qTask.pageIndex == 0) { result.resultList = list.Take(qTask.pageSize).ToList(); } else { result.resultList = list.Skip(qTask.pageIndex * qTask.pageSize).Take(qTask.pageSize).ToList(); } } } catch (Exception ex) { result.IsSuccess = false; result.ErrorMsg = ex.Message; ErrorToDb(ex.Message); } return(result); }
public OutAPIResult UpdateHeaderImage() { OutAPIResult result = new OutAPIResult(); Stream stream; int maxSize = 10; string phone = HttpContext.Current.Request["UserPhone"]; try { if (string.IsNullOrEmpty(phone)) { result.ErrorMsg = "【B】手机号没有获取"; return(result); } HttpPostedFile file0 = HttpContext.Current.Request.Files[0]; int size = file0.ContentLength / 1024; //文件大小KB if (size > maxSize * 1024) { result.ErrorMsg = string.Format("文件过大,不能超过{0}M", maxSize); return(result); } byte[] fileByte = new byte[2]; //contentLength,这里我们只读取文件长度的前两位用于判断就好了,这样速度比较快,剩下的也用不到。 stream = file0.InputStream; stream.Read(fileByte, 0, 2); //contentLength,还是取前两位 string fileFlag = ""; if (fileByte != null || fileByte.Length <= 0)//图片数据是否为空 { fileFlag = fileByte[0].ToString() + fileByte[1].ToString(); } //extDir.Add("255216", "jpg"); if (fileFlag != "255216") { result.ErrorMsg = "图片格式不正确"; return(result); } string fileName = "user_" + phone + ".jpg"; string saveFullPath = SysConfig.ImageSaveDir + "\\" + fileName; NLogHelper.InfoTxt("Save Paht:" + saveFullPath); OutAPIResult updateResult = ImgHelper.UploadImg(saveFullPath); if (updateResult.IsSuccess) { using (OOContent db = new OOContent()) { var dbImgUrl = SysConfig.ImageSaveDBRoot + fileName; var pList = new List <SqlParameter>(); pList.Add(new SqlParameter("@imgUrl", dbImgUrl)); pList.Add(new SqlParameter("@Phone", phone)); var sql = @"update UserInfo set HeaderImgUrl = @imgUrl where Phone = @Phone "; db.Database.ExecuteSqlCommand(sql, pList.ToArray()); } } else { result.ErrorMsg = result.ErrorMsg; } } catch (Exception ex) { result.ErrorMsg = ex.Message; } return(result); }
public NResult <EUserInfo> Register(InUserReg userReg) { NResult <EUserInfo> result = new NResult <EUserInfo>(); EUserInfo ui = null; EUserQRInvite pQR = null; SMSController smsController = new SMSController(); try { if (string.IsNullOrEmpty(userReg.Phone)) { result.ErrorMsg = "手机号不能未空"; return(result); } if (string.IsNullOrEmpty(userReg.Pwd)) { result.ErrorMsg = "密码不能为空"; return(result); } if (string.IsNullOrEmpty(userReg.VerifyCode)) { result.ErrorMsg = "验证码不能为空"; return(result); } OutAPIResult smsResult = smsController.ConfirmVerification(userReg.Phone, userReg.VerifyCode); if (!smsResult.IsSuccess) { result.ErrorMsg = smsResult.ErrorMsg; return(result); } using (OOContent db = new OOContent()) { using (TransactionScope ts = new TransactionScope()) { //创建用户基本信息 ui = db.DBUserInfo.Where(a => a.Phone == userReg.Phone).FirstOrDefault(); if (ui != null) { result.ErrorMsg = "手机号已存在"; return(result); } ui = new EUserInfo(); //如果昵称或登陆名为空,则用手机号补充 if (string.IsNullOrEmpty(userReg.LoginName)) { ui.LoginName = userReg.Phone; } if (string.IsNullOrEmpty(userReg.NickName)) { ui.NickName = userReg.Phone; } ui.Phone = userReg.Phone; ui.Pwd = userReg.Pwd; ui.UserRole = IQBCore.OO.BaseEnum.UserRole.User; ui.RecordStatus = IQBCore.OO.BaseEnum.RecordStatus.Normal; ui.RegisterDateTime = DateTime.Now; ui.RegisterChannel = RegisterChannel.OOAPP; db.DBUserInfo.Add(ui); //检查邀请码 if (!string.IsNullOrEmpty(userReg.InviteCode)) { pQR = db.DBUserQRInvite.Where(a => a.InviteCode == userReg.InviteCode).FirstOrDefault(); if (pQR == null) { result.ErrorMsg = "邀请码没有找到对应的用户"; return(result); } } db.SaveChanges(); //创建用户邀请码 EUserQRInvite qr = new EUserQRInvite { InviteCode = StringHelper.GenerateUserInviteCode(ui.Phone), QRPath = "", QRUrl = "", UserId = ui.Id }; db.DBUserQRInvite.Add(qr); //用户关系 EUserRelation ur = new EUserRelation(); ur.UserId = ui.Id; ur.UserName = ui.NickName; if (pQR != null) { ur.PId = pQR.UserId; } db.DBUserRelation.Add(ur); //用户账户 EUserBalance ub = new EUserBalance(); ub.UserId = ui.Id; ub.Balance = 0; ub.CurrencyCode = CoreStatic.Instance.Sys.CurCurrencyCode; db.DBUserBalance.Add(ub); //用户回报 EUserReward reward = new EUserReward(); reward.UserId = ui.Id; reward.ADRewardRate = CoreStatic.Instance.Sys.ADRewardRate; reward.OrderRewardRate = CoreStatic.Instance.Sys.L1RewardRate; reward.IntroRate = CoreStatic.Instance.Sys.IntroRate; db.DBUserReward.Add(reward); //绑定用户设备和用户手机号 UpdateDevice(userReg.DeviceIdentify, userReg.Phone, db); db.SaveChanges(); ts.Complete(); } result.resultObj = ui; } } catch (Exception ex) { result.ErrorMsg = ex.Message; ErrorToDb(ex.Message); } return(result); }
public NResult <EUserTask> CreateUserTask(long UserId, long TaskId) { NResult <EUserTask> result = new NResult <EUserTask>(); try { using (OOContent db = new OOContent()) { ETaskInfo task = db.DBTaskInfo.Where(a => a.Id == TaskId).FirstOrDefault(); if (task == null || task.RecordStatus == RecordStatus.Blocked) { result.IsSuccess = false; result.ErrorMsg = "任务已无效,请刷新界面再接受任务"; return(result); } //查找状态为【处理中】的订单,如果有则此任务不能接受 EUserTask userTask = db.DBUserTask.Where(a => a.TaskId == TaskId && a.UserId == UserId && a.UserTaskStatus == UserTaskStatus.Process).FirstOrDefault(); if (userTask != null) { result.IsSuccess = false; result.ErrorMsg = "已经有相同的任务在执行"; result.IntMsg = -10; result.resultObj = userTask; return(result); } using (TransactionScope ts = new TransactionScope()) { //用户接受任务 userTask = new EUserTask(); userTask.UserId = UserId; userTask.TaskId = TaskId; userTask.UserTaskStatus = UserTaskStatus.Process; userTask.CreatedTime = DateTime.Now; db.DBUserTask.Add(userTask); db.SaveChanges(); //如果是订单任务,创建任务对应的订单 if (task.TaskType == TaskType.Order) { EUserTaskOrder userTaskOrder = new EUserTaskOrder() { OrderId = StringHelper.GenerateOONo(), Qty = 1, UserTaskId = userTask.Id }; db.DBUserTaskOrder.Add(userTaskOrder); } db.SaveChanges(); ts.Complete(); } result.resultObj = userTask; } } catch (Exception ex) { result.IsSuccess = false; result.ErrorMsg = ex.Message; ErrorToDb(ex.Message); } return(result); }