Ejemplo n.º 1
0
        //{
        //    "UserId": 33,
        //    "LastGroupGuid": null,
        //    "Country": "中国",
        //    "Province": "上海市",
        //    "City": "上海市",
        //    "District": "闵行区",
        //    "Town": "浦锦街道",
        //    "Street": "联航路",
        //    "Details": "中国上海市闵行区浦锦街道联航路",
        //    "Latitude": 31.0718173980713,
        //    "Longitude": 121.499031066895
        //}

        public override SetUserPosResponseBody ExecuteCore()
        {
            //LogHelper.Debug($"UserId:{request.UserId},LastGroupGuid:{request.LastGroupGuid},Details:{request.Details},Lat:{request.Latitude},Lon:{request.Longitude}", typeof(SetUserPos));

            t_user_pos upos = this.SavePos();

            if (upos == null)
            {
                return(new SetUserPosResponseBody()
                {
                    Status = ResultStatus.Failed,
                    ErrorMessage = "Save pos info failed for current user."
                });
            }

            if (!UserStore.SavePos(upos.user_id, upos.lon, upos.lat))
            {
                return(new SetUserPosResponseBody()
                {
                    Status = ResultStatus.Failed,
                    ErrorMessage = "Save user info failed by lon and lat."
                });
            }

            string groupGuid           = this.GetNearGroupGuid(upos);
            SetUserPosResponseBody res = new SetUserPosResponseBody()
            {
                Status         = ResultStatus.Success,
                UserPosId      = upos.id,
                UserGroupGuid  = groupGuid,
                GroupUserInfos = GetGroupUsers(groupGuid)
            };

            //LogHelper.Debug($"CurrentGroupGuid:{groupGuid},LastGroupGuid:{request.LastGroupGuid},GroupUserCount:{res.GroupUserInfos?.Count}", typeof(SetUserPos));

            if (!isExistInGroup)
            {
                ImUserContent user = res.GroupUserInfos?.Where(g => g.UserId == request.UserId).Select(g => new ImUserContent
                {
                    UserId    = (ulong)g.UserId,
                    UserName  = g.UserName,
                    UserImage = g.UserImage,
                }).FirstOrDefault();
                if (user != null)
                {
                    IMClientV.INSTANCE.SendSystemMessage(user, groupGuid, getNearDesc());
                }
            }

            return(res);
        }
Ejemplo n.º 2
0
 public SystemMessageSend(ImUserContent toUser, string groupGuid, string groupName)
 {
     this.toUser      = toUser;
     this.toGroupGuid = groupGuid;
     this.groupName   = groupName;
 }
Ejemplo n.º 3
0
        public void SendSystemMessage(ImUserContent toUser, string toGroupGuid, string toGroupName)
        {
            checkConnect();

            im.send(new SystemMessageSend(toUser, toGroupGuid, toGroupName));
        }