Beispiel #1
0
        public ResponseWrapper <List <GroupEntity> > GetGroupList(string clientId)
        {
            ResponseWrapper <List <GroupEntity> > response = new ResponseWrapper <List <GroupEntity> >();

            if (CacheUtil.Exists(clientId) == false)
            {
                response.ReturnCode   = 0;
                response.Message      = "Login Failed";
                response.InnerMessage = "The client id is expired or does not exists.";
                response.Result       = null;

                return(response);
            }

            var MyQQEntity = (MyQQEntity)CacheUtil.Get(clientId);

            List <GroupEntity> groups = myQQDAL.GetQQGroupsByQQAccount(MyQQEntity.QQAccount);

            response.ReturnCode   = 1;
            response.Message      = "";
            response.InnerMessage = "";
            response.Result       = groups;

            return(response);
        }
Beispiel #2
0
        public ResponseWrapper <List <MessageEntity> > ReceiveMessage(string clientId, string ticks)
        {
            ResponseWrapper <List <MessageEntity> > response = new ResponseWrapper <List <MessageEntity> >();

            if (CacheUtil.Exists(clientId) == false)
            {
                response.ReturnCode   = 0;
                response.Message      = "Login Failed";
                response.InnerMessage = "The client id is expired or does not exists.";
                response.Result       = null;

                return(response);
            }

            DateTime endTime   = new DateTime(long.Parse(ticks));
            DateTime startTime = endTime.AddHours(-12);

            var    MyQQEntity = (MyQQEntity)CacheUtil.Get(clientId);
            string qqAccount  = MyQQEntity.QQAccount;

            List <MessageEntity> messages = myQQDAL.GetMessageList(qqAccount, startTime, endTime);

            response.ReturnCode   = 1;
            response.Message      = "";
            response.InnerMessage = "";
            response.Result       = messages;

            return(response);
        }
Beispiel #3
0
        public async Task <MessageEntity> FileSave()
        {
            var    files    = Request.Form.Files;
            long   size     = files.Sum(f => f.Length);
            string fileName = Request.Form["filename"];

            int fileIndex = 0;

            int.TryParse(Request.Form["fileindex"], out fileIndex);
            LogUtil.Debug($"FileSave开始执行获取数据:{fileIndex}_{size}");
            MessageEntity message = new MessageEntity();

            if (size <= 0 || string.IsNullOrEmpty(fileName))
            {
                message.Code = -1;
                message.Msg  = "文件上传失败";
                return(message);
            }

            if (!CacheUtil.Exists(fileName))
            {
                message.Code = -1;
                message.Msg  = "请重新请求上传文件";
                return(message);
            }

            long   fileSize     = 0;
            string filePath     = $".{AprilConfig.FilePath}{DateTime.Now.ToString("yyyy-MM-dd")}/{fileName}";
            string saveFileName = $"{fileName}_{fileIndex}";
            string dirPath      = Path.Combine(filePath, saveFileName);

            if (!Directory.Exists(filePath))
            {
                Directory.CreateDirectory(filePath);
            }

            foreach (var file in files)
            {
                //如果有文件
                if (file.Length > 0)
                {
                    fileSize = 0;
                    fileSize = file.Length;

                    using (var stream = new FileStream(dirPath, FileMode.OpenOrCreate))
                    {
                        await file.CopyToAsync(stream);
                    }
                }
            }

            message.Code = 0;
            message.Msg  = "";
            return(message);
        }
Beispiel #4
0
        public Stream GetQRCodeImage(string clientId)
        {
            if (CacheUtil.Exists(clientId) == false)
            {
                return(null);
            }

            MyQQEntity myQQEntity = new MyQQEntity();

            myQQEntity.IsInitialized = false;
            myQQEntity.Online        = MyQQEntity.OnlineStatus.None;
            CacheUtil.Update(clientId, myQQEntity);

            return(loginService.GetQRCodeStream());
        }
Beispiel #5
0
        public ResponseWrapper <string> GetAccount(string clientId)
        {
            ResponseWrapper <string> response = new ResponseWrapper <string>();

            if (CacheUtil.Exists(clientId) == false)
            {
                response.ReturnCode   = 0;
                response.Message      = "Login Failed";
                response.InnerMessage = "The client id is expired or does not exists.";
                response.Result       = null;

                return(response);
            }

            var MyQQEntity = (MyQQEntity)CacheUtil.Get(clientId);

            response.ReturnCode   = 1;
            response.Message      = "";
            response.InnerMessage = "";
            response.Result       = MyQQEntity.QQAccount;

            return(response);
        }
Beispiel #6
0
        public ResponseWrapper <List <DicussionGroupMemberEntity> > GetDiscussionMemberList(string clientId, string groupId)
        {
            ResponseWrapper <List <DicussionGroupMemberEntity> > response = new ResponseWrapper <List <DicussionGroupMemberEntity> >();

            if (CacheUtil.Exists(clientId) == false)
            {
                response.ReturnCode   = 0;
                response.Message      = "Login Failed";
                response.InnerMessage = "The client id is expired or does not exists.";
                response.Result       = null;

                return(response);
            }

            List <DicussionGroupMemberEntity> members = myQQDAL.GetQQDicusstionGroupMembersByGroupId(groupId);

            response.ReturnCode   = 1;
            response.Message      = "";
            response.InnerMessage = "";
            response.Result       = members;

            return(response);
        }
Beispiel #7
0
        public ResponseWrapper <LoginEntity> GetQRCodeStatus(string clientId)
        {
            ResponseWrapper <LoginEntity> response = new ResponseWrapper <LoginEntity>();

            if (CacheUtil.Exists(clientId) == false)
            {
                response.ReturnCode   = 0;
                response.Message      = "Login Failed";
                response.InnerMessage = "The client id is expired or does not exists.";
                response.Result       = null;

                return(response);
            }

            LoginEntity loginEntity = new LoginEntity();

            var MyQQEntity = (MyQQEntity)CacheUtil.Get(clientId);

            if (MyQQEntity.Online == Entity.MyQQEntity.OnlineStatus.Processing)
            {
                response.ReturnCode   = 0;
                response.Message      = "";
                response.InnerMessage = "还在确认";

                return(response);
            }

            if (MyQQEntity.Online == Entity.MyQQEntity.OnlineStatus.Logined)
            {
                response.ReturnCode   = 1;
                response.Message      = "";
                response.InnerMessage = "已经确认";

                return(response);
            }

            var result = loginService.CheckQRCodeStatus();

            if (result == null)
            {
                response.ReturnCode   = 0;
                response.Message      = "Login Failed";
                response.InnerMessage = "You might forget to scan QR code first.";
                response.Result       = null;

                MyQQEntity.Online = Entity.MyQQEntity.OnlineStatus.None;
                CacheUtil.Update(clientId, MyQQEntity);

                return(response);
            }

            MyQQEntity.Online = Entity.MyQQEntity.OnlineStatus.Processing;
            CacheUtil.Update(clientId, MyQQEntity);

            loginEntity.StatusCode = result.StatusCode;
            loginEntity.StatusText = result.StatusText;
            response.Result        = loginEntity;

            switch (result.StatusCode)
            {
            case "65":
                response.ReturnCode   = 0;
                response.Message      = "Login Failed";
                response.InnerMessage = "二维码失效";
                MyQQEntity.Online     = Entity.MyQQEntity.OnlineStatus.None;
                break;

            case "66":
                response.ReturnCode   = 0;
                response.Message      = "Login Failed";
                response.InnerMessage = "等待扫描";
                MyQQEntity.Online     = Entity.MyQQEntity.OnlineStatus.None;
                break;

            case "67":
                response.ReturnCode   = 0;
                response.Message      = "Login Failed";
                response.InnerMessage = "等待确认";
                MyQQEntity.Online     = Entity.MyQQEntity.OnlineStatus.None;
                break;

            case "0":
                response.ReturnCode   = 1;
                response.Message      = "";
                response.InnerMessage = "已经确认";
                ProcessLoginRequest(clientId, result.RedirectUrl);
                MyQQEntity.Online = Entity.MyQQEntity.OnlineStatus.Logined;
                break;
            }

            CacheUtil.Update(clientId, MyQQEntity);

            return(response);
        }