Exemplo n.º 1
0
        public JsonResult UpdateUserLocation(RequestContext <UpdateUserLocationRequest> request)
        {
            RequestHead head = default;

            try
            {
                if (request == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.ParametersIsNotValid_Code));
                }
                if (!CheckAuth(request.Head))
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestHead));
                }
                head = request.Head;
                var response = new Response();
                var success  = userInfoBiz.UpdateUserLocation(request.Head.UId, request.Data.Latitude, request.Data.Longitude);
                if (success)
                {
                    response.ResultCode    = ErrCodeEnum.Success;
                    response.ResultMessage = "更新成功";
                }
                else
                {
                    response.ResultCode    = ErrCodeEnum.Failure;
                    response.ResultMessage = "更新失败";
                }
                return(new JsonResult(response));
            }
            catch (Exception ex)
            {
                return(ErrorJsonResult(ErrCodeEnum.InnerError, head, "UserInfoController.UpdateUserLocation", ex));
            }
        }
Exemplo n.º 2
0
        public JsonResult ServiceDetail(RequestContext <object> request)
        {
            RequestHead head = default;

            try
            {
                if (request == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.ParametersIsNotValid_Code));
                }
                if (!CheckAuth(request.Head))
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestHead));
                }
                head = request.Head;
                if (request.Data == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestBody));
                }
                return(new JsonResult(adminBiz.ServiceDetail(request.Head)));
            }
            catch (Exception ex)
            {
                return(ErrorJsonResult(ErrCodeEnum.InnerError, head, "AdminController.ServiceDetail", ex));
            }
        }
Exemplo n.º 3
0
        public JsonResult AskMomentDetail(RequestContext <AskMomentDetailRequest> request)
        {
            RequestHead head = default;

            try
            {
                if (request == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.ParametersIsNotValid_Code));
                }
                if (!CheckAuth(request.Head))
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestHead));
                }
                head = request.Head;
                if (request.Data == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestBody));
                }
                return(new JsonResult(askBiz.AskMomentDetail(request.Data.ApplyId, request.Head)));
            }
            catch (Exception ex)
            {
                return(ErrorJsonResult(ErrCodeEnum.InnerError, head, "AskController.AskMomentDetail", ex));
            }
        }
Exemplo n.º 4
0
        private static RestRequest CreateRestRequest(RequestHead head, Dictionary <string, object> body)
        {
            //-- Head
            dynamic headData = new ExpandoObject();

            headData.SerialNumber = head.SerialNumber;
            headData.Channel      = head.Channel;
            headData.RequestHost  = head.RequestHost;
            headData.RequestTime  = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            headData.UserId       = head.UserId;

            string headStr  = JsonConvert.SerializeObject(headData);
            string postHead = EncodingHelper.Base64UrlEncode(Encoding.UTF8.GetBytes(headStr));

            //-- Body
            string bodyStr  = JsonConvert.SerializeObject(body);
            string postBody = EncodingHelper.Base64UrlEncode(Encoding.UTF8.GetBytes(bodyStr));

            //-- Post Data
            RestRequest request = new RestRequest(Method.POST);

            request.AddHeader("head", postHead);
            request.AddHeader("Authorization", "Bearer " + head.Authorization);
            request.AddParameter("body", postBody);


            return(request);
        }
Exemplo n.º 5
0
        public JsonResult ShareDetail(RequestContext <ShareDetailRequest> request)
        {
            RequestHead head = default;

            try
            {
                if (request == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.ParametersIsNotValid_Code));
                }
                //不校验Auth
                if (!CheckHead(request.Head))
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestHead));
                }
                head = request.Head;
                if (request.Data == null || request.Data.MomentId == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestBody));
                }
                return(new JsonResult(productBiz.ShareDetail(request.Data.MomentId, request.Head)));
            }
            catch (Exception ex)
            {
                return(ErrorJsonResult(ErrCodeEnum.InnerError, head, "ProductController.ShareDetail", ex));
            }
        }
Exemplo n.º 6
0
 public void ErrorAsync(string title, Exception ex, RequestHead head = null)
 {
     Task.Factory.StartNew(() =>
     {
         Error(title, ex, head);
     });
 }
Exemplo n.º 7
0
        public JsonResult MsgSecCheck(RequestContext <MsgSecCheckRequest> request)
        {
            RequestHead head = default;

            try
            {
                if (request == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.ParametersIsNotValid_Code));
                }
                if (!CheckAuth(request.Head))
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestHead));
                }
                head = request.Head;
                if (request.Data == null || request.Data.TextContent.IsNullOrEmpty())
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestBody));
                }
                var  response = new Response();
                bool msgOk    = AppFactory.Factory(request.Head.Platform).MsgSecCheck(request.Data.TextContent);
                if (!msgOk)
                {
                    response.ResultCode    = ErrCodeEnum.MessageCheckError;
                    response.ResultMessage = ErrCodeEnum.MessageCheckError.ToDescription();
                }
                return(new JsonResult(response));
            }
            catch (Exception ex)
            {
                return(ErrorJsonResult(ErrCodeEnum.InnerError, head, "CommonController.MsgSecCheck", ex));
            }
        }
Exemplo n.º 8
0
        public JsonResult UpdateUserInfo(RequestContext <UpdateUserInfoType> request)
        {
            RequestHead head = default;

            try
            {
                if (request == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.ParametersIsNotValid_Code));
                }
                if (!CheckAuth(request.Head))
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestHead));
                }
                head = request.Head;
                if (request.Data == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestBody));
                }
                return(new JsonResult(userInfoBiz.UpdateUserInfo(request)));
            }
            catch (Exception ex)
            {
                return(ErrorJsonResult(ErrCodeEnum.InnerError, head, "UserInfoController.UpdateUserInfo", ex));
            }
        }
        private static RequestHead GetRequestHeadFromQueryString(Dictionary <string, string> dict)
        {
            string appType;
            string appVersion;
            string apiType;
            string apiVersion;
            string token = string.Empty;

            dict.TryGetValue("apptype", out appType);
            dict.TryGetValue("appversion", out appVersion);
            dict.TryGetValue("apitype", out apiType);
            dict.TryGetValue("apiversion", out apiVersion);

            if (dict.ContainsKey("token"))
            {
                dict.TryGetValue("token", out token);
            }
            else if (dict.ContainsKey("head.token"))
            {
                dict.TryGetValue("head.token", out token);
            }

            RequestHead requestHead = new RequestHead
            {
                AppType    = !string.IsNullOrEmpty(appType) ? int.Parse(appType) : 0,
                AppVersion = appVersion,
                ApiType    = !string.IsNullOrEmpty(apiType) ? int.Parse(apiType) : 0,
                ApiVersion = apiVersion,
                Token      = token,
            };

            return(requestHead);
        }
Exemplo n.º 10
0
        public static void HeadParseSerializeTest(string[] args)
        {
            RequestHeadParser      rParser = new RequestHeadParser();
            ResponseHeadParser     RParser = new ResponseHeadParser();
            RequestHeadSerializer  rSerial = new RequestHeadSerializer();
            ResponseHeadSerializer RSerial = new ResponseHeadSerializer();

            RequestHead rHead = new RequestHead("HTTP/1.1", "GET", "/");

            rHead.Headers["test1"] = "123";
            rHead.Headers["test2"] = "456";

            ResponseHead RHead = new ResponseHead("HTTP/1.1", 200, "OK");

            RHead.Headers["test1"] = "123";
            RHead.Headers["test2"] = "456";

            rSerial.Pipe(rParser);
            RSerial.Pipe(RParser);

            rParser.OnCollect += (head) => Console.WriteLine("request parser:\n{0}", head.Stringify());
            RParser.OnCollect += (head) => Console.WriteLine("response parser:\n{0}", head.Stringify());
            rSerial.OnFail    += () => Console.WriteLine("request serializer failed");
            RSerial.OnFail    += () => Console.WriteLine("response serializer failed");

            rSerial.Write(rHead);
            RSerial.Write(RHead);

            Console.ReadKey();
        }
Exemplo n.º 11
0
        public ResponseContext <UserInfoType> GetUserInfo(RequestHead head, long uId)
        {
            long userId;

            if (uId <= 0)
            {
                userId = head.UId;
            }
            else
            {
                userId = uId;
            }
            var response = new ResponseContext <UserInfoType>();
            var userInfo = GetUserInfoByUid(userId);

            if (userInfo == null)
            {
                response.ResultCode    = ErrCodeEnum.UserNoExist;
                response.ResultMessage = ErrCodeEnum.UserNoExist.ToDescription();
                return(response);
            }
            if (uId <= 0)
            {
                response.Data          = UserInfoBuilder.BuildUserInfoV1(userInfo, head);
                response.Data.NickName = userInfo.NickName;
            }
            else
            {
                response.Data = UserInfoBuilder.BuildUserInfo(userInfo, head, 10);
            }
            return(response);
        }
Exemplo n.º 12
0
        /// <summary>
        /// 获取请求信息
        /// </summary>
        private async Task <CustomRouteData> GetRequestData(HttpRequest request)
        {
            string requestBodyStr = "";

            using (var buffer = new MemoryStream())
            {
                await Request.Body.CopyToAsync(buffer);

                requestBodyStr = Encoding.UTF8.GetString(buffer.ToArray());
            }
            requestBody = requestBodyStr;

            //Get authorization information in the request headers, it needs  send to the micro service.
            authorizationHeadValue = Request.Headers[Const.HEAD_NAME_AUTHORIZATION];

            var requestHeadStr = Request.Headers[Const.HEAD_NAME_ROUTE_INFO];
            var requestHeadDic = HttpHelper.GetFormDictionary(requestHeadStr);

            requestHead = new RequestHead {
                BusinessCode = requestHeadDic["BusinessCode"], Ttl = Convert.ToInt32(requestHeadDic.GetValueOrDefault("Ttl", "0")), Channel = requestHeadDic.GetValueOrDefault("Channel", ""), Version = requestHeadDic.GetValueOrDefault("Version", "")
            };

            CustomRouteData route = routeHelper.GetOptimalRoute(requestHead.BusinessCode, requestHead.Version, requestHead.Channel);

            if (route == null)
            {
                throw new Exception("请求路由不存在");
            }
            return(route);
        }
Exemplo n.º 13
0
 public void WarnAsync(string title, string content, Exception ex = null, RequestHead head = null)
 {
     Task.Factory.StartNew(() =>
     {
         Warn(title, content, ex, head);
     });
 }
Exemplo n.º 14
0
 public void InfoAsync(string title, string content, RequestHead head = null)
 {
     Task.Factory.StartNew(() =>
     {
         Info(title, content, head);
     });
 }
Exemplo n.º 15
0
        public JsonResult Login(RequestContext <LoginRequest> request)
        {
            RequestHead head = default;

            try
            {
                if (request == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.ParametersIsNotValid_Code));
                }
                if (request.Head == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestHead));
                }
                head = request.Head;
                if (request.Data == null || request.Data.Code.IsNullOrEmpty() || request.Head == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestBody));
                }
                return(new JsonResult(userInfoBiz.GetLoginInfoByCode(request.Data.Code, request.Head.Platform)));
            }
            catch (Exception ex)
            {
                return(ErrorJsonResult(ErrCodeEnum.InnerError, head, "UserInfoController.Login", ex));
            }
        }
Exemplo n.º 16
0
        public JsonResult GetUnReadCount(RequestContext <object> request)
        {
            RequestHead head = default;

            try
            {
                if (request == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.ParametersIsNotValid_Code));
                }
                if (!CheckAuth(request.Head))
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestHead));
                }
                head = request.Head;
                if (request.Data == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestBody));
                }
                return(new JsonResult(momentBiz.GetUnReadCount(request.Head)));
            }
            catch (Exception ex)
            {
                return(ErrorJsonResult(ErrCodeEnum.InnerError, head, "MomentController.GetUnReadCount", ex));
            }
        }
Exemplo n.º 17
0
        public JsonResult SpaceMomentList(RequestContext <SpaceMomentListRequest> request)
        {
            RequestHead head = default;

            try
            {
                if (request == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.ParametersIsNotValid_Code));
                }
                if (!CheckAuth(request.Head))
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestHead));
                }
                head = request.Head;
                if (request.Data == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestBody));
                }
                return(new JsonResult(userSpaceBiz.SpaceMomentList(request)));
            }
            catch (Exception ex)
            {
                return(ErrorJsonResult(ErrCodeEnum.InnerError, head, "UserSpaceController.SpaceMomentList", ex));
            }
        }
Exemplo n.º 18
0
        public void RequestEnd2End()
        {
            Request <string, string> request = new Request <string, string>
            {
                ID        = 10086,
                MethodID  = 100,
                ServiceID = 99,
                Arg       = "hello"
            };

            _codec.WriteRequest(request.Arg, request.ID, request.ServiceID, request.MethodID, out ReadOnlyMemory <byte> tmpBuffer);

            ReadOnlySequence <byte> packet = new ReadOnlySequence <byte>(tmpBuffer.ToArray());

            RequestHead head = new RequestHead();

            Assert.True(_codec.TryReadRequestHead(packet, ref head));
            Assert.Equal(request.ID, head.RequestID);
            Assert.Equal(request.ServiceID, head.ServiceID);
            Assert.Equal(request.MethodID, head.MethodID);
            Assert.Equal(packet.Length - Protocol.RequestHeadSize, head.PayloadSize);

            string body = _codec.ReadBody <string>(packet.Slice(Protocol.RequestHeadSize, head.PayloadSize));

            Assert.Equal(request.Arg, body);
        }
Exemplo n.º 19
0
        public JsonResult MyPublishMomentDetail(RequestContext <MyPublishMomentDetailRequest> request)
        {
            RequestHead head = default;

            try
            {
                if (request == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.ParametersIsNotValid_Code));
                }
                if (!CheckAuth(request.Head))
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestHead));
                }
                head = request.Head;
                if (request.Data == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestBody));
                }
                return(new JsonResult(momentBiz.MyPublishMomentDetail(request.Data.MomentId, head)));
            }
            catch (Exception ex)
            {
                return(ErrorJsonResult(ErrCodeEnum.InnerError, head, "MomentController.MyPublishMomentDetailRequest", ex));
            }
        }
Exemplo n.º 20
0
        public JsonResult MomentList(RequestContext <MomentListRequest> request)
        {
            RequestHead head = default;

            try
            {
                if (request == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.ParametersIsNotValid_Code));
                }
                if (!CheckAuth(request.Head))
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestHead));
                }
                head = request.Head;
                if (request.Data == null || request.Data.PageIndex < 0)
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestBody));
                }
                return(new JsonResult(productBiz.MomentList(request)));
            }
            catch (Exception ex)
            {
                return(ErrorJsonResult(ErrCodeEnum.InnerError, head, "ProductController.MomentList", ex));
            }
        }
Exemplo n.º 21
0
        public string test()
        {
            string apiKey    = @"N1iWv9cqnB0kM5gJKmBYu2NtmCC1HSLkmm8JByRSD4E";
            string apiSecret = @"2CGCU3DvYvXxlUz4slvJfvPOQpDO0GtBkDw3aNzug7s";

            RequestBody reqBody = new RequestBody();

            string baseUrl = @"https://api.bitfinex.com";
            string url     = @"/v1/account_infos";

            reqBody.request = url;
            //DateTime d = new DateTime(2017,11,22);
            reqBody.nonce = TimeHelp.GetTimeStamp(DateTime.Now);
            //reqBody.nonce = "1511318188781";

            string payload   = Base64Encode(Encoding.UTF8, JsonConvert.SerializeObject(reqBody, Newtonsoft.Json.Formatting.None));
            string signature = EncryptUtil.HmacSha384(payload, apiSecret);

            RequestHead reqHead = new RequestHead();

            reqHead.apiKey    = apiKey;
            reqHead.payload   = payload;
            reqHead.signature = signature;
            RequestData req = new RequestData();

            req.body = reqBody;
            req.head = reqHead;
            //string postJson = JsonConvert.SerializeObject(req, Newtonsoft.Json.Formatting.None);
            var result = PostFunction(baseUrl + url, req);

            //PostDataToWX(baseUrl + url, req);
            //Request_WebClient(baseUrl + url, req);
            return("");
        }
Exemplo n.º 22
0
        /// <summary>
        /// 请求处理
        /// </summary>
        /// <param name="command">请求指令</param>
        /// <param name="head">请求报文头</param>
        /// <param name="route">最优路由</param>
        /// <param name="body">请求参数</param>
        /// <returns></returns>
        private async Task <string> HandleRequest(string command, RequestHead head, RouteData route, Dictionary <string, object> body)
        {
            string response;
            // 根据请求参数判断是否启用缓存
            // 启用-生成缓存KEY,并尝试读取缓存,成功则返回缓存值,失败则转发请求并更新缓存
            // 不启用-转发请求
            bool isUseCache = CheckUseCache(head.UseCache, route, body);

            if (isUseCache)
            {
                string key        = GeneralCacheKey(command, head.Version, head.System, route, body);
                var    cacheValue = CacheHelper.Get(key);
                if (cacheValue != null)
                {
                    response      = cacheValue;
                    FinalUseCache = true;
                }
                else
                {
                    response = await HttpClient.PostAsync(route.Handle, head, body);

                    CacheHelper.Set(key, response, new TimeSpan(0, 0, route.CacheTime));
                    FinalUseCache = false;
                }
            }
            else
            {
                response = await HttpClient.PostAsync(route.Handle, head, body);

                FinalUseCache = false;
            }

            return(response);
        }
Exemplo n.º 23
0
        public JsonResult AskAction(RequestContext <AskActionRequest> request)
        {
            RequestHead head = default;

            try
            {
                if (request == null)
                {
                    return(ErrorJsonResult(ErrCodeEnum.ParametersIsNotValid_Code));
                }
                if (!CheckAuth(request.Head))
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestHead));
                }
                head = request.Head;
                if (request.Data == null || string.IsNullOrEmpty(request.Data.Action))
                {
                    return(ErrorJsonResult(ErrCodeEnum.InvalidRequestBody));
                }
                return(new JsonResult(askBiz.AskAction(request)));
            }
            catch (Exception ex)
            {
                return(ErrorJsonResult(ErrCodeEnum.InnerError, head, "AskController.AskAction", ex));
            }
        }
Exemplo n.º 24
0
        /// <summary>
        /// 获取请求信息
        /// </summary>
        /// <param name="request"></param>
        private void GetRequestData(Request request)
        {
            //- Head
            var head = request.Form["head"];

            if (head == null)
            {
                throw new Exception("Request head data not exist or format error");
            }
            head     = Encoding.UTF8.GetString(EncryptHelper.Base64Decode(head));
            HeadData = JsonConvert.DeserializeObject <RequestHead>(head);
            if (HeadData == null)
            {
                throw new ArgumentNullException("head", "Request head data not exist");
            }
            if (string.IsNullOrEmpty(HeadData.Command))
            {
                throw new ArgumentNullException("command", "Request command is null or empty");
            }

            //- Body
            var bodyForm = request.Form["body"];

            if (!string.IsNullOrWhiteSpace(bodyForm))
            {
                string key = Settings.GetSignKey(HeadData.Channel);
                bodyForm  = EncryptHelper.DESDecrypt(bodyForm, key);
                bodyForm  = Encoding.UTF8.GetString(EncryptHelper.Base64Decode(bodyForm));
                BodyDatas = JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(bodyForm);
            }

            //- Route
            // Command参数如果不是json数组装换为数组处理
            if (!HeadData.Command.StartsWith("[") && !HeadData.Command.EndsWith("]"))
            {
                HeadData.Command = string.Format("[\"{0}\"]", HeadData.Command);
            }
            string[] cmds = JsonConvert.DeserializeObject <string[]>(HeadData.Command);

            if (BodyDatas != null && cmds.Count() != BodyDatas.Count)
            {
                throw new Exception("Request body number of parameters error");
            }

            Dictionary <string, RouteData> routeDatas = new Dictionary <string, RouteData>();

            foreach (var cmd in cmds)
            {
                RouteData route = RouteHelper.GetOptimalRoute(cmd, HeadData.Version, HeadData.System);
                if (route == null)
                {
                    throw new ArgumentNullException("route", "Route data not exist");
                }

                routeDatas.Add(cmd, route);
            }

            //路由负载
            OptimalRoutes = RouteHelper.RoutingLoadBalance(routeDatas);
        }
Exemplo n.º 25
0
        public ResponseContext <UpdateUserInfoType> GetUserUpdateInfo(RequestHead head)
        {
            var response = new ResponseContext <UpdateUserInfoType>();
            var userInfo = GetUserInfoByUid(head.UId);

            if (userInfo == null || userInfo.Platform != head.Platform)
            {
                response.ResultCode    = ErrCodeEnum.UserNoExist;
                response.ResultMessage = "用户不存在";
                return(response);
            }
            response.Data = new UpdateUserInfoType()
            {
                Portrait   = userInfo.Portrait,
                NickName   = userInfo.NickName,
                Gender     = userInfo.Gender,
                LiveState  = userInfo.LiveState,
                Grade      = userInfo.Grade,
                SchoolName = userInfo.SchoolName ?? "",
                BirthDate  = userInfo.BirthDate.HasValue?userInfo.BirthDate.Value.ToString("yyyy-MM-dd"):"1990-01-01",
                Mobile     = userInfo.Mobile ?? "",
                WeChatNo   = userInfo.WeChatNo ?? "",
                QQNo       = userInfo.QQNo ?? ""
            };
            return(response);
        }
Exemplo n.º 26
0
        protected override void FireConnection(Tcp.Connection connection, RequestHead req, string subprotocol, byte[] trail)
        {
            Connection newConnection = new Connection(connection, req, new Definition.Connection.ServerMode());

            newConnection.SetSubprotocol(subprotocol);
            OnConnection?.Invoke(newConnection);
            newConnection.Initiate(trail);
        }
Exemplo n.º 27
0
 protected bool CheckHead(RequestHead header)
 {
     if (header == null)
     {
         return(false);
     }
     header.TransactionId = Guid.NewGuid();
     return(true);
 }
Exemplo n.º 28
0
        public void Info(string title, string content, RequestHead head = null)
        {
            var entity = GetLogEntity(head);

            entity.LogLevel = LogLevelEnum.Info;
            entity.Title    = title;
            entity.Content  = content;
            logDao.InsertLog(entity);
        }
Exemplo n.º 29
0
        /// <summary>
        /// 获取错误的返回
        /// </summary>
        protected JsonResult ErrorJsonResult(ErrCodeEnum code, RequestHead head = null, string title = null, Exception ex = null)
        {
            if (!string.IsNullOrEmpty(title) || ex != null)
            {
                log.ErrorAsync(title, ex, head);
            }

            return(new JsonResult(new ResponseContext <object>(code, null)));
        }
Exemplo n.º 30
0
        /// <summary>
        /// 获取动态申请列表
        /// </summary>
        /// <param name="momentId">动态Id</param>
        /// <param name="passApply">仅仅查看申请通过数据</param>
        /// <returns></returns>
        public static List <ApplyItem> GetApplyList(Guid momentId, bool isValid, RequestHead head, long momentUId = 0)
        {
            var applyList = applyInfoDao.GetListByMomentId(momentId);

            if (applyList.IsNullOrEmpty())
            {
                return(null);
            }
            if (isValid)
            {
                applyList = applyList.Where(a => a.ApplyState == ApplyStateEnum.申请通过 || a.UId == head.UId || a.MomentUId == head.UId).ToList();
            }
            var resultList = new List <ApplyItem>();

            for (var index = 0; index < applyList.Count; index++)
            {
                var apply    = applyList[index];
                var userInfo = uerInfoBiz.GetUserInfoByUid(apply.UId);
                if (userInfo == null)
                {
                    continue;
                }
                var result = new ApplyItem()
                {
                    ApplyId        = apply.ApplyId,
                    TextColor      = TextColorMap(apply.ApplyState),
                    UserInfo       = UserInfoBuilder.BuildUserInfo(userInfo, head),
                    ShowBorder     = index != applyList.Count - 1,
                    CreateTimeDesc = DateTimeHelper.GetDateDesc(apply.CreateTime, true),
                };
                if (apply.UId == head.UId)
                {
                    result.StateDesc = StateDescMapV1(apply.ApplyState);
                }
                else
                {
                    result.StateDesc = StateDescMap(apply.ApplyState);
                }
                if (!isValid)
                {
                    var applyDetaiList = applyDetailDao.GetListByApplyId(apply.ApplyId);
                    if (applyDetaiList.NotEmpty())
                    {
                        applyDetaiList = applyDetaiList.Where(a => a.UId != momentUId).OrderByDescending(a => a.CreateTime).ToList();
                        if (applyDetaiList.NotEmpty())
                        {
                            result.Content = applyDetaiList[0].Content;
                        }
                    }
                }

                resultList.Add(result);
            }
            return(resultList);
        }
Exemplo n.º 31
0
 public bool login()
 {
     if (this.hasLogin && !this.isTimeout()) {
         return true;
     }
     LoginRequest req = new LoginRequest();
     req.UserName = ELongApiService.USER_PUBLIC;
     req.Password = ELongApiService.PWD_PUBLIC;
     LoginResponse res = elongService.Login(req);
     string rc = res.ResponseHead.ResultCode;
     this.loginTokenExpiredTime = res.LoginTokenExpiredTime;
     this.hasLogin= (rc== ELongApiService.RESULT_CODE_SUCCESS);
     this.requestHead = new RequestHead();
     this.requestHead.LoginToken = res.LoginToken.ToString();
     this.requestHead.Language = "CN";
     return this.hasLogin;
 }