Ejemplo n.º 1
0
        private void BuildTask1()
        {
            FaultInfo faultInfo = new FaultInfo("111210", "VC50", DateTime.Now, DateTime.Now);
            Task      newTask   = new Task("100101", "Moodlight can not work when first start it", "Moodlight can not work when first start it", faultInfo, 3);

            AbstractInteraction newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.TicketCheck, "Dave");

            newTask.AddInteraction(newInteraction);
            TaskBuilder.BuildTask(myWorkflowGraph, newTask, "Bob", "Dave", ProcedureStepEunm.TicketCheck.ToString());
        }
Ejemplo n.º 2
0
        private void BuildTask5()
        {
            FaultInfo faultInfo = new FaultInfo("123656", "VC40", DateTime.Now, DateTime.Now);
            Task      newTask   = new Task("100105", "Somewords transient during scaning", "Somewords transient during scaning.", faultInfo, 3);

            AbstractInteraction newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.TicketCheck, "Dave");

            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.PreAnalysis, "Haden");
            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.Solve, "Isaac");
            newTask.AddInteraction(newInteraction);
            TaskBuilder.BuildTask(myWorkflowGraph, newTask, "Clare", "Isaac", ProcedureStepEunm.Solve.ToString());
        }
Ejemplo n.º 3
0
        private void BuildTask4()
        {
            FaultInfo faultInfo = new FaultInfo("123556", "VC40", DateTime.Now, DateTime.Now);
            Task      newTask   = new Task("100104", "ECG lost message can not be cleared.", "ECG lost message can not be cleared.", faultInfo, 2);

            AbstractInteraction newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.TicketCheck, "Dave");

            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.PreAnalysis, "Haden");
            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.Solve, "Isaac");
            newTask.AddInteraction(newInteraction);
            TaskBuilder.BuildTask(myWorkflowGraph, newTask, "Clare", "Isaac", ProcedureStepEunm.Solve.ToString());
        }
Ejemplo n.º 4
0
        private void BuildTask3()
        {
            FaultInfo faultInfo = new FaultInfo("123456", "VC40", DateTime.Now, DateTime.Now);
            Task      newTask   = new Task("100103", "Tilted table position line on tablet differs from ICS", "Tilted table position line on tablet differs from ICS", faultInfo, 3);

            AbstractInteraction newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.TicketCheck, "Dave");

            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.PreAnalysis, "Haden");
            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.Solve, "Isaac");
            newTask.AddInteraction(newInteraction);
            TaskBuilder.BuildTask(myWorkflowGraph, newTask, "Clare", "Isaac", ProcedureStepEunm.Solve.ToString());
        }
Ejemplo n.º 5
0
        private void BuildTask2()
        {
            FaultInfo faultInfo = new FaultInfo("131456", "VC40", DateTime.Now, DateTime.Now);
            Task      newTask   = new Task("100102", "The warning message is not cleared when delete the warning range.", "The warning message is not cleared when delete the warning range.", faultInfo, 3);

            AbstractInteraction newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.TicketCheck, "Dave");

            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.PreAnalysis, "Haden");
            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.Solve, "Isaac");
            newTask.AddInteraction(newInteraction);
            TaskBuilder.BuildTask(myWorkflowGraph, newTask, "Clare", "Isaac", ProcedureStepEunm.Solve.ToString());
        }
Ejemplo n.º 6
0
 public CrashDebuggerInfo(DbgEngine aDebugEngine)
 {
     iDebugEngine     = aDebugEngine;
     iDebugEngineView = aDebugEngine.CreateView("CrashDebugger");
     //
     iTheCurrentProcess = new DProcess(this);
     iTheCurrentThread  = new DThread(this);
     iCodeSegs          = new CodeSegCollection(this);
     iInfoCpu           = new CpuInfo(this);
     iInfoFault         = new FaultInfo(this);
     iInfoScheduler     = new SchedulerInfo(this);
     iInfoDebugMask     = new DebugMaskInfo(this);
     //
     MakeEmptyContainers();
 }
Ejemplo n.º 7
0
        /// <summary>
        /// 将图片Base64String转化成集合
        /// </summary>
        /// <returns>返回故障的记录</returns>
        public static List <FaultInfo> ConvertBase64StringToList(List <PictureBase64String> p64, List <Fault> faultRecords)
        {
            List <FaultInfo> list     = new List <FaultInfo>();
            FaultInfo        info     = new FaultInfo();
            List <string>    listPics = null;

            //join图片和测点信息
            var querys = from p in p64
                         join f in faultRecords on p.PictureID equals f.PictureID
                         select new
            {
                Picture       = p.Picture,
                RecordID      = f.RecordID,
                FaultTypeName = f.FaultTypeName,
                FaultInfo     = f.FaultInfo
            };
            //合并每条记录的信息
            var keys = from query in querys
                       group query by query.RecordID;
            var ks = keys.Count();

            foreach (var key in keys)
            {
                int index = 0;
                listPics = new List <string>();
                foreach (var k in key)
                {
                    if (index++ == 0)
                    {
                        info.FaultTypeName = k.FaultTypeName;
                        info.FaultInfos    = k.FaultInfo;
                    }
                    listPics.Add(k.Picture);
                }
                list.Add(new FaultInfo()
                {
                    listPic       = listPics,
                    FaultTypeName = info.FaultTypeName,
                    FaultInfos    = info.FaultInfos
                });
            }
            return(list);
        }
Ejemplo n.º 8
0
        public int Divide(int x, int y)
        {
            var result = 0;

            try
            {
                result = x / y;
            }
            catch (Exception exception)
            {
                FaultInfo fi = new FaultInfo {
                    Reason = "Division by Zero."
                };
                throw new FaultException <FaultInfo>(fi, new FaultReason(fi.Reason));
                //throw new FaultException(exception.Message);
                Console.WriteLine(exception);
            }

            return(result);
        }
Ejemplo n.º 9
0
        private void BuildTask7()
        {
            FaultInfo faultInfo = new FaultInfo("213656", "VC50", DateTime.Now, DateTime.Now);
            Task      newTask   = new Task("100107", "Exception pops up, by selecting the table position on TouchUI during start/close patient.", "Exception pops up, by selecting the table position on TouchUI during start/close patient..", faultInfo, 3);

            AbstractInteraction newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.TicketCheck, "Dave");

            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.PreAnalysis, "Haden");
            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.Solve, "Isaac");
            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.Evaluate, "Haden");
            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.Regression, "Pol");
            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.Feedback, "Clare");
            newTask.AddInteraction(newInteraction);
            TaskBuilder.BuildTask(myWorkflowGraph, newTask, "Clare", "Clare", ProcedureStepEunm.Feedback.ToString());
        }
Ejemplo n.º 10
0
        private void BuildTask6()
        {
            FaultInfo faultInfo = new FaultInfo("133672", "VC40", DateTime.Now, DateTime.Now);
            Task      newTask   = new Task("100106", "Wrong screen is displayed during general workflow", "Wrong screen is displayed during general workflow.", faultInfo, 1);

            AbstractInteraction newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.TicketCheck, "Dave");

            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.PreAnalysis, "Haden");
            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.Solve, "Jackson");
            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.Evaluate, "Haden");
            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.Regression, "Pol");
            newTask.AddInteraction(newInteraction);
            newInteraction = TaskBuilder.GetInteraction(ProcedureStepEunm.Feedback, "Clare");
            newTask.AddInteraction(newInteraction);
            TaskBuilder.BuildTask(myWorkflowGraph, newTask, "Clare", "Clare", ProcedureStepEunm.Feedback.ToString());
        }
Ejemplo n.º 11
0
        public IHttpActionResult ChangePassword(JObject request)
        {
            Logger.WriterLogger("Account.ChangePassword, Params: " + request.ToString(), LoggerType.Info);

            ParamChangePassword param = new ParamChangePassword();

            try
            {
                try
                {
                    param = request.ToObject <ParamChangePassword>();
                }
                catch
                {
                    //throw new CommonException(40100);
                    return(base.JsonFaultResult(new CommonException(40100).GetMessage(), request.ToString()));
                }

                string accessToken   = param.accessToken;
                string sessionKey    = "";
                string sessionSecret = "";

                // 验证令牌
                int accessTookenCode = VerifyAccessToken(accessToken, out sessionKey, out sessionSecret);
                if (accessTookenCode > 0)
                {
                    return(base.JsonFaultResult(new CommonException(accessTookenCode).GetMessage(), request.ToString()));
                }

                string newPassword = param.NewPassword;
                string password    = param.Password;
                int    channel     = param.channel;
                int    platform    = param.platform;
                string ver         = param.ver;

                // 保存访问信息
                base.SaveVisitInfo(param.UserId, channel, platform, ver);

                //ThrowParamException(username, password);

                string decryptNewPassword = newPassword;
                string decryptPassword    = password;

                if ((platform == 3 && base.AndroidIsEncryption) || (platform == 2 && base.IOSIsEncryption))
                {
                    decryptNewPassword = base.Decrypt(newPassword, sessionKey, sessionSecret);      //TODO 解密
                    decryptPassword    = base.Decrypt(password, sessionKey, sessionSecret);
                }

                string msg = "";


                string sessionId = param.UserId.ToSeesionId();
                int    userId    = 0;

                Member member = base.GetMember(sessionId);

                if (member != null)
                {
                    member.Password = decryptPassword;

                    if (member.ChangePassword(decryptPassword, decryptNewPassword))
                    {
                        long timestamp = long.Parse(DateTime.Now.AddSeconds(USER_CACHE_KEEP_TIME).ToString("yyyyMMddHHmmss"));

                        string authenTicket = SecurityUtil.MD5Encrypt(sessionId + timestamp.ToString() + sessionSecret).ToLower();
                        string authenUserId = sessionId.ToLowerGuid();

                        CacheUserSet(authenUserId, authenTicket, timestamp, userId);

                        StandardResult <RegisterOrLoginResult> okResult = new StandardResult <RegisterOrLoginResult>();
                        okResult.code = 0;
                        okResult.msg  = "修改密码成功";
                        okResult.data = new RegisterOrLoginResult()
                        {
                            DisplayName  = member.Username,
                            AuthenTicket = authenTicket,
                            AuthenUserId = authenUserId,
                            Timestamp    = timestamp
                        };

                        return(base.JsonActionResult(okResult));
                    }

                    return(base.JsonFaultResult(new FaultInfo(40202, "原密码错误"), request.ToString()));
                }
                else
                {
                    return(base.JsonFaultResult(new FaultInfo(40201, "会员信息不存在"), request.ToString()));
                }
            }
            catch (CommonException ex)
            {
                Logger.WriterLogger(ex.GetMessage().Message);
                FaultInfo info = ex.GetMessage();
                return(base.JsonActionResult(info));
            }
        }
Ejemplo n.º 12
0
        public IHttpActionResult Login(JObject request)
        {
            Logger.WriterLogger("Account.Login, Params: " + request.ToString(), LoggerType.Info);

            ParamLogin param = new ParamLogin();

            try
            {
                try
                {
                    param = request.ToObject <ParamLogin>();
                }
                catch
                {
                    //throw new CommonException(40100);
                    return(base.JsonFaultResult(new CommonException(40100).GetMessage(), request.ToString()));
                }

                string accessToken   = param.accessToken;
                string sessionKey    = "";
                string sessionSecret = "";

                // 验证令牌
                int accessTookenCode = VerifyAccessToken(accessToken, out sessionKey, out sessionSecret);
                if (accessTookenCode > 0)
                {
                    return(base.JsonFaultResult(new CommonException(accessTookenCode).GetMessage(), request.ToString()));
                }

                string username = param.username;
                string password = param.password;
                int    channel  = param.channel;
                int    platform = param.platform;
                string ver      = param.ver;

                // 保存访问信息
                base.SaveVisitInfo("", channel, platform, ver);

                //ThrowParamException(username, password);

                string decryptUsername = username;
                string decryptPassword = password;

                if ((platform == 3 && base.AndroidIsEncryption) || (platform == 2 && base.IOSIsEncryption) || (platform == 1 && base.PCIsEncryption))
                {
                    decryptUsername = base.Decrypt(username, sessionKey, sessionSecret);      //TODO 解密
                    decryptPassword = base.Decrypt(password, sessionKey, sessionSecret);
                }

                string msg = "";

                //if (member == null || member.IsAnonymous)
                //{
                //    msg = "用户名或密码错误";
                //}
                //if (member.ParentUserId.HasValue && member.ParentUserId.Value != 0)
                //{
                //    msg = "您不是本站会员,请您进行注册";
                //}

                string sessionId = "";
                int    userId    = 0;

                if (string.IsNullOrEmpty(decryptUsername) || string.IsNullOrEmpty(decryptPassword))
                {
                    return(base.JsonFaultResult(new FaultInfo(40200, "缺少必填参数"), request.ToString()));
                }

                Logger.WriterLogger("开始获取用户信息...");
                Member member = Users.GetUser(0, decryptUsername, false, true) as Member;
                Logger.WriterLogger("获取用户信息成功...");

                if (member == null)
                {
                    return(base.JsonFaultResult(new FaultInfo(40200, "用户名无效"), request.ToString()));
                }

                member.Password = decryptPassword;
                LoginUserStatus loginUserStatus = MemberProcessor.ValidLogin(member);
                if (loginUserStatus != LoginUserStatus.Success)
                {
                    return(base.JsonFaultResult(new FaultInfo(40200, "密码有误"), request.ToString()));
                }

                member.OnLogin();
                sessionId = member.MembershipUser.SessionId;

                Logger.WriterLogger("开始更新SessionId...");
                member.SessionId = UserHelper.UpdateSessionId(member.UserId);
                Logger.WriterLogger("SessionId更新成功...");
                Logger.WriterLogger("开始更新用户信息...");
                Users.UpdateUser(member);
                Logger.WriterLogger("更新用户信息成功...");

                long timestamp = long.Parse(DateTime.Now.AddSeconds(USER_CACHE_KEEP_TIME).ToString("yyyyMMddHHmmss"));

                string authenTicket = SecurityUtil.MD5Encrypt(sessionId + timestamp.ToString() + sessionSecret).ToLower();
                string authenUserId = sessionId.ToLowerGuid();

                CacheUserSet(authenUserId, authenTicket, timestamp, userId);

                StandardResult <RegisterOrLoginResult> okResult = new StandardResult <RegisterOrLoginResult>();
                okResult.code = 0;
                okResult.msg  = "登录成功";
                okResult.data = new RegisterOrLoginResult()
                {
                    DisplayName  = decryptUsername,
                    AuthenTicket = authenTicket,
                    AuthenUserId = authenUserId,
                    Timestamp    = timestamp
                };

                return(base.JsonActionResult(okResult));
            }
            catch (CommonException ex)
            {
                Logger.WriterLogger(ex.GetMessage().Message);
                FaultInfo info = ex.GetMessage();
                return(base.JsonActionResult(info));
            }
        }
Ejemplo n.º 13
0
 public abstract Task Handle(T @event, FaultInfo fault);
Ejemplo n.º 14
0
        public IHttpActionResult ThirdPartyBind(JObject request)
        {
            ParamThirdPartyBind param = new ParamThirdPartyBind();

            try
            {
                try
                {
                    param = request.ToObject <ParamThirdPartyBind>();
                }
                catch
                {
                    //throw new CommonException(40100);
                    return(base.JsonFaultResult(new CommonException(40100).GetMessage(), request.ToString()));
                }

                string accessToken   = param.accessToken;
                string sessionKey    = "";
                string sessionSecret = "";

                // 验证令牌
                int accessTookenCode = VerifyAccessToken(accessToken, out sessionKey, out sessionSecret);
                if (accessTookenCode > 0)
                {
                    return(base.JsonFaultResult(new CommonException(accessTookenCode).GetMessage(), request.ToString()));
                }

                string openIdType = param.OpenIdType;
                string openId     = param.OpenId;

                string nickname = param.Nickname;
                string gender   = param.Gender;
                string avatar   = param.Avatar;
                string country  = param.Country;
                string province = param.Province;
                string city     = param.City;

                int    channel  = param.channel;
                int    platform = param.platform;
                string ver      = param.ver;

                // 保存访问信息
                base.SaveVisitInfo("", channel, platform, ver);

                //ThrowParamException(username, password);

                //如果用户不存在则先创建用户
                IUser user;
                bool  isExists = UserHelper.BindUsersMemberUsersInRoles(openIdType, openId, UserHelper.GenerateSalt(), nickname, avatar, GetProvinceId(province, city, country), new Nullable <int>(), out user);


                Member member = Users.GetUser(0, user.Username, false, true) as Member;

                member.OnLogin();
                string sessionId = member.MembershipUser.SessionId;
                member.SessionId = UserHelper.UpdateSessionId(member.UserId);
                Users.UpdateUser(member);

                long timestamp = long.Parse(DateTime.Now.AddSeconds(USER_CACHE_KEEP_TIME).ToString("yyyyMMddHHmmss"));

                string authenTicket = SecurityUtil.MD5Encrypt(sessionId + timestamp.ToString() + sessionSecret).ToLower();
                string authenUserId = sessionId.ToLowerGuid();

                if ((platform == 2 || platform == 3) && Util.ConvertVer(ver) > 110)
                {
                    if (isExists)
                    {
                        CacheUserSet(authenUserId, authenTicket, timestamp, member.UserId);

                        StandardResult <BindThirdPartyResult> okResult = new StandardResult <BindThirdPartyResult>();
                        okResult.code = 0;
                        okResult.msg  = "登录成功";
                        okResult.data = new BindThirdPartyResult()
                        {
                            DisplayName  = user.Username,
                            AuthenTicket = authenTicket,
                            AuthenUserId = authenUserId,
                            Timestamp    = timestamp,
                            flag         = false,
                            openId       = openId
                        };

                        return(base.JsonActionResult(okResult));
                    }

                    else
                    {
                        StandardResult <BindThirdPartyResult> okResult = new StandardResult <BindThirdPartyResult>();
                        okResult.code = 0;
                        okResult.msg  = "进入跳转界面";
                        okResult.data = new BindThirdPartyResult()
                        {
                            DisplayName  = user.Username,
                            AuthenTicket = authenTicket,
                            AuthenUserId = authenUserId,
                            Timestamp    = timestamp,
                            flag         = true,
                            openId       = openId
                        };

                        return(base.JsonActionResult(okResult));
                    }
                }

                else
                {
                    CacheUserSet(authenUserId, authenTicket, timestamp, member.UserId);

                    StandardResult <RegisterOrLoginResult> okResult = new StandardResult <RegisterOrLoginResult>();
                    okResult.code = 0;
                    okResult.msg  = "登录成功";
                    okResult.data = new RegisterOrLoginResult()
                    {
                        DisplayName  = user.Username,
                        AuthenTicket = authenTicket,
                        AuthenUserId = authenUserId,
                        Timestamp    = timestamp
                    };

                    return(base.JsonActionResult(okResult));
                }
            }
            catch (CommonException ex)
            {
                Logger.WriterLogger(ex.GetMessage().Message);
                FaultInfo info = ex.GetMessage();
                return(base.JsonActionResult(info));
            }
        }
Ejemplo n.º 15
0
        public IHttpActionResult JsonFaultResult(FaultInfo result, object param)
        {
            FaultResult faultResult = new FaultResult(result.Code, result.Message, param.ToString());

            return(Ok(faultResult));
        }
Ejemplo n.º 16
0
        public IHttpActionResult ResetPassword(JObject request)
        {
            Logger.WriterLogger("Account.ResetPassword, Params: " + request.ToString(), LoggerType.Info);

            ParamResetPassword param = new ParamResetPassword();

            try
            {
                try
                {
                    param = request.ToObject <ParamResetPassword>();
                }
                catch
                {
                    //throw new CommonException(40100);
                    return(base.JsonFaultResult(new CommonException(40100).GetMessage(), request.ToString()));
                }

                string accessToken   = param.accessToken;
                string sessionKey    = "";
                string sessionSecret = "";

                // 验证令牌
                int accessTookenCode = VerifyAccessToken(accessToken, out sessionKey, out sessionSecret);
                if (accessTookenCode > 0)
                {
                    return(base.JsonFaultResult(new CommonException(accessTookenCode).GetMessage(), request.ToString()));
                }

                string mobile = param.Mobile;
                //短信验证码
                string code = param.Code;

                if (string.IsNullOrEmpty(mobile))
                {
                    return(base.JsonFaultResult(new FaultInfo(40100, "手机号码为空"), request.ToString()));
                }
                if (!System.Text.RegularExpressions.Regex.IsMatch(mobile, "^(13|14|15|17|18)\\d{9}$"))
                {
                    return(base.JsonFaultResult(new FaultInfo(40100, "请输入正确的手机号码"), request.ToString()));
                }

                string password = param.Password;
                int    channel  = param.channel;
                int    platform = param.platform;
                string ver      = param.ver;

                // 保存访问信息
                base.SaveVisitInfo(param.UserId, channel, platform, ver);

                //ThrowParamException(username, password);
                string passwordSalt = Users.GenerateSalt();

                string decryptPassword = password;
                string decryptCode     = code;

                if ((platform == 3 && base.AndroidIsEncryption) || (platform == 2 && base.IOSIsEncryption))
                {
                    decryptPassword = base.Decrypt(password, sessionKey, sessionSecret);

                    //decryptCode = base.Decrypt(code, sessionKey, sessionSecret);
                }

                Verify verifyto = new TelVerifyDao().GetVerify(mobile, 2);

                if (!(verifyto != null && verifyto.VerifyCode == decryptCode))
                {
                    return(base.JsonFaultResult(new CommonException(40205).GetMessage(), request.ToString()));
                }

                string msg = "";

                string sessionId = param.UserId.ToSeesionId();
                int    userId    = 0;

                Member member = new Member(UserRole.Member);

                if (member.ResetPassword(mobile, decryptPassword, passwordSalt))
                {
                    long timestamp = long.Parse(DateTime.Now.AddSeconds(USER_CACHE_KEEP_TIME).ToString("yyyyMMddHHmmss"));

                    string authenTicket = SecurityUtil.MD5Encrypt(sessionId + timestamp.ToString() + sessionSecret).ToLower();
                    string authenUserId = sessionId.ToLowerGuid();

                    CacheUserSet(authenUserId, authenTicket, timestamp, userId);

                    StandardResult <RegisterOrLoginResult> okResult = new StandardResult <RegisterOrLoginResult>();
                    okResult.code = 0;
                    okResult.msg  = "重置密码成功";
                    okResult.data = new RegisterOrLoginResult()
                    {
                        DisplayName  = member.Username,
                        AuthenTicket = authenTicket,
                        AuthenUserId = authenUserId,
                        Timestamp    = timestamp
                    };

                    return(base.JsonActionResult(okResult));
                }

                return(base.JsonFaultResult(new FaultInfo(40202, msg), request.ToString()));
            }
            catch (CommonException ex)
            {
                Logger.WriterLogger(ex.GetMessage().Message);
                FaultInfo info = ex.GetMessage();
                return(base.JsonActionResult(info));
            }
        }
Ejemplo n.º 17
0
        public IHttpActionResult TicketRefresh(JObject request)
        {
            Logger.WriterLogger("Account.TicketRefresh, Params: " + request.ToString(), LoggerType.Info);

            ParamTicketRefresh param = new ParamTicketRefresh();

            try
            {
                try
                {
                    param = request.ToObject <ParamTicketRefresh>();
                }
                catch
                {
                    //throw new CommonException(40100);
                    return(base.JsonFaultResult(new CommonException(40100).GetMessage(), request.ToString()));
                }

                string accessToken   = param.accessToken;
                string sessionKey    = "";
                string sessionSecret = "";

                // 验证令牌
                int accessTookenCode = VerifyAccessToken(accessToken, out sessionKey, out sessionSecret);
                if (accessTookenCode > 0)
                {
                    return(base.JsonFaultResult(new CommonException(accessTookenCode).GetMessage(), request.ToString()));
                }

                string signature = param.Signature;
                string timespan  = param.Timestamp;
                string ticket    = param.Ticket;
                int    channel   = param.channel;
                int    platform  = param.platform;
                string ver       = param.ver;

                // 保存访问信息
                base.SaveVisitInfo(param.UserId, channel, platform, ver);

                //ThrowParamException(username, password);

                string v = Utility.SecurityUtil.MD5Encrypt(param.UserId + timespan + sessionSecret);

                if (signature.ToLower() == v.ToLower())
                {
                    long timestamp = long.Parse(DateTime.Now.AddSeconds(USER_CACHE_KEEP_TIME).ToString("yyyyMMddHHmmss"));

                    string authenTicket = SecurityUtil.MD5Encrypt(param.UserId + timestamp.ToString() + sessionSecret).ToLower();
                    string authenUserId = param.UserId;
                    int    userId       = GetUserId(param.UserId);

                    CacheUserSet(authenUserId, authenTicket, timestamp, userId);

                    string displayName = "";
                    Member member      = base.GetMember(param.UserId.ToSeesionId());

                    if (member != null)
                    {
                        displayName = member.Username;
                    }

                    StandardResult <RegisterOrLoginResult> okResult = new StandardResult <RegisterOrLoginResult>();
                    okResult.code = 0;
                    okResult.msg  = "登录成功";
                    okResult.data = new RegisterOrLoginResult()
                    {
                        DisplayName  = displayName,
                        AuthenTicket = authenTicket,
                        AuthenUserId = authenUserId,
                        Timestamp    = timestamp
                    };

                    return(base.JsonActionResult(okResult));
                }

                return(base.JsonFaultResult(new CommonException(40203).GetMessage(), request.ToString()));
            }
            catch (CommonException ex)
            {
                Logger.WriterLogger(ex.GetMessage().Message);
                FaultInfo info = ex.GetMessage();
                return(base.JsonActionResult(info));
            }
        }
Ejemplo n.º 18
0
 public abstract Task Handle(T command, FaultInfo fault);
Ejemplo n.º 19
0
        public IHttpActionResult ThirdAccountBindOperate(JObject request)
        {
            ThirdAccountBind param = new ThirdAccountBind();

            try
            {
                try
                {
                    param = request.ToObject <ThirdAccountBind>();
                }
                catch
                {
                    return(base.JsonFaultResult(new CommonException(40100).GetMessage(), request.ToString()));
                }

                string accessToken   = param.accessToken;
                string sessionKey    = "";
                string sessionSecret = "";

                // 验证令牌
                int accessTookenCode = VerifyAccessToken(accessToken, out sessionKey, out sessionSecret);
                if (accessTookenCode > 0)
                {
                    return(base.JsonFaultResult(new CommonException(accessTookenCode).GetMessage(), request.ToString()));
                }

                string openIdType = param.OpenIdType;
                string openId     = param.OpenId;

                string cellPhone     = param.CellPhone;
                string code          = param.Code;
                string password      = param.Password;
                string ver           = param.ver;
                string recemmendCode = param.RecemmendCode;

                StandardResult <RegisterOrLoginResult> okResult = new StandardResult <RegisterOrLoginResult>();
                // 验证手机号码是否存在
                if (UserHelper.IsExistUserName(cellPhone))
                {
                    okResult.code = 3;
                    okResult.msg  = "该手机号码已经存在,不能再绑定";
                    return(base.JsonActionResult(okResult));
                }
                // 验证码验证
                Verify verifyto = new TelVerifyDao().GetVerify(cellPhone, 1);
                if (!(verifyto != null && verifyto.VerifyCode == code))
                {
                    okResult.code = 4;
                    okResult.msg  = "验证码验证失败";
                    return(base.JsonActionResult(okResult));
                }
                // 获取当前注册用户
                //this.openId = this.Page.Request.QueryString["sessionId"];
                Member member = null;
                if (!string.IsNullOrEmpty(openId))
                {
                    member = (Users.GetUserByOpenId(openId) as Member);
                }

                //判断邀请码是否存在
                if (!string.IsNullOrWhiteSpace(recemmendCode))
                {
                    if (!MemberHelper.IsExsitRecommendCode(recemmendCode.Trim().ToUpper(), member.UserId))
                    {
                        okResult.code = 5;
                        okResult.msg  = "邀请码错误,请填写正确的邀请码或者选择不填";
                        return(base.JsonActionResult(okResult));
                    }
                }


                member.Username  = cellPhone;
                member.Password  = password;
                member.CellPhone = cellPhone;
                bool isSendCoupon = false;
                if (MemberHelper.UpdateUserNameCoupon(member, recemmendCode.Trim().ToUpper(), out isSendCoupon))
                {
                    okResult.code = 1;
                    if (isSendCoupon)
                    {
                        okResult.msg = "绑定成功,恭喜您,50元现金券已经打到您的海美账户了,现在就去购物吧!";
                    }
                    else
                    {
                        okResult.msg = "绑定成功";
                    }
                }
                else
                {
                    okResult.code = 2;
                    okResult.msg  = "绑定失败";
                }

                return(base.JsonActionResult(okResult));
            }
            catch (CommonException ex)
            {
                Logger.WriterLogger(ex.GetMessage().Message);
                FaultInfo info = ex.GetMessage();
                return(base.JsonActionResult(info));
            }
        }
Ejemplo n.º 20
0
        public IHttpActionResult EditTradePassword(JObject request)
        {
            Logger.WriterLogger("Referral.EditTradePassword, Params: " + request.ToString(), LoggerType.Info);

            ParamEditTradePassword param = new ParamEditTradePassword();

            try
            {
                try
                {
                    param = request.ToObject <ParamEditTradePassword>();
                }
                catch
                {
                    return(base.JsonFaultResult(new CommonException(40100).GetMessage(), request.ToString()));
                }

                string accessToken   = param.accessToken;
                string sessionKey    = "";
                string sessionSecret = "";

                // 验证令牌
                int accessTookenCode = VerifyAccessToken(accessToken, out sessionKey, out sessionSecret);
                if (accessTookenCode > 0)
                {
                    return(base.JsonFaultResult(new CommonException(accessTookenCode).GetMessage(), request.ToString()));
                }


                string oldpassword = param.OldTradePassword;
                string newpassword = param.NewTradePassword;
                int    channel     = param.channel;
                int    platform    = param.platform;
                string ver         = param.ver;

                // 保存访问信息
                base.SaveVisitInfo(param.UserId, channel, platform, ver);

                string decryptOldPassword = oldpassword;
                string decryptNewPassword = newpassword;

                if ((platform == 3 && base.AndroidIsEncryption) || (platform == 2 && base.IOSIsEncryption))
                {
                    decryptOldPassword = base.Decrypt(oldpassword, sessionKey, sessionSecret);//TODO 解密

                    decryptNewPassword = base.Decrypt(newpassword, sessionKey, sessionSecret);
                }

                Logger.WriterLogger("Referral.EditTradePassword," + decryptOldPassword + "," + decryptNewPassword);


                string sessionId = param.UserId.ToSeesionId();

                Member member = base.GetMember(sessionId, false);

                if (member != null)
                {
                    if (!member.IsOpenBalance)
                    {
                        return(base.JsonActionResult(new StandardResult <string>()
                        {
                            code = 1,
                            msg = "你还未设置过交易密码",
                            data = null
                        }));
                    }
                    if (member.ChangeTradePassword(decryptOldPassword, decryptNewPassword))
                    {
                        return(base.JsonActionResult(new StandardResult <string>()
                        {
                            code = 0,
                            msg = "修改交易密码成功",
                            data = null
                        }));
                    }

                    else
                    {
                        return(base.JsonActionResult(new StandardResult <string>()
                        {
                            code = 2,
                            msg = "旧密码错误",
                            data = null
                        }));
                    }
                }
                else
                {
                    return(base.JsonFaultResult(new FaultInfo(40201, "会员信息不存在"), request.ToString()));
                }
            }
            catch (CommonException ex)
            {
                Logger.WriterLogger(ex.GetMessage().Message);
                FaultInfo info = ex.GetMessage();
                return(base.JsonActionResult(info));
            }
        }
Ejemplo n.º 21
0
        public IHttpActionResult AccessToken(string appId, string randstr, string timestamp, string signature)
        {
            Logger.WriterLogger("OAuth.AccessToken, Params: " + string.Format("appId={0}&randstr={1}&timestamp={2}&signature={3}", appId, randstr, timestamp, signature), LoggerType.Info);

            string appSecret = "";

            if (string.IsNullOrWhiteSpace(appId))
            {
                return(base.JsonFaultResult(new CommonException(40001).GetMessage(), appId));
            }

            try
            {
                // 获取密钥
                OAuthInfo oauth = null;

                try
                {
                    oauth = oAuthDao.GetOAuthInfo(appId);

                    appSecret = oauth.AppSecret;
                }
                catch (Exception ex)
                {
                    Logger.WriterLogger("OAuth.AccessToken", ex, LoggerType.Error);
                }


                if (oauth == null)
                {
                    return(base.JsonFaultResult(new CommonException(40002).GetMessage(), appId));
                }

                string mySignature = SecurityUtil.MD5Encrypt(randstr + appSecret + timestamp).ToLower();

                if (signature.ToLower() != mySignature)
                {
                    return(base.JsonFaultResult(new CommonException(40005).GetMessage(), appId));
                }

                DateTime issueDateUtc  = DateTime.UtcNow;
                DateTime expirationUtc = issueDateUtc.AddHours(8);

                string userKey = string.Format("{0},{1},{2}", oauth.Id, oauth.AppId, expirationUtc.ToFileTimeUtc());

                string accessToken = Common.DESCrypt.Encrypt(userKey, oauth.AppSecret);

                string sessionKey    = SecurityUtil.MD5Encrypt(Guid.NewGuid().ToString()).ToLower();
                string sessionSecret = SecurityUtil.MD5Encrypt(Guid.NewGuid().ToString()).ToLower();

                CacheSet(appId, accessToken, expirationUtc, oauth.Id, sessionKey, sessionSecret, appSecret);

                oauth.IssueDateUtc  = issueDateUtc;
                oauth.ExpirationUtc = expirationUtc;
                oauth.Token         = accessToken;
                oauth.SessionKey    = sessionKey;
                oauth.SessionSecret = sessionSecret;

                try
                {
                    oAuthDao.Update(oauth);
                }
                catch (Exception ex)
                {
                    Logger.WriterLogger("OAuth.AccessToken", ex, LoggerType.Error);
                }

                AccessTokenResult tokenResult = new AccessTokenResult();
                tokenResult.AccessToken   = accessToken;
                tokenResult.ExpiresIn     = 8 * 60 * 60;
                tokenResult.SessionKey    = sessionKey;
                tokenResult.SessionSecret = sessionSecret;

                StandardResult <AccessTokenResult> result = new StandardResult <AccessTokenResult>()
                {
                    code = 0,
                    msg  = "",
                    data = tokenResult
                };

                return(base.JsonActionResult(result));
            }
            catch (CommonException ex)
            {
                FaultInfo info = ex.GetMessage();
                return(base.JsonActionResult(info));
            }
        }
Ejemplo n.º 22
0
 public Task Process(T message, FaultInfo fault)
 {
     return(Handle(message, fault));
 }