public BackMessage FindPassword(string number, string name, string identityNumber, out string newPwd) { BackMessage backMessage = new BackMessage(); var memberInfo = memberInfoRepository.FindEntity(m => m.Number == number && m.PaperNumber == identityNumber && m.Name == name); if (memberInfo == null) { newPwd = null; backMessage.Code = 500; backMessage.Msg = "用户名或姓名或证件号错误!"; backMessage.Data = null; } else { newPwd = new Random().Next(1111111, 999999).ToString().PadLeft(6, '0'); memberInfo.LoginPass = newPwd; if (memberInfoRepository.Update(memberInfo) > 0) { backMessage.Code = 200; backMessage.Msg = "success"; } } return(backMessage); }
private static void AppServerOnNewRequestReceived(ProtobufAppSession session, ProtobufRequestInfo requestInfo) { switch (requestInfo.Type) { case DefeatMessage.Types.Type.BackMessage: Console.WriteLine("BackMessage:{0}", requestInfo.Body.BackMessage.Content); break; case DefeatMessage.Types.Type.CallMessage: Console.WriteLine("CallMessage:{0}", requestInfo.Body.CallMessage.Content); var backMessage = BackMessage.CreateBuilder() .SetContent("Hello I am form C# server by SuperSocket").Build(); var message = DefeatMessage.CreateBuilder() .SetType(DefeatMessage.Types.Type.BackMessage) .SetBackMessage(backMessage).Build(); using (var stream = new MemoryStream()) { CodedOutputStream os = CodedOutputStream.CreateInstance(stream); os.WriteMessageNoTag(message); os.Flush(); byte[] data = stream.ToArray(); session.Send(new ArraySegment <byte>(data)); } break; } }
private void ModifyLoginPwd(string number, string oldPwd, string newPwd, BackMessage backMessage) { var memberInfo = memberInfoRepository.FindEntity(m => m.Number == number && m.LoginPass == oldPwd); if (memberInfo.IsNull()) { backMessage.Code = 500; backMessage.Msg = "原始密码错误!"; } else { memberInfo.LoginPass = EncryptionUtil.MD5(newPwd); if (memberInfoRepository.Update(memberInfo) > 0) { backMessage.Code = 200; backMessage.Msg = "success"; } } }
/// <summary> /// 获取首页数据 /// </summary> /// <returns></returns> public BackMessage GetHomeIndexData() { BackMessage backMessage = new BackMessage(); try { HomeIndexBD homeIndexBD = new HomeIndexBD(); homeIndexBD.Banner = GetBanner() as List <Banner>; homeIndexBD.HomeJBox = GetHomeJBox() as List <HomeJBox>; homeIndexBD.Notice = GetNotice(); homeIndexBD.Products = GetProducts(); homeIndexBD.BottomAd = GetBottomAd() as List <BottomAd>; backMessage.Code = 200; backMessage.Msg = "success"; backMessage.Data = homeIndexBD; return(backMessage); } catch (Exception ex) { throw ex; } }
public JsonResult FindPwd(string phoneNumber, string number, string name, string identityNumber, string validateCode) { string cacheValidateCode = ValidateCodeCache.GetValidateCodeWithExpire(phoneNumber); if (cacheValidateCode.IsNullOrEmpty() || !cacheValidateCode.Equals(validateCode)) { return(CustomResult.ErrorMessage("验证码错误或已失效")); } string newPwd; BackMessage backMessage = settingService.FindPassword(number, name, identityNumber, out newPwd); if (backMessage.Code == 200) { SendMsgService.SendNewPassword(phoneNumber, newPwd); } return(new JsonResult() { Data = backMessage }); }
/// <summary> /// 修改密码 /// </summary> /// <param name="number">会员编号</param> /// <param name="oldPwd">旧密码</param> /// <param name="newPwd">新密码</param> /// <param name="passwordType">密码类型</param> /// <returns></returns> public BackMessage ModifyPassword(string number, string oldPwd, string newPwd, PasswordType passwordType) { oldPwd = EncryptionUtil.MD5(oldPwd); BackMessage backMessage = new BackMessage(); switch (passwordType) { case PasswordType.LoginPassword: ModifyLoginPwd(number, oldPwd, newPwd, backMessage); break; case PasswordType.PaymentPassword: ModifyPaymentPwd(number, oldPwd, newPwd, backMessage); break; } return(backMessage); }
private void OnBackMessageReceived(BackMessage obj) { this.navigationStack.Pop(); ShowView(this.navigationStack.Peek(), false); }
/// <summary> /// 登录 /// </summary> /// <param name="userName">会员编号</param> /// <param name="password">密码</param> /// <returns></returns> public BackMessage Login(string userName, string password) { BackMessage backMessage = new BackMessage(); if (userName.IsNullOrEmpty() || password.IsNullOrEmpty()) { backMessage.Code = 500; backMessage.Msg = ""; backMessage.Data = null; return(backMessage); } #region 登录逻辑SQL StringBuilder sb = new StringBuilder(string.Format(@" declare @systemvalue int; declare @validBlack int; declare @expired int; declare @blackList int; declare @memberState1 int; declare @memberState2 int; declare @limitLogin int; declare @name nvarchar(100); declare @sex int; declare @mobileTele nvarchar(500); declare @paperNumber nvarchar(500); declare @defaultNumber nvarchar(100); DECLARE @bankCard NVARCHAR(20); DECLARE @birthday DATETIME; DECLARE @lastLoginDate DATETIME; DECLARE @levelint INT; DECLARE @realName INT; DECLARE @isPreMember INT; DECLARE @isStore INT; DECLARE @isHealthManageCenter INT; DECLARE @isPartner INT; DECLARE @levelTitle INT; declare @ExceptNum int=(select max(ExpectNum) from config); --获取SystemValue值 select @systemvalue=systemvalue from setsystem where systemname=@systemname; --会员是否已过实名期 Select @validBlack=Count(0) from ValidBlackData where UserGroup=1 and [Status]=1 and UserID=@userCode; --续约是否到期 Select top 1 @expired=(CASE WHEN xuyueType=1 OR DATEDIFF(d,zhifuTime,GETDATE())<=366 THEN 0 ELSE 1 END ) from xuyueTb where isZhifu=1 and number=@userCode order by zhifuTime desc; --禁止登陆黑名单 select @blackList=count(0) from Blacklist where UserID = @userCode; --限制区域登陆 Select top 1 @defaultNumber=Number From MemberInfo Where DefaultNumber = 1; select @limitLogin=count(0) from memberinfo a left join blackgroup b on a.CPCCode=b.groupvalue where grouptype=3 and number=@userCode AND a.Number !=@defaultNumber; --密码验证 select @memberState1=isnull(MemberState,0) from memberinfo where (number=@userCode) and (loginpass=@pwd); --会员已实名,返回1 if((Select Count(0) from CardInfo where MemberCode=@userCode)>0) begin select @realName = 1 end --会员职称达到见习主任(含)以上 else begin declare @postResult int=0 declare @sql nvarchar(500)='select @postResult=level2 from MemberInfoBalance'+convert(nvarchar(10),@ExceptNum) +' where Number=@Number' exec sp_executesql @sql,N'@postResult int output,@Number nvarchar(50)',@postResult output,@userCode --待审核-1,已录入返回-2,退回返回-3,未录入返回-4 declare @recoreResult int=4 Select @recoreResult=ApplyStatus from CardRecord where Number=@userCode and IsCurrent='True'; SELECT @realName = (CASE WHEN DATEDIFF(d,RegisterDate,GETDATE())>93 THEN -@recoreResult ELSE 2 END) FROM dbo.MemberInfo WHERE Number=@userCode; end --是否准会员 SELECT @isPreMember=COUNT(0) FROM HandingCardInfo AS hci JOIN MemberInfo AS mi ON (mi.Number = hci.Number ) WHERE hci.Number=@userCode; --是否服务中心 SELECT @isStore= COUNT(0) FROM StoreInfo si INNER JOIN StoreApplyManage sam ON si.StoreID=sam.StoreID WHERE si.Number=@userCode AND si.StoreState=1 AND sam.ApplyStatus=5 AND sam.IsCurrent='True'; --是否健康管理中心 SELECT @isHealthManageCenter = COUNT(0) FROM StudioApply sa WHERE sa.Number=@userCode AND sa.IsShop IN (1,2) AND sa.YCShopStatus=1; --是否合伙人 SELECT @isPartner = COUNT(0) FROM StorePartner sp WHERE sp.PartnerNumber=@userCode AND sp.PayStatus=1; --获取职称 declare @sql2 nvarchar(500)='select @levelTitle=level2 from MemberInfoBalance'+convert(nvarchar(10),@ExceptNum) +' where Number=@Number' exec sp_executesql @sql2,N'@levelTitle int output,@Number nvarchar(50)',@levelTitle output,@userCode --获取基本信息 SELECT @name=Name,@sex=Sex,@mobileTele=MobileTele,@paperNumber=PaperNumber,@bankCard=BankCard,@birthday=Birthday,@lastLoginDate=LastLoginDate,@levelint=LevelInt FROM dbo.MemberInfo WHERE Number=@userCode; --返回登录验证信息 select @levelint LevelInt, @levelTitle LevelTitle, @isPartner IsPartner, @isHealthManageCenter IsHealthManageCenter, @isPreMember IsPreMember,@isStore IsStore, @realName RealName, @userCode UserCode,@systemvalue SystemValue,@validBlack ValidBlack,@expired Expired,@blackList BlackList, case when @memberState1>=0 then @memberState1 else -1 end --end MemberState,@limitLogin LimitLogin, @name Name,@sex Sex,@mobileTele MobileTele,@paperNumber PaperNumber ,@bankCard BankCard,@birthday Birthday,@lastLoginDate LastLoginDate,@levelint LevelInt; ")); #endregion DbParameter[] parameters = new DbParameter[] { DbParameters.CreateDbParameter("systemname", "H", DbType.String), DbParameters.CreateDbParameter("userCode", userName, DbType.String), DbParameters.CreateDbParameter("pwd", EncryptionUtil.MD5(password), DbType.String), }; var loginInfo = this.BaseRepository().FindList <LoginInfo>(sb.ToString(), parameters).FirstOrDefault(); // IMemberInfoService memberInfoService = new MemberInfoService(); string errMsg; if (ValidateLogin(loginInfo, out errMsg)) { //登录成功后返回token backMessage.Code = 200; backMessage.Msg = "success"; backMessage.Data = new LoginMessage() { Token = JwtUtil.SetJwtEncode(userName), PermissionString = GetHasPermission(loginInfo), LoginInfo = new LoginInfoBD() { IsHealthManageCenter = loginInfo.IsHealthManageCenter > 0 ? 1 : 0, IsPartner = loginInfo.IsPartner, IsPreMember = loginInfo.IsPreMember, IsStore = loginInfo.IsStore, LevelInt = (LevelInt)loginInfo.LevelInt, LevelTitle = (LevelTitle)loginInfo.LevelTitle, Name = loginInfo.Name, UserCode = loginInfo.UserCode, Sex = loginInfo.Sex == 0 ? "女" : "男", ShoppingPv = memberInfoService.GetMemberShoppingPv(userName), ExperiencePv = memberInfoService.GetMemberExperiencePv(userName) } }; } else { backMessage.Code = 500; backMessage.Msg = errMsg; backMessage.Data = null; } return(backMessage); }
/// <summary> /// 注册 /// </summary> /// <param name="welcomeCode"></param> /// <param name="phone"></param> /// <param name="pwd"></param> /// <param name="pwd_md5"></param> /// <param name="code"></param> /// <param name="_user"></param> /// <returns></returns> public BackMessage Register(string pwd, string pwd_md5, string email, out YH_UserModel _user) { _user = null; //注册回调信息 BackMessage msg = new BackMessage(); msg.status = 0; if ("" == pwd || new Regex(@"/[^\x00-\xff]|\s/").IsMatch(pwd)) { msg.message = CultureHelper.GetLangString("LOGIN_PWD_FORMAT");//"密码格式不正确8-20位字母数字组合!"; return(msg); } if (!string.IsNullOrEmpty(email)) { if (!new Regex(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$").IsMatch(email)) { msg.message = CultureHelper.GetLangString("ACCOUNT_USERINFO_ADDRESS_EMAILERROR");//邮箱格式错误 return(msg); } } using (var tx = _database.Db.BeginTransaction()) { try { YH_UserModel user = new YH_UserModel(); user.UserID = HKTHMall.Core.MemCacheFactory.GetCurrentMemCache().Increment("commonId"); //rstatus.uid; //user.Phone = phone; user.PassWord = pwd_md5; user.NickName = SetNickName(); user.Sex = 0; user.RegisterSource = 1; user.UserType = 0; user.ActivePhone = 1; user.IsLock = 0; user.IsDelete = 0; //判断本地UID数据是否存在 var result = GetUserInfoByEmail(email); //YH_UserModel has_uid = GetUserInfoById().Data; if (!result.IsValid) { tx.Rollback(); msg.message = CultureHelper.GetLangString("REGISETR_HADREGISTER");//您输入的手机号码已注册; return(msg); } else { user.Account = email; user.Email = email; user.ActiveEmail = 0; user.ReferrerID = 0; user.ParentID2 = 0; user.ParentID3 = 0; user.ParentIDs = ""; //user.UpdateDT = ; user.RegisterDate = DateTime.Now; //写入本地数据 if (!Add(user).IsValid) { tx.Rollback(); msg.message = CultureHelper.GetLangString("REGISETR_USERREGISTERFAIL"); //会员注册失败; return(msg); } ZJ_UserBalanceModel zj_UserBalanceModel = new ZJ_UserBalanceModel(); zj_UserBalanceModel.UserID = user.UserID; zj_UserBalanceModel.ConsumeBalance = 0; zj_UserBalanceModel.AccountStatus = 1; zj_UserBalanceModel.CreateBy = user.Account; zj_UserBalanceModel.CreateDT = DateTime.Now; zj_UserBalanceModel.UpdateBy = user.Account; zj_UserBalanceModel.UpdateDT = DateTime.Now; if (!new ZJ_UserBalanceService().AddBalance(zj_UserBalanceModel).IsValid) { tx.Rollback(); msg.message = CultureHelper.GetLangString("REGISETR_USERREGISTERFAIL"); //会员注册失败; return(msg); } YH_UserUpdateInfoModel updateInfo = new YH_UserUpdateInfoModel { UserID = user.UserID, TimeStamp = HKTHMall.Services.Common.ConvertsTime.DateTimeToTimeStamp(DateTime.Now) }; if (!new YH_UserUpdateInfoService().Add(updateInfo).IsValid) { tx.Rollback(); msg.message = CultureHelper.GetLangString("REGISETR_USERREGISTERFAIL"); //会员注册失败; return(msg); } _user = new YH_UserModel { UserID = user.UserID, Account = user.Account, NickName = user.NickName, UserType = user.UserType, Email = email }; tx.Commit(); msg.status = 1; msg.message = CultureHelper.GetLangString("REGISETR_USERREGISTERSUCCESS"); //会员注册成功; return(msg); } } catch { tx.Rollback(); msg.message = CultureHelper.GetLangString("REGISETR_USERREGISTERFAIL"); //会员注册失败; return(msg); } } }
private readonly static long companyAccountParamenterID = Convert.ToInt64(ConfigurationManager.AppSettings["companyAccountParamenterID"]); //公司虚拟帐户系统参数ID public void Execute(IJobExecutionContext context) { ExceptionLogModel exceptionLogModel = new ExceptionLogModel(); exceptionLogModel.ServiceName = "会员购物订单返现订单生成服务"; exceptionLogModel.CreateBy = "系统服务"; try { _logger.Error(typeof(BounsJob), "会员购物订单返现订单生成服务开始***********************************"); //订单信息 string sqlOrder = string.Format(@"select OrderID,OrderStatus,DelayDays,OrderAmount,CostAmount,UserID,RefundFlag from [Order] where OrderStatus=5 and RefundFlag in(0,2)"); List <dynamic> sourcesOrder = _database.RunSqlQuery(x => x.ToResultSets(sqlOrder))[0]; List <OderModel> listOrder = sourcesOrder.ToEntity <OderModel>(); //订单跟踪信息 string sqlOrderTrackingLog = string.Format(@"select OrderID,OrderStatus,CreateTime from OrderTrackingLog where OrderID in(select OrderID from [Order] where OrderStatus=5)"); List <dynamic> sourcesOrderTrackingLog = _database.RunSqlQuery(x => x.ToResultSets(sqlOrderTrackingLog))[0]; List <OrderTrackingLogModel> listOrderTrackingLog = sourcesOrderTrackingLog.ToEntity <OrderTrackingLogModel>(); if (listOrder != null && listOrder.Count > 0) { foreach (OderModel orderModel in listOrder) { YH_User currUser = (YH_User)_database.Db.YH_User.FindByUserID(orderModel.UserID); if (currUser != null) { try { #region 订单表状态为已收货OrderStatus=5且退货标示0正常,2已处理(包括成功,失败)RefundFlag in{0,2} if (orderModel.OrderStatus == (int)HKTHMall.Domain.Enum.OrderEnums.OrderStatus.OutTimeReceiving) { var orderLog = listOrderTrackingLog.Find(orderTrackingLog => orderTrackingLog.OrderID == orderModel.OrderID && orderTrackingLog.OrderStatus == orderModel.OrderStatus); if (orderLog != null) { //DateTime endTime = orderLog.CreateTime.AddDays(earningsDays); DateTime endTime = orderLog.CreateTime.AddMinutes(earningsDays); if (endTime < DateTime.Now && orderModel.IsReward == 0) { if (orderModel.RefundFlag != 1) { BackMessage resultModel = _rebateService.GenerateList(orderModel); if (resultModel.status == 1) { _logger.Error(typeof(BounsJob), string.Format("处理订单【{0}】的返现订单生成成功", orderModel.OrderID)); } else { exceptionLogModel.HandleId = orderModel.OrderID; exceptionLogModel.Status = 1; exceptionLogModel.ResultType = 1; exceptionLogModel.Message = string.Format("处理订单【{0}】的会员购物订单返现订单生成失败,", orderModel.OrderID); exceptionLogService.Add(exceptionLogModel); _logger.Error(typeof(BounsJob), string.Format("处理订单【{0}】的会员购物订单返现订单生成失败,", orderModel.OrderID)); } } } } else { exceptionLogModel.HandleId = orderModel.OrderID; exceptionLogModel.Status = 1; exceptionLogModel.ResultType = 1; exceptionLogModel.Message = "订单返现订单生成,订单【" + orderModel.OrderID + "】跟踪信息查询无结果"; exceptionLogService.Add(exceptionLogModel); _logger.Error(typeof(BounsJob), "订单返现订单生成,订单【" + orderModel.OrderID + "】跟踪信息查询无结果"); } } #endregion } catch (Exception ex) { exceptionLogModel.HandleId = orderModel.OrderID; exceptionLogModel.Status = 1; exceptionLogModel.ResultType = 1; exceptionLogModel.Message = "【会员购物订单返现订单生成算法foreach】" + ex.Message; exceptionLogService.Add(exceptionLogModel); _logger.Error(typeof(BounsJob), "【会员购物订单返现订单生成算法foreach】" + ex.Message); } } else { exceptionLogModel.HandleId = orderModel.OrderID; exceptionLogModel.Status = 1; exceptionLogModel.ResultType = 1; exceptionLogModel.Message = string.Format("处理订单【{0}】的订单返现订单生成失败,获取订单用户【{1}】信息失败", orderModel.OrderID, orderModel.UserID); exceptionLogService.Add(exceptionLogModel); _logger.Error(typeof(BounsJob), string.Format("处理订单【{0}】的订单返现订单生成失败,获取订单用户【{1}】信息失败", orderModel.OrderID, orderModel.UserID)); } } } else { _logger.Error(typeof(BounsJob), "【会员购物订单返现订单生成服务】本次未处理任何数据."); } exceptionLogModel.HandleId = "0"; exceptionLogModel.Status = 2; exceptionLogModel.ResultType = 2; exceptionLogModel.Message = "运行正常"; exceptionLogService.Add(exceptionLogModel); _logger.Error(typeof(BounsJob), "会员购物订单返现订单生成服务结束**********************************"); } catch (Exception ex) { exceptionLogModel.HandleId = "0"; exceptionLogModel.Status = 1; exceptionLogModel.ResultType = 1; exceptionLogModel.Message = "【会员购物订单返现订单生成服务运行环节报错】" + ex.Message; exceptionLogService.Add(exceptionLogModel); _logger.Error(typeof(BounsJob), "【会员购物订单返现订单生成服务运行环节报错】" + ex.Message); } }
/// <summary> /// 生成返现订单 /// </summary> /// <returns></returns> public BackMessage GenerateList(OderModel model) { var result = new BackMessage(); result.status = 0; ExceptionLogModel exceptionLogModel = new ExceptionLogModel(); exceptionLogModel.ServiceName = "会员购物订单返现订单生成服务"; exceptionLogModel.CreateBy = "系统服务"; List <OrderDetails> orderDetails = _database.Db.OrderDetails.FindAll(_database.Db.OrderDetails.OrderID == model.OrderID).ToList <OrderDetails>(); int tuiCount = orderDetails.Count(x => x.IsReturn == 2);//是否有退款的订单明细 //if (model.RefundFlag != 0)//存在退款 //{ // orderDetails = orderDetails.FindAll(x => x.IsReturn == 3 || x.IsReturn == 0); //} // orderDetails = orderDetails.FindAll(x => x.IsReturn == 3 || x.IsReturn == 0); if (orderDetails != null) { List <ZJ_RebateInfo> zj_detils = new List <ZJ_RebateInfo>(); if (tuiCount == 0) { foreach (OrderDetails detail in orderDetails) { //商品返现金额= 销售价 * 数量 decimal tmoney = detail.SalesPrice * detail.Quantity; zj_detils.Add(FormartZJ_RebateInfo(tmoney, model, detail)); } } else { List <ReturnProductInfoModel> returnList = GetReturnProductListByOrderId(model.OrderID); foreach (OrderDetails detail in orderDetails) { // int yituiCount = returnList.Count(x => x.OrderDetailsID == detail.OrderDetailsID); ReturnProductInfoModel returndetail = returnList.Where(x => x.OrderDetailsID == detail.OrderDetailsID).FirstOrDefault(); if (returndetail != null) { int num = detail.Quantity - returndetail.ReturntNumber; if (num > 0) { decimal tmoney = detail.SalesPrice * num; //商品返现金额= 销售价 * 数量 zj_detils.Add(FormartZJ_RebateInfo(tmoney, model, detail)); } } else { //商品返现金额= 销售价 * 数量 decimal tmoney = detail.SalesPrice * detail.Quantity; zj_detils.Add(FormartZJ_RebateInfo(tmoney, model, detail)); } } } if (SetCashBackList(model, zj_detils)) { result.status = 1; } } else { exceptionLogModel.HandleId = model.OrderID; exceptionLogModel.Status = 1; exceptionLogModel.ResultType = 1; exceptionLogModel.Message = string.Format("处理订单【{0}】的返现订单生成失败,获取订单详情失败", model.OrderID); exceptionLogService.Add(exceptionLogModel); _logger.Error(typeof(ZJ_RebateService), string.Format("处理订单【{0}】的返现订单生成失败,获取订单详情失败", model.OrderID)); } return(result); }