Esempio n. 1
0
        public override GetUserDetailsResponseBody ExecuteCore()
        {
            GetUserDetailsResponseBody res = new GetUserDetailsResponseBody();

            using (HWLEntities db = new HWLEntities())
            {
                var user = db.t_user.Where(u => u.id == this.request.GetUserId).FirstOrDefault();
                if (user == null)
                {
                    throw new Exception("用户不存在");
                }

                res.UserDetailsInfo = new UserDetailsInfo()
                {
                    Id              = user.id,
                    Name            = user.name,
                    Symbol          = user.symbol,
                    HeadImage       = user.head_image,
                    CircleBackImage = user.circle_back_image,

                    NameRemark = "",
                    //Country = "",
                    //Province = "",
                };


                //获取关系数据
                t_user_friend fmodel = db.t_user_friend.Where(u => u.user_id == this.request.UserId && u.friend_user_id == this.request.GetUserId).FirstOrDefault();
                if (fmodel != null)
                {
                    res.UserDetailsInfo.IsFriend   = true;
                    res.UserDetailsInfo.NameRemark = fmodel.friend_user_remark;
                    //res.UserDetailsInfo.FirstSpell = fmodel.friend_first_spell;
                }
                else
                {
                    res.UserDetailsInfo.IsFriend = false;
                }

                ////获取位置
                //if (user.register_country > 0 && user.register_province > 0 && user.register_city > 0 && user.register_district > 0)
                //{
                //    //获取地址信息
                //    var pos = (from country in db.t_country
                //               join province in db.t_province on country.id equals province.country_id
                //               join city in db.t_city on province.id equals city.province_id
                //               join dist in db.t_district on city.id equals dist.city_id
                //               where country.id == user.register_country && province.id == user.register_province && city.id == user.register_city && dist.id == user.register_district
                //               select new
                //               {
                //                   CountryName = country.name,
                //                   ProvinceName = province.name,
                //                   CityName = city.name,
                //                   DistName = dist.name,
                //               }).FirstOrDefault();
                //    if (pos != null)
                //    {
                //        res.UserDetailsInfo.Country = pos.CountryName;
                //        res.UserDetailsInfo.Province = pos.ProvinceName;
                //    }
                //}

                //if (res.UserDetailsInfo.IsFriend)
                //{
                //    var info = CircleUtility.GetCircleNewInfo(db, this.request.GetUserId);
                //    if (info != null)
                //    {
                //        if (info.Item1)
                //        {
                //            res.UserDetailsInfo.CircleImages = info.Item2;
                //        }
                //        else
                //        {
                //            res.UserDetailsInfo.CircleTexts = info.Item2;
                //        }
                //    }
                //}
            }

            return(res);
        }
Esempio n. 2
0
        public override AddFriendResponseBody ExecuteCore()
        {
            AddFriendResponseBody res = new AddFriendResponseBody()
            {
                Status = ResultStatus.Failed
            };

            var friendUser = db.t_user.Where(u => u.id == this.request.FriendUserId).FirstOrDefault();

            if (friendUser == null)
            {
                throw new Exception("系统中不存在此用户");
            }

            int myFriendCount = db.t_user_friend.Where(u => u.user_id == this.request.MyUserId).Count();//获取我的好友数量

            if (myFriendCount >= AppConfigManager.UserAddFriendTotalCount)
            {
                throw new Exception("您添加的好友达到上限,请清理后再添加");
            }

            DateTime start            = DateTime.Now.Date;
            DateTime end              = DateTime.Now.AddDays(1).Date;
            int      myFriendDayCount = db.t_user_friend.Where(u => u.user_id == this.request.MyUserId && u.add_time > start && u.add_time < end).Count();//获取我今天添加的好友数量

            if (myFriendDayCount >= AppConfigManager.UserAddFriendDayCount)
            {
                throw new Exception("您今天添加的好友已经达到上限");
            }

            var userFriendCount = db.t_user_friend.Where(u => u.user_id == this.request.FriendUserId).Count();//获取添加用户的好友数量

            if (userFriendCount >= AppConfigManager.UserAddFriendTotalCount)
            {
                throw new Exception("您添加的用户所拥有的好友数量达到上限");
            }
            int userFriendDayCount = db.t_user_friend.Where(u => u.user_id == this.request.FriendUserId && u.add_time > start && u.add_time < end).Count();//获取用户今天添加的好友数量

            if (userFriendDayCount >= AppConfigManager.UserAddFriendDayCount)
            {
                throw new Exception("今天添加的好友已经达到上限,请您明天再试");
            }

            //后面添加,检测用户是否已经设置添加好友时是否需要验证,如果不需要验证则直接添加,如果需要则向用户推送验证请求
            var myFriendModel = db.t_user_friend.Where(u => u.user_id == this.request.MyUserId && u.friend_user_id == this.request.FriendUserId).FirstOrDefault();

            if (myFriendModel != null)
            {
                //myFriendModel.friend_user_remark = this.request.FriendUserRemark;
                //myFriendModel.friend_first_spell = UserUtility.GetRemarkFirstSpell(this.request.FriendUserRemark.FirstOrDefault().ToString());
            }
            else
            {
                myFriendModel = new t_user_friend()
                {
                    add_time           = DateTime.Now,
                    user_id            = this.request.MyUserId,
                    friend_user_id     = this.request.FriendUserId,
                    friend_user_remark = this.request.MyRemark,
                    //friend_first_spell = UserUtility.GetRemarkFirstSpell(this.request.FriendUserRemark.FirstOrDefault().ToString())
                };
                db.t_user_friend.Add(myFriendModel);
            }

            var toFriendModel = db.t_user_friend.Where(u => u.user_id == this.request.FriendUserId && u.friend_user_id == this.request.MyUserId).FirstOrDefault();

            if (toFriendModel != null)
            {
                //toFriendModel.friend_user_remark = this.request.FriendUserRemark;
                //toFriendModel.friend_first_spell = UserUtility.GetRemarkFirstSpell(this.request.FriendUserRemark.FirstOrDefault().ToString());
            }
            else
            {
                toFriendModel = new t_user_friend()
                {
                    add_time       = DateTime.Now,
                    user_id        = this.request.FriendUserId,
                    friend_user_id = this.request.MyUserId,
                    //friend_user_remark = this.request.MyRemark,
                    //friend_first_spell = UserUtility.GetRemarkFirstSpell(this.request.MyRemark.FirstOrDefault().ToString())
                };
                db.t_user_friend.Add(toFriendModel);
            }

            db.SaveChanges();
            res.Status     = ResultStatus.Success;
            res.FriendInfo = new Entity.Extends.UserFriendInfo()
            {
                Id         = friendUser.id,
                HeadImage  = friendUser.head_image,
                NameRemark = UserUtility.GetShowName(myFriendModel.friend_user_remark, friendUser.name),
                Country    = db.t_province.Where(p => p.id == friendUser.register_country).Select(p => p.name).FirstOrDefault(),
                Province   = db.t_province.Where(p => p.id == friendUser.register_province).Select(p => p.name).FirstOrDefault(),
                Symbol     = friendUser.symbol,
                Name       = friendUser.name,
            };
            //res.FirstSpell = toFriendModel.friend_first_spell;

            return(res);
        }