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()); }
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()); }
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()); }
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()); }
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()); }
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(); }
/// <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); }
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); }
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()); }
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()); }
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)); } }
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)); } }
public abstract Task Handle(T @event, FaultInfo fault);
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)); } }
public IHttpActionResult JsonFaultResult(FaultInfo result, object param) { FaultResult faultResult = new FaultResult(result.Code, result.Message, param.ToString()); return(Ok(faultResult)); }
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)); } }
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)); } }
public abstract Task Handle(T command, FaultInfo fault);
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)); } }
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)); } }
public IHttpActionResult AccessToken(string appId, string randstr, string timestamp, string signature) { Logger.WriterLogger("OAuth.AccessToken, Params: " + string.Format("appId={0}&randstr={1}×tamp={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)); } }
public Task Process(T message, FaultInfo fault) { return(Handle(message, fault)); }