/// <summary> /// 页面数据初始化 /// </summary> /// <param name="logId"></param> protected void DataInit(string logId) { EyouSoft.Model.TicketStructure.TicketFreightBuyLog model = EyouSoft.BLL.TicketStructure.FreightBuyLog.CreateInstance().GetModel(logId); if (model != null) { this.msg_hide_logId.Value = logId; EyouSoft.Model.TicketStructure.TicketFreightPackageInfo packageModel = EyouSoft.BLL.TicketStructure.FreightPackageInfo.CreateInstance().GetModel(model.PackageId); if (packageModel != null) { this.lbl_msg_name.Text = packageModel.PackageName; this.lbl_msg_air.Text = packageModel.FlightName; this.lbl_msg_count.Text = model.BuyCount.ToString(); this.lbl_msg_begin.Text = model.StartMonth.ToString("yyyy-MM-dd"); this.lbl_msg_end.Text = model.EndMonth.ToString("yyyy-MM-dd"); this.lbl_msg_price.Text = model.SumPrice.ToString("0.00"); switch (model.PackageType) { case EyouSoft.Model.TicketStructure.PackageTypes.常规: this.lbl_msg_type.Text = "常规购买"; break; case EyouSoft.Model.TicketStructure.PackageTypes.套餐: this.lbl_msg_type.Text = "套餐购买"; break; default: this.lbl_msg_type.Text = "促销购买"; break; } if (model.PackageType == EyouSoft.Model.TicketStructure.PackageTypes.常规) { panelHangKong.Visible = false; } } this.lclMsg.Text = "购买运价航线成功,<a href='" + Domain.UserBackCenter + "/ticketscenter/freightmanage/freightadd.aspx" + "' >点此返回机票供应商后台</a>!"; } }
/// <summary> /// 页面数据初始化 /// </summary> /// <param name="logId"></param> protected void DataInit(string logId) { EyouSoft.Model.TicketStructure.TicketFreightBuyLog model = EyouSoft.BLL.TicketStructure.FreightBuyLog.CreateInstance().GetModel(logId); if (model != null) { this.msg_hide_logId.Value = logId; EyouSoft.Model.TicketStructure.TicketFreightPackageInfo packageModel = EyouSoft.BLL.TicketStructure.FreightPackageInfo.CreateInstance().GetModel(model.PackageId); if (packageModel != null) { this.lbl_msg_name.Text = packageModel.PackageName; this.lbl_msg_air.Text = packageModel.FlightName; this.lbl_msg_count.Text = model.BuyCount.ToString(); this.lbl_msg_begin.Text = model.StartMonth.ToString("yyyy-MM-dd"); this.lbl_msg_end.Text = model.EndMonth.ToString("yyyy-MM-dd"); this.lbl_msg_price.Text = model.SumPrice.ToString("0.00"); switch (model.PackageType) { case EyouSoft.Model.TicketStructure.PackageTypes.常规: this.lbl_msg_type.Text = "常规购买"; break; case EyouSoft.Model.TicketStructure.PackageTypes.套餐: this.lbl_msg_type.Text = "套餐购买"; break; default: this.lbl_msg_type.Text = "促销购买"; break; } if (model.PackageType == EyouSoft.Model.TicketStructure.PackageTypes.常规) { panelHangKong.Visible = false; } } } }
/// <summary> /// 根据指定条件分页获取套餐信息列表 /// </summary> /// <param name="pageSize">每页显示天数</param> /// <param name="pageIndex">当前页码</param> /// <param name="recordCount">总记录数</param> /// <param name="PackageType">套餐类型 =null返回全部</param> /// <param name="IsDeleted">是否已删除 =null返回全部</param> /// <returns>套餐信息列表</returns> public virtual IList <EyouSoft.Model.TicketStructure.TicketFreightPackageInfo> GetList(int pageSize, int pageIndex, ref int recordCount, EyouSoft.Model.TicketStructure.PackageTypes?PackageType, bool?IsDeleted) { IList <EyouSoft.Model.TicketStructure.TicketFreightPackageInfo> list = new List <EyouSoft.Model.TicketStructure.TicketFreightPackageInfo>(); #region 分页查询变量 StringBuilder strWhere = new StringBuilder(" 1=1 "); string tableName = "tbl_TicketFreightPackageInfo"; string fields = "[Id],[PackageName],[PackageType],[RateType],[FlightId],[FlightName],[HomeCityId],[DestCityIds],[MonthPrice],[QuarterPrice],[HalfYearPrice],[YearPrice],[IssueTime]"; string primaryKey = "Id"; string orderByString = " id desc"; if (PackageType.HasValue) { strWhere.AppendFormat(" and PackageType={0} ", (int)PackageType.Value); } if (IsDeleted.HasValue) { strWhere.AppendFormat(" and IsDeleted='{0}' ", IsDeleted.Value ? "1" : "0"); } #endregion using (IDataReader dr = DbHelper.ExecuteReader(this._database, pageSize, pageIndex, ref recordCount, tableName, primaryKey, fields, strWhere.ToString(), orderByString)) { while (dr.Read()) { #region 实体赋值 EyouSoft.Model.TicketStructure.TicketFreightPackageInfo model = new EyouSoft.Model.TicketStructure.TicketFreightPackageInfo(); model = new EyouSoft.Model.TicketStructure.TicketFreightPackageInfo(); model.Id = dr.GetInt32(0); model.PackageName = dr.IsDBNull(1) ? string.Empty : dr[1].ToString(); if (!dr.IsDBNull(2)) { model.PackageType = (EyouSoft.Model.TicketStructure.PackageTypes) int.Parse(dr.GetByte(2).ToString()); } if (!dr.IsDBNull(3)) { model.RateType = (EyouSoft.Model.TicketStructure.RateType) int.Parse(dr.GetByte(3).ToString()); } model.FlightId = dr.GetInt32(4); model.FlightName = dr.IsDBNull(5) ? string.Empty : dr[5].ToString(); model.HomeCityId = dr.GetInt32(6); model.DestCityIds = dr.IsDBNull(7) ? string.Empty : dr[7].ToString(); model.MonthPrice = dr.IsDBNull(8) ? 0 : dr.GetDecimal(8); model.QuarterPrice = dr.IsDBNull(9) ? 0 : dr.GetDecimal(9); model.HalfYearPrice = dr.IsDBNull(10) ? 0 : dr.GetDecimal(10); model.YearPrice = dr.IsDBNull(11) ? 0 : dr.GetDecimal(11); model.IssueTime = dr.IsDBNull(12) ? DateTime.MinValue : dr.GetDateTime(12); list.Add(model); model = null; #endregion } } return(list); }
/// <summary> /// 运营后台-添加套餐信息 /// </summary> /// <param name="model">套餐信息实体</param> /// <returns>true:成功 false:失败</returns> public virtual bool Add(EyouSoft.Model.TicketStructure.TicketFreightPackageInfo model) { DbCommand dc = this._database.GetSqlStringCommand(Sql_FreightPackageInfo_INSERT); this._database.AddInParameter(dc, "PackageName", DbType.String, model.PackageName); this._database.AddInParameter(dc, "PackageType", DbType.Int16, (int)model.PackageType); this._database.AddInParameter(dc, "RateType", DbType.Int16, (int)model.RateType); this._database.AddInParameter(dc, "FlightId", DbType.Int32, model.FlightId); this._database.AddInParameter(dc, "FlightName", DbType.String, model.FlightName); this._database.AddInParameter(dc, "HomeCityId", DbType.Int32, model.HomeCityId); this._database.AddInParameter(dc, "DestCityIds", DbType.String, model.DestCityIds); this._database.AddInParameter(dc, "MonthPrice", DbType.Decimal, model.MonthPrice); this._database.AddInParameter(dc, "QuarterPrice", DbType.Decimal, model.QuarterPrice); this._database.AddInParameter(dc, "HalfYearPrice", DbType.Decimal, model.HalfYearPrice); this._database.AddInParameter(dc, "YearPrice", DbType.Decimal, model.YearPrice); this._database.AddInParameter(dc, "IssueTime", DbType.DateTime, DateTime.Now); this._database.AddInParameter(dc, "OperatorId", DbType.Int32, model.OperatorId); this._database.AddInParameter(dc, "IsDeleted", DbType.AnsiStringFixedLength, "1"); return(DbHelper.ExecuteSql(dc, this._database) > 0 ? true : false); }
/// <summary> /// 获取套餐信息实体 /// </summary> /// <param name="Id">套餐主键编号</param> /// <returns>套餐信息实体</returns> public virtual EyouSoft.Model.TicketStructure.TicketFreightPackageInfo GetModel(int Id) { EyouSoft.Model.TicketStructure.TicketFreightPackageInfo model = null; DbCommand dc = this._database.GetSqlStringCommand(Sql_FreightPackageInfo_GETMODEL); this._database.AddInParameter(dc, "Id", DbType.Int32, Id); using (IDataReader dr = DbHelper.ExecuteReader(dc, this._database)) { if (dr.Read()) { model = new EyouSoft.Model.TicketStructure.TicketFreightPackageInfo(); model.Id = dr.GetInt32(0); model.PackageName = dr.IsDBNull(1) ? string.Empty : dr[1].ToString(); if (!dr.IsDBNull(2)) { model.PackageType = (EyouSoft.Model.TicketStructure.PackageTypes) int.Parse(dr.GetByte(2).ToString()); } if (!dr.IsDBNull(3)) { model.RateType = (EyouSoft.Model.TicketStructure.RateType) int.Parse(dr.GetByte(3).ToString()); } model.FlightId = dr.GetInt32(4); model.FlightName = dr.IsDBNull(5) ? string.Empty : dr[5].ToString(); model.HomeCityId = dr.GetInt32(6); model.DestCityIds = dr.IsDBNull(7) ? string.Empty : dr[7].ToString(); model.MonthPrice = dr.IsDBNull(8) ? 0 : dr.GetDecimal(8); model.QuarterPrice = dr.IsDBNull(9) ? 0 : dr.GetDecimal(9); model.HalfYearPrice = dr.IsDBNull(10) ? 0 : dr.GetDecimal(10); model.YearPrice = dr.IsDBNull(11) ? 0 : dr.GetDecimal(11); model.IssueTime = dr.IsDBNull(12) ? DateTime.MinValue : dr.GetDateTime(12); model.OperatorId = dr.GetInt32(13); model.IsDeleted = dr[14].ToString() == "1" ? true : false; } } return(model); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string logId = context.Request.QueryString["logId"]; if (!String.IsNullOrEmpty(logId)) { EyouSoft.Model.TicketStructure.TicketFreightBuyLog model = EyouSoft.BLL.TicketStructure.FreightBuyLog.CreateInstance().GetModel(logId); string url = ""; /* * 常规购买:套餐项目-常规 类型-团队 运价数-19 开始10.1-10.3 * 套餐购买:套餐项目-华东区 类型-团队 航空公司-CA 始发地-上海 目的地-所有 开始10.1-10.3 * 促销购买:套餐项目-华东区 类型-团队 航空公司-CA 始发地-上海 目的地-北京 开始10.1-10.3 */ string batch_no = ""; companyModel = EyouSoft.BLL.CompanyStructure.CompanyInfo.CreateInstance().GetModel(model.CompanyId); string bankType = context.Request.QueryString["bankType"]; if (companyModel == null || String.IsNullOrEmpty(context.Request.QueryString["uid"]) || String.IsNullOrEmpty(bankType)) { context.Response.Write("error"); return; } switch (bankType) { case "ZFB": switch (model.PackageType) { case EyouSoft.Model.TicketStructure.PackageTypes.常规: url = this.GetPayUrlByZFB(model.OrderNo, string.Format("常规购买:套餐项目-{0}、类型-团队、运价数-{1}、开始{2}-{3}", model.PackageName, model.BuyCount.ToString(), model.StartMonth.ToString("yyyy.MM"), model.EndMonth.ToString("yyyy.MM")), "暂无", Utils.GetDecimal((model.SumPrice * 100).ToString("0")) / 100); break; case EyouSoft.Model.TicketStructure.PackageTypes.套餐: url = this.GetPayUrlByZFB(model.OrderNo, string.Format("套餐购买:套餐项目-{0}、类型-团队、航空公司-{1}、始发地-{2}、目的地-{3}、开始{4}-{5}", model.PackageName, model.FlightName, model.HomeCityName, model.DestCityNames, model.StartMonth.ToString("yyyy.MM"), model.EndMonth.ToString("yyyy.MM")), "暂无", Utils.GetDecimal((model.SumPrice * 100).ToString("0")) / 100); break; default: url = this.GetPayUrlByZFB(model.OrderNo, string.Format("促销购买:套餐项目-{0}、类型-团队 航空公司-{1}、始发地-{2}、目的地-{3}、开始{4}-{5}", model.PackageName, model.FlightName, model.HomeCityName, model.DestCityNames, model.StartMonth.ToString("yyyy.MM"), model.EndMonth.ToString("yyyy.MM")), "暂无", Utils.GetDecimal((model.SumPrice * 100).ToString("0")) / 100); break; } EyouSoft.BLL.TicketStructure.FreightBuyLog.CreateInstance().AddTicketPay(model.Id, model.OrderNo, context.Request.QueryString["uid"], companyModel.ID, Utils.GetDecimal((model.SumPrice * 100).ToString("0")) / 100, EyouSoft.Model.TicketStructure.TicketAccountType.支付宝, out batch_no); break; case "CFT": switch (model.PackageType) { case EyouSoft.Model.TicketStructure.PackageTypes.常规: url = this.GetPayUrlByCFT(model.OrderNo, string.Format("常规购买:套餐项目-{0}、类型-团队、运价数-{1}、开始{2}-{3}", model.PackageName, model.BuyCount.ToString(), model.StartMonth.ToString("yyyy.MM"), model.EndMonth.ToString("yyyy.MM")), Utils.GetDecimal((model.SumPrice * 100).ToString("0")), context); break; case EyouSoft.Model.TicketStructure.PackageTypes.套餐: url = this.GetPayUrlByCFT(model.OrderNo, string.Format("套餐购买:套餐项目-{0}、类型-团队、航空公司-{1}、始发地-{2}、目的地-{3}、开始{4}-{5}", model.PackageName, model.FlightName, model.HomeCityName, model.DestCityNames, model.StartMonth.ToString("yyyy.MM"), model.EndMonth.ToString("yyyy.MM")), Utils.GetDecimal((model.SumPrice * 100).ToString("0")), context); break; default: url = this.GetPayUrlByCFT(model.OrderNo, string.Format("促销购买:套餐项目-{0}、类型-团队、航空公司-{1}、始发地-{2}、目的地-{3}、开始{4}-{5}", model.PackageName, model.FlightName, model.HomeCityName, model.DestCityNames, model.StartMonth.ToString("yyyy.MM"), model.EndMonth.ToString("yyyy.MM")), Utils.GetDecimal((model.SumPrice * 100).ToString("0")), context); break; } EyouSoft.BLL.TicketStructure.FreightBuyLog.CreateInstance().AddTicketPay(model.Id, model.OrderNo, context.Request.QueryString["uid"], companyModel.ID, Utils.GetDecimal((model.SumPrice * 100).ToString("0")) / 100, EyouSoft.Model.TicketStructure.TicketAccountType.财付通, out batch_no); break; default: context.Response.Write("error"); return; } if (url != "") { context.Response.Write(url); } else { context.Response.Write("error"); } return; } //购买数 int buyCount = Utils.GetInt(context.Request.QueryString["buyCount"]); //公司ID string companyId = context.Request.QueryString["companyId"]; //开始时间 DateTime?startMonth = Utils.GetDateTimeNullable(context.Request.QueryString["SartDateTime"]); //套餐编号 int packageId = Utils.GetInt(context.Request.QueryString["packageId"]); //购买时间类型 string type = Utils.GetQueryStringValue("type"); //购买类型: cg = 常规 cs = 套餐 + 促销 string p = context.Request.QueryString["p"]; //购买运价类型 2 = 套餐 3 = 促销 string packageType = context.Request.QueryString["packageType"]; if (startMonth == null) { context.Response.Write("error"); return; } if (p != null) { //获得公司信息 companyModel = EyouSoft.BLL.CompanyStructure.CompanyInfo.CreateInstance().GetModel(companyId); if (companyModel == null) { context.Response.Write("error"); return; } //获取购买运价信息 packageModel = EyouSoft.BLL.TicketStructure.FreightPackageInfo.CreateInstance().GetModel(packageId); if (packageModel == null) { context.Response.Write("error"); return; } decimal onePrice = 0.00M; //结束时间计算 DateTime endTime = DateTime.Now; DateTime startDate = Convert.ToDateTime(startMonth); //如果开始日期是本月 if (Convert.ToDateTime(startMonth).Month == DateTime.Now.Month) { //计算当月的剩余天数的比例 int today = Convert.ToDateTime(startMonth).Day; decimal ratio = Decimal.Parse((DateTime.DaysInMonth(startDate.Year, startDate.Month) - today + 1).ToString("0.00")) / Decimal.Parse(Convert.ToDecimal(DateTime.DaysInMonth(startDate.Year, startDate.Month)).ToString("0.00")); switch (type) { case "1": //单价 = 当月剩余天数比率 * 每月价格 onePrice = packageModel.MonthPrice * ratio; endTime = Convert.ToDateTime(startDate.Year + "-" + startDate.Month + "-" + DateTime.DaysInMonth(startDate.Year, startDate.Month)); break; case "2": //单价 = 当月剩余天数比率 * 每月价格 + 其它两月的价格 onePrice = ratio * packageModel.QuarterPrice / 3 + packageModel.QuarterPrice / 3 * 2; endTime = Convert.ToDateTime(startDate.AddMonths(2).Year + "-" + startDate.AddMonths(2).Month + "-" + DateTime.DaysInMonth(startDate.AddMonths(2).Year, startDate.AddMonths(2).Month)); break; default: //单价 = 当月剩余天数比率 * 每月价格 + 其它五月的价格 onePrice = ratio * packageModel.HalfYearPrice / 6 + packageModel.HalfYearPrice / 6 * 5; endTime = Convert.ToDateTime(startDate.AddMonths(5).Year + "-" + startDate.AddMonths(5).Month + "-" + DateTime.DaysInMonth(startDate.AddMonths(5).Year, startDate.AddMonths(5).Month)); break; } } //如果开始日期是大于本月 else { //设置开始日期为每月 1 号 startDate = Convert.ToDateTime(startDate.Year + "-" + startDate.Month + "-01"); switch (type) { case "1": //单价 = 当月剩余天数比率 * 每月价格 onePrice = packageModel.MonthPrice; endTime = Convert.ToDateTime(startDate.Year + "-" + startDate.Month + "-" + DateTime.DaysInMonth(startDate.Year, startDate.Month)); break; case "2": //单价 = 当月剩余天数比率 * 每月价格 + 其它两月的价格 onePrice = packageModel.QuarterPrice; endTime = Convert.ToDateTime(startDate.AddMonths(2).Year + "-" + startDate.AddMonths(2).Month + "-" + DateTime.DaysInMonth(startDate.AddMonths(2).Year, startDate.AddMonths(2).Month)); break; default: //单价 = 当月剩余天数比率 * 每月价格 + 其它五月的价格 onePrice = packageModel.HalfYearPrice; endTime = Convert.ToDateTime(startDate.AddMonths(5).Year + "-" + startDate.AddMonths(5).Month + "-" + DateTime.DaysInMonth(startDate.AddMonths(5).Year, startDate.AddMonths(5).Month)); break; } } if (p == "cg") { if (buyCount == 0 || string.IsNullOrEmpty(companyId) || packageId == 0 || type == "" || string.IsNullOrEmpty(p)) { context.Response.Write("error"); return; } //获得支付总金额 decimal sumPrice = onePrice * buyCount; EyouSoft.Model.TicketStructure.TicketFreightBuyLog model = new EyouSoft.Model.TicketStructure.TicketFreightBuyLog(); model.BuyCount = buyCount; model.BuyTime = DateTime.Now; model.CompanyId = companyId; model.EndMonth = endTime; model.FlightId = packageModel.FlightId; EyouSoft.Model.TicketStructure.TicketFlightCompany flightCompanyModel = EyouSoft.BLL.TicketStructure.TicketFlightCompany.CreateInstance().GetTicketFlightCompany(packageModel.FlightId); if (flightCompanyModel != null) { model.FlightName = flightCompanyModel.AirportName; } if (string.IsNullOrEmpty(model.FlightName)) { model.FlightName = string.Empty; } model.OperatorId = companyModel.ID; model.PackageId = packageId; EyouSoft.Model.TicketStructure.TicketFreightPackageInfo ticketFreightModel = EyouSoft.BLL.TicketStructure.FreightPackageInfo.CreateInstance().GetModel(packageId); if (ticketFreightModel != null) { model.PackageName = ticketFreightModel.PackageName; } model.PackageType = EyouSoft.Model.TicketStructure.PackageTypes.常规; model.PayState = false; model.RateType = EyouSoft.Model.TicketStructure.RateType.团队散拼; model.StartMonth = Convert.ToDateTime(startMonth); model.SumPrice = Utils.GetDecimal((sumPrice * 100).ToString("0")) / 100; bool result = EyouSoft.BLL.TicketStructure.FreightBuyLog.CreateInstance().Add(model); if (result) { context.Response.Write(model.Id); } else { context.Response.Write("error"); } } if (p == "cs") { if (string.IsNullOrEmpty(companyId) || startMonth == null || packageId == 0 || type == "" || string.IsNullOrEmpty(p)) { context.Response.Write("error"); return; } //获得支付总金额 decimal sumPrice = onePrice; EyouSoft.Model.TicketStructure.TicketFreightBuyLog model = new EyouSoft.Model.TicketStructure.TicketFreightBuyLog(); model.BuyCount = buyCount; model.BuyTime = DateTime.Now; model.CompanyId = companyId; model.EndMonth = endTime; model.FlightId = packageModel.FlightId; if (EyouSoft.BLL.TicketStructure.TicketFlightCompany.CreateInstance().GetTicketFlightCompany(packageModel.FlightId) != null) { model.FlightName = EyouSoft.BLL.TicketStructure.TicketFlightCompany.CreateInstance().GetTicketFlightCompany(packageModel.FlightId).AirportName; } model.OperatorId = companyModel.ID; model.PackageId = packageId; model.PackageName = EyouSoft.BLL.TicketStructure.FreightPackageInfo.CreateInstance().GetModel(packageId).PackageName; if (packageType == "2") { model.PackageType = EyouSoft.Model.TicketStructure.PackageTypes.套餐; } else { model.PackageType = EyouSoft.Model.TicketStructure.PackageTypes.促销; } model.PayState = false; model.RateType = EyouSoft.Model.TicketStructure.RateType.团队散拼; model.StartMonth = Convert.ToDateTime(startMonth); model.SumPrice = Utils.GetDecimal((sumPrice * 100).ToString("0")) / 100; model.HomeCityId = packageModel.HomeCityId; model.HomeCityName = GetCityNameById(packageModel.HomeCityId.ToString()); model.DestCityIds = packageModel.DestCityIds; model.DestCityNames = GetCityNameById(packageModel.DestCityIds).Replace('、', ','); bool result = EyouSoft.BLL.TicketStructure.FreightBuyLog.CreateInstance().Add(model); if (result) { context.Response.Write(model.Id); } else { context.Response.Write("error"); } } } }
/// <summary> /// 修改套餐信息 /// </summary> /// <param name="model">运价套餐实体</param> /// <returns>true:成功 false:失败</returns> public bool Update(EyouSoft.Model.TicketStructure.TicketFreightPackageInfo model) { return(idal.Update(model)); }