/// <summary> /// 修改提现密码 /// </summary> /// <param name="pRequest"></param> /// <returns></returns> public string SetWithdrawalPwd(string pRequest) { var rsp = new SuccessResponse <IAPIResponseData>(); var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo; var rp = pRequest.DeserializeJSONTo <APIRequest <SetWithdrawalPwdRP> >(); var customerId = loggingSessionInfo.ClientID; var Oldpwd = rp.Parameters.OldWithdrawalPassword; //提现密码 var NewPwd = rp.Parameters.NewWithdrawalPassword; //新密码 var rd = new SetWithdrawalPwdRD(); var bll = new CustomerBackBLL(loggingSessionInfo); CustomerBackEntity entity = new CustomerBackEntity(); entity.CustomerId = customerId; //客户ID entity.BackStatus = 1; //账户状态 entity.WithdrawalPassword = rp.Parameters.OldWithdrawalPassword; var ds = bll.QueryByEntity(entity, null); if (ds.Length > 0) { entity = (CustomerBackEntity)ds[0]; string strPwd = string.Empty; //密码 if (ds.Length > 0 && ds != null) { strPwd = ds.FirstOrDefault().WithdrawalPassword; if (!string.IsNullOrWhiteSpace(strPwd) && strPwd == Oldpwd) //当数据库中存的密码和输入的密码一样,更新密码 { entity.WithdrawalPassword = NewPwd; entity.MD5Pwd = NewPwd.Trim() + MD5Helper.Encryption(customerId.ToString()).Trim(); entity.CustomerBackId = Guid.Parse(ds.FirstOrDefault().CustomerBackId.ToString()); bll.Update(entity);//更新密码 rsp.ResultCode = 0; rsp.Message = "OK"; return(rsp.ToJSON()); } } } else { rsp.ResultCode = 301; rsp.Message = "提现密码输入错误!请重新输入"; return(rsp.ToJSON()); throw new APIException("提现密码输入错误!") { ErrorCode = 301 }; } return(rsp.ToJSON()); }
/// <summary> /// 更新 /// </summary> /// <param name="pEntity">实体实例</param> /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param> public void Update(CustomerBackEntity pEntity, IDbTransaction pTran) { _currentDAO.Update(pEntity, pTran); }
/// <summary> /// 创建一个新实例 /// </summary> /// <param name="pEntity">实体实例</param> public void Create(CustomerBackEntity pEntity) { _currentDAO.Create(pEntity); }
/// <summary> /// 分页根据实体条件查询实体 /// </summary> /// <param name="pQueryEntity">以实体形式传入的参数</param> /// <param name="pOrderBys">排序组合</param> /// <returns>符合条件的实体集</returns> public PagedQueryResult <CustomerBackEntity> PagedQueryByEntity(CustomerBackEntity pQueryEntity, OrderBy[] pOrderBys, int pPageSize, int pCurrentPageIndex) { return(_currentDAO.PagedQueryByEntity(pQueryEntity, pOrderBys, pPageSize, pCurrentPageIndex)); }
/// <summary> /// 根据实体条件查询实体 /// </summary> /// <param name="pQueryEntity">以实体形式传入的参数</param> /// <param name="pOrderBys">排序组合</param> /// <returns>符合条件的实体集</returns> public CustomerBackEntity[] QueryByEntity(CustomerBackEntity pQueryEntity, OrderBy[] pOrderBys) { return(_currentDAO.QueryByEntity(pQueryEntity, pOrderBys)); }
/// <summary> /// 删除 /// </summary> /// <param name="pEntity"></param> public void Delete(CustomerBackEntity pEntity) { _currentDAO.Delete(pEntity); }
/// <summary> /// 更新 /// </summary> /// <param name="pEntity">实体实例</param> public void Update(CustomerBackEntity pEntity) { _currentDAO.Update(pEntity); }
/// <summary> /// 申请提现 /// </summary> /// <param name="pRequest"></param> /// <returns></returns> public string ApplyForWithdrawal(string pRequest) { var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo; var rd = new ApplyForWithdrawalRD(); var rp = pRequest.DeserializeJSONTo <APIRequest <ApplyForWithdrawalRP> >(); var customerId = loggingSessionInfo.ClientID; //客户ID var WithdrawalAmount = rp.Parameters.WithdrawalAmount; //提现金额 var WithdrawalPassword = rp.Parameters.WithdrawalPassword; //提现密码 var rsp = new SuccessResponse <IAPIResponseData>(); #region 1.根据CustomerID查询当前客户银行信息 CustomerBackBLL BackBLL = new CustomerBackBLL(loggingSessionInfo); CustomerBackEntity BackEntity = new CustomerBackEntity(); BackEntity.CustomerId = customerId; BackEntity.BackStatus = 1; var entityBack = BackBLL.QueryByEntity(BackEntity, null); if (entityBack != null && entityBack.Length > 0) { string Password = entityBack.First().WithdrawalPassword; //提现密码 if (!WithdrawalPassword.ToString().Equals(Password)) { rsp.ResultCode = 303; rsp.Message = "输入密码错误"; return(rsp.ToJSON()); throw new APIException(string.Format("输入密码错误!")) { ErrorCode = 303 }; } else if (Password == "e10adc3949ba59abbe56e057f20f883e") //1.未修改初始密码.跳转到输入密码页面 { rsp.ResultCode = 302; return(rsp.ToJSON()); throw new APIException(string.Format("您的初始密码没有修改。请修改初始密码!")) { ErrorCode = 302 }; } else { string MD5Pwd = WithdrawalPassword.ToString().Trim() + MD5Helper.Encryption(customerId.ToString().Trim()); //MD5密码 if ((Password.ToString().Trim().Equals(WithdrawalPassword.ToString().Trim())) && entityBack.FirstOrDefault() .MD5Pwd.ToString().Trim().Equals(MD5Pwd)) //2.当客户已经修改密码,并且输入的密码和数据库中客户密码一致.并且数据库中MD5的密码规则一样则提现 { #region 根据金额,客户。状态 查询提现主标识 #endregion var bll = new CustomerWithdrawalBLL(loggingSessionInfo); string UserId = loggingSessionInfo.CurrentUser.User_Id; // string strWithdrawalld = bll.GetWithdrawalID(customerId, 20); var tran = bll.GetTran(); try { if (!bll.GetWithdrawalDayByMaxPeriod(customerId)) { rsp.ResultCode = 305; rsp.Message = "没到提现周期。不能提现"; return(rsp.ToJSON()); throw new APIException("没到提现周期。不能提现") { ErrorCode = 305 }; } else { #region 老版本提现。废弃 //#region 1.根据提现主标识更新对应的状态和更新人。 //bll.UpdateWithdrawalStatus(customerId, strWithdrawalld, 30, UserId); //#endregion //#region 2。根据提现主标识,更新订单支付明细的状态和时间 ////提现明细 //CustomerWithdrawalDetailBLL blldetail = new CustomerWithdrawalDetailBLL(loggingSessionInfo); //CustomerOrderPayBLL orderPayBLL = new CustomerOrderPayBLL(loggingSessionInfo); //orderPayBLL.UpdateOrderPayList(strWithdrawalld, customerId, 30, UserId); //#endregion //#region 根据CustomerId 3更新客户可提取的现金金额。已提取的金额累加,当前余额-提取金额 //CustomerAmountBLL amountBLL = new CustomerAmountBLL(loggingSessionInfo); //CustomerAmountEntity amountentity = new CustomerAmountEntity(); //amountentity.CustomerId = customerId;//客户ID //decimal strOutAmount, strWithdrawalAmount, strEndAmount;//已提取金额。可提现金额,当前余额 //var temp = amountBLL.QueryByEntity(amountentity, null); //if (temp.Length > 0) //{ // strOutAmount = Convert.ToDecimal(temp.FirstOrDefault().OutAmount); // strWithdrawalAmount = Convert.ToDecimal(temp.FirstOrDefault().WithdrawalAmount); // strEndAmount = Convert.ToDecimal(temp.FirstOrDefault().EndAmount); // amountentity = temp[0]; // amountentity.WithdrawalAmount = 0;//可提现金额变为0; // amountentity.OutAmount = strOutAmount + rp.Parameters.WithdrawalAmount;//已提取金额累加 // amountentity.EndAmount = strEndAmount - WithdrawalAmount; //余额-提现金额 // amountBLL.Update(amountentity, null); //} //#endregion #endregion int returnValue = bll.getApplyForWithdrawal(customerId, UserId, WithdrawalAmount); if (returnValue == 0) { rsp.ResultCode = 0; rsp.Message = "OK"; return(rsp.ToJSON()); } if (returnValue == 1) { rsp.ResultCode = 306; rsp.Message = "提现失败!"; return(rsp.ToJSON()); } if (returnValue == 304) { rsp.ResultCode = 304; rsp.Message = "没有可提取金额!不能提现"; return(rsp.ToJSON()); throw new APIException("没有可提取金额!不能提现") { ErrorCode = 304 }; } } tran.Commit(); } catch (Exception ex) { tran.Rollback(); throw new APIException(ex.Message); } } } } #endregion rsp = new SuccessResponse <IAPIResponseData>(rd); return(rsp.ToJSON()); }