public HttpResponseMessage Add(PositionRequest request)
        {
            if (request == null)
            {
                return(null);
            }

            //ConvertBaseRequest(request);
            var positionInfo = new ACT_User_Position
            {
                UserID        = request.UserID,
                Longitude     = request.Longitude,
                Latitude      = request.Latitude,
                IP            = request.IP,
                BottleID      = request.BottleID,
                CreatedUserID = request.UserID,
                UpdateUserID  = request.UserID,
                Province      = request.Province,
                City          = request.City,
                District      = request.District,
                Street        = request.Street,
                StreetNumber  = request.StreetNumber,
                AddressDetail = request.AddressDetail,
            };

            var positionEntity = positionBiz.Add(positionInfo);

            return(EntityToJson(positionEntity));
        }
        // GET: api/UserApi/5
        public HttpResponseMessage QueryByUserId(long userId)
        {
            var sql    = $"SELECT TOP 1 * FROM ACT_User_Position WHERE USERID = {userId} ORDER BY CreatedTime DESC ";
            var result = positionBiz.QueryCustom <ACT_User_Position>(sql);
            ACT_User_Position positionEntity = null;

            if (result != null && result.Any())
            {
                positionEntity = result.FirstOrDefault();
            }
            return(EntityToJson(positionEntity));
        }
Example #3
0
        public HttpResponseMessage ThrowBottle(BottleRequest request)
        {
            if (request == null || string.IsNullOrEmpty(request.BottleDesc))
            {
                return(ErrorToJson("瓶子内容为空,请重试!"));
            }

            //ConvertBaseRequest(request);

            var bottleInfo = new ACT_Bottle
            {
                ThrowUserID   = request.ThrowUserID,
                BottleDesc    = request.BottleDesc,
                CreatedUserID = request.ThrowUserID,
                UpdateUserID  = request.ThrowUserID,
            };

            var bottleEntity = bottleBiz.Add(bottleInfo);

            //异步记录瓶子聊天记录和位置
            Task.Run(() =>
            {
                //插入第一条聊天记录
                var chatInfo = new ACT_ChatRecord
                {
                    ID            = Guid.NewGuid().ToString(),
                    BottleID      = bottleEntity.ID,
                    ChatText      = request.BottleDesc,
                    SenderID      = request.ThrowUserID,
                    Remark        = "扔瓶子时同步聊天记录",
                    CreatedTime   = DateTime.Now,
                    UpdateTime    = DateTime.Now,
                    CreatedUserID = request.ThrowUserID,
                    UpdateUserID  = request.ThrowUserID,
                };
                new ChatRecordBiz().Add(chatInfo);

                var positionInfo = new ACT_User_Position
                {
                    UserID        = request.ThrowUserID,
                    BottleID      = bottleEntity.ID,
                    Longitude     = request.Longitude,
                    Latitude      = request.Latitude,
                    CreatedUserID = request.ThrowUserID,
                    UpdateUserID  = request.ThrowUserID,
                    Province      = request.Province,
                    City          = request.City,
                    District      = request.District,
                    Street        = request.Street,
                    StreetNumber  = request.StreetNumber,
                    AddressDetail = request.AddressDetail,
                };
                new PositionBiz().Add(positionInfo);
            });

            if (bottleEntity == null)
            {
                commonBiz.WriteRequestLog(request.ThrowUserID, (int)EnumModel.LogType.Bottle_Throw, "", "扔瓶子失败");
                return(ErrorToJson("瓶子没扔出去,重新试下吧!"));
            }

            commonBiz.WriteRequestLog(request.ThrowUserID, (int)EnumModel.LogType.Bottle_Throw, bottleEntity.ID.ToString());
            return(EntityToJson(bottleEntity));
        }