Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
        }