/// <summary> /// 发送消息给酒店 /// </summary> /// <param name="order"></param> /// <param name="hotel"></param> private void SendMsg(Model.wx_hotel_dingdan order, wx_hotels_info hotel) { BLL.wx_hotel_admin dBll = new BLL.wx_hotel_admin(); Model.wx_hotel_admin hotelAdmin = null; var users = dBll.GetModelList(String.Format(" HotelId={0}", order.hotelid)); hotelAdmin = users.FirstOrDefault(); if (hotelAdmin != null) { var msg = new ShortMsgDto() { Title = "订单管理", Content = String.Format("订单编号为{0}的订单需订购{1}至{2}{3}{4}间,请您确认是否接受!", order.OrderNumber, order.arriveTime.Value.ToString("yyyy/MM/dd"), order.leaveTime.Value.ToString("yyyy/MM/dd"), order.roomType, order.orderNum ), Type = "HotelOrder", MenuType = "hotel_room", IsShowButton = true, ButtonText = "马上去处理", ButtonUrl = String.Format("/admin/hotel/hotel_dingdan_cz.aspx?id={0}&hotelid={1}", order.id, order.hotelid), ButtonMutipleUrl = "/admin/hotel/hotel_dingdan_manage.aspx", FromUserId = order.openid, ToUserId = hotelAdmin.ManagerId.ToString(), MsgToUserType = MsgUserType.Hotel, MsgFromUserType = MsgUserType.WeChatCustomer }; _shortMsgService.SendMsg(msg); } }
/// <summary> /// /// </summary> /// <param name="dingdanbll"></param> /// <param name="jsonDict"></param> /// <param name="context"></param> private void GetPayUrl(wx_hotel_dingdan dingdanbll, HttpContext context) { int ddid = MyCommFun.RequestInt("dingdanidnum"); if (ddid > 0) { var dingdan = dingdanbll.GetModel(ddid); if (dingdan != null) { Model.wx_hotels_info hotelInfo = new wx_hotels_info(); int wid = 0; if (dingdan.hotelid != null) { hotelInfo = new BLL.wx_hotels_info().GetModel(dingdan.hotelid.Value); if (hotelInfo.wid != null) { wid = hotelInfo.wid.Value; } } //总花费 var dateSpan = dingdan.leaveTime.Value - dingdan.arriveTime.Value; var totalPrice = dingdan.price.Value * dingdan.orderNum.Value * dateSpan.Days; var port = WebHelper.GetHostPort(); var url = string.Format("{0}/weixin/KNSHotel/hotel_order_paycallback.aspx", port); var entity = new UnifiedOrderEntity { wid = wid, total_fee = totalPrice == null ? 0 : (int)totalPrice, out_trade_no = dingdan.OrderNumber, openid = dingdan.openid, OrderId = dingdan.id.ToString(), body = string.Format("订单编号{2} {3}{1}{0}间", dingdan.orderNum, dingdan.roomType , dingdan.OrderNumber, hotelInfo.hotelName), PayModuleID = (int)PayModuleEnum.Hotel, PayComplete = url }; entity.Extra.Add("dingdanidnum", ddid.ToString()); entity.Extra.Add("openid", dingdan.openid); entity.Extra.Add("hotelid", dingdan.hotelid.ToString()); entity.Extra.Add("roomid", dingdan.roomid.ToString()); var ticket = EncryptionManager.CreateIV(); var payData = EncryptionManager.AESEncrypt(entity.ToJson(), ticket); context.Response.Write(AjaxResult.Success(PayHelper.GetPayUrl(payData, ticket))); } } else { context.Response.Write(AjaxResult.Error("获取支付状态失败!")); } }
/// <summary> /// 增加一条数据 /// </summary> public int Add(WeiXinPF.Model.wx_hotels_info model) { StringBuilder query = new StringBuilder(); query.Append("Insert Into[dbo].[wx_hotels_info]"); query.Append(" ([wid],[hotelName],[hotelAddress],[hotelPhone],[mobilPhone],[noticeEmail],[emailPws],[smtp],[coverPic],[topPic],[orderLimit],[listMode],[messageNotice],[pwd],[hotelIntroduct],[orderRemark],[createDate],[sortid],[xplace],[yplace],[HotelCode],[Operator],[HotelLevel],[Recommend])"); query.Append(" Values"); query.Append(" (@wid, @hotelName, @hotelAddress, @hotelPhone, @mobilPhone, @noticeEmail, @emailPws, @smtp, @coverPic, @topPic, @orderLimit, @listMode, @messageNotice, @pwd, @hotelIntroduct, @orderRemark, @createDate, @sortid, @xplace, @yplace, @HotelCode, @Operator, @HotelLevel,@Recommend);"); query.Append("Select @Id = Scope_Identity();"); query.Append("Update dbo.wx_hotels_info Set HotelCode=Right('0000'+Cast(@Id As Varchar(10)),4) Where Id=@Id"); using (IDbConnection db = DbFactory.GetOpenedConnection()) { DynamicParameters dynamicParameters = new DynamicParameters(); dynamicParameters.AddDynamicParams(model); dynamicParameters.Add("@Id", dbType: DbType.Int32, direction: ParameterDirection.Output); db.Execute(query.ToString(), dynamicParameters); return(dynamicParameters.Get <int>("@Id")); } }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(WeiXinPF.Model.wx_hotels_info model) { StringBuilder query = new StringBuilder(); query.Append(" Update[dbo].[wx_hotels_info]"); query.Append(" Set[wid] = @wid"); query.Append(" ,[hotelName] = @hotelName"); query.Append(" ,[hotelAddress] = @hotelAddress"); query.Append(" ,[hotelPhone] = @hotelPhone"); query.Append(" ,[mobilPhone] = @mobilPhone"); query.Append(" ,[noticeEmail] = @noticeEmail"); query.Append(" ,[emailPws] = @emailPws"); query.Append(" ,[smtp] = @smtp"); query.Append(" ,[coverPic] = @coverPic"); query.Append(" ,[topPic] = @topPic"); query.Append(" ,[orderLimit] = @orderLimit"); query.Append(" ,[listMode] = @listMode"); query.Append(" ,[messageNotice] = @messageNotice"); query.Append(" ,[pwd] = @pwd"); query.Append(" ,[hotelIntroduct] = @hotelIntroduct"); query.Append(" ,[orderRemark] = @orderRemark"); query.Append(" ,[createDate] = @createDate"); query.Append(" ,[sortid] = @sortid"); query.Append(" ,[xplace] = @xplace"); query.Append(" ,[yplace] = @yplace"); query.Append(" ,[HotelCode] = @HotelCode"); query.Append(" ,[Operator] = @Operator"); query.Append(" ,[HotelLevel] = @HotelLevel"); query.Append(" ,[Recommend]=@Recommend"); query.Append(" Where id=@Id"); using (IDbConnection db = DbFactory.GetOpenedConnection()) { return(db.Execute(query.ToString(), model) > 0); } }
/// <summary> /// 得到一个对象实体 /// </summary> public WeiXinPF.Model.wx_hotels_info DataRowToModel(DataRow row) { WeiXinPF.Model.wx_hotels_info model = new WeiXinPF.Model.wx_hotels_info(); if (row != null) { if (row["id"] != null && row["id"].ToString() != "") { model.id = int.Parse(row["id"].ToString()); } if (row["wid"] != null && row["wid"].ToString() != "") { model.wid = int.Parse(row["wid"].ToString()); } if (row["hotelName"] != null) { model.hotelName = row["hotelName"].ToString(); } if (row["hotelAddress"] != null) { model.hotelAddress = row["hotelAddress"].ToString(); } if (row["hotelPhone"] != null) { model.hotelPhone = row["hotelPhone"].ToString(); } if (row["mobilPhone"] != null) { model.mobilPhone = row["mobilPhone"].ToString(); } if (row["noticeEmail"] != null) { model.noticeEmail = row["noticeEmail"].ToString(); } if (row["emailPws"] != null) { model.emailPws = row["emailPws"].ToString(); } if (row["smtp"] != null) { model.smtp = row["smtp"].ToString(); } if (row["coverPic"] != null) { model.coverPic = row["coverPic"].ToString(); } if (row["topPic"] != null) { model.topPic = row["topPic"].ToString(); } if (row["orderLimit"] != null && row["orderLimit"].ToString() != "") { model.orderLimit = int.Parse(row["orderLimit"].ToString()); } if (row["listMode"] != null && row["listMode"].ToString() != "") { if ((row["listMode"].ToString() == "1") || (row["listMode"].ToString().ToLower() == "true")) { model.listMode = true; } else { model.listMode = false; } } if (row["messageNotice"] != null && row["messageNotice"].ToString() != "") { model.messageNotice = int.Parse(row["messageNotice"].ToString()); } if (row["pwd"] != null) { model.pwd = row["pwd"].ToString(); } if (row["hotelIntroduct"] != null) { model.hotelIntroduct = row["hotelIntroduct"].ToString(); } if (row["orderRemark"] != null) { model.orderRemark = row["orderRemark"].ToString(); } if (row["createDate"] != null && row["createDate"].ToString() != "") { model.createDate = DateTime.Parse(row["createDate"].ToString()); } if (row["sortid"] != null && row["sortid"].ToString() != "") { model.sortid = int.Parse(row["sortid"].ToString()); } if (row["xplace"] != null && row["xplace"].ToString() != "") { model.xplace = decimal.Parse(row["xplace"].ToString()); } if (row["yplace"] != null && row["yplace"].ToString() != "") { model.yplace = decimal.Parse(row["yplace"].ToString()); } } return(model); }