/// <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> private void RptBind() { BLL.wx_hotel_admin adminBll = new BLL.wx_hotel_admin(); List <Model.wx_hotel_admin> adminList = adminBll.GetModelList("HotelId=" + hotelid); BLL.manager managerBll = new BLL.manager(); DataSet dsData = new DataSet(); if (adminList.Any()) { string strWhere = string.Empty; for (int index = 0; index <= adminList.Count - 1; index++) { strWhere += "," + adminList[index].ManagerId; } strWhere = "(" + strWhere.Substring(1) + ")"; dsData = managerBll.GetList(0, "id in " + strWhere, string.Empty); rptList.DataSource = dsData; } else { rptList.DataSource = new List <Model.manager>(); } rptList.DataBind(); }
/// <summary> /// 绑定列表 /// </summary> private void RptBind() { BLL.wx_hotel_admin adminBll = new BLL.wx_hotel_admin(); List<Model.wx_hotel_admin> adminList = adminBll.GetModelList("HotelId=" + hotelid); BLL.manager managerBll = new BLL.manager(); DataSet dsData = new DataSet(); if (adminList.Any()) { string strWhere = string.Empty; for (int index = 0; index <= adminList.Count - 1; index++) { strWhere += "," + adminList[index].ManagerId; } strWhere = "(" + strWhere.Substring(1) + ")"; dsData = managerBll.GetList(0, "id in " + strWhere, string.Empty); rptList.DataSource = dsData; } else { rptList.DataSource = new List<Model.manager>(); } rptList.DataBind(); }
protected void btnRefuse_Click(object sender, EventArgs e) { try { var manager = GetAdminInfo(); new BLL.wx_hotel_room_manage().ManageRoom(roomid, Model.RoomStatus.Refuse, manager.id, "审核不通过", txtComment.Text.Trim()); //发送消息:审核不通过 BLL.wx_hotel_admin dBll = new BLL.wx_hotel_admin(); Model.wx_hotel_admin hotelAdmin = null; var users = dBll.GetModelList(String.Format(" HotelId={0}", hotelid)); hotelAdmin = users.FirstOrDefault(); if (hotelAdmin != null) { var wxUserweixin = GetWeiXinCode(); // var role = new BLL.manager_role().GetModel(manager.role_id); // var hotelsInfo = new BLL.wx_hotels_info().GetModel(hotelid); var msg = new ShortMsgDto() { Title = wxUserweixin.wxName, Content = String.Format("编号为[{0}]的商品[{1}]审核不通过,请修改后发布!", this.lblRoomCode.Text, this.roomType.Text), Type = "HotelRoom", DetailType = "Refuse", MenuType = "hotel_room", IsShowButton = true, ButtonText = "马上去修改", ButtonUrl = String.Format("/admin/hotel/hotel_room_info.aspx?action=Edit&hotelid={0}&roomid={1}", hotelid, roomid), ButtonMutipleUrl = "/admin/hotel/hotel_room.aspx?action=Edit", FromUserId = manager.id.ToString(), ToUserId = hotelAdmin.ManagerId.ToString(), MsgToUserType = MsgUserType.Hotel, MsgFromUserType = MsgUserType.Scenic }; _shortMsgService.SendMsg(msg); } } catch (Exception ex) { JscriptMsg("操作失败!", Utils.CombUrlTxt("hotel_room.aspx", "action={0}&hotelid={1}", action, hotelid.ToString()), "Error"); } AddAdminLog(MXEnums.ActionEnum.Audit.ToString(), string.Format("房间【id={0}】审核不通过。", roomid)); //记录日志 JscriptMsg("操作成功!", Utils.CombUrlTxt("hotel_room.aspx", "action={0}&hotelid={1}", action, hotelid.ToString()), "Success"); }
public MsgUserType GetUserType(UserManagerDto user) { MsgUserType result = MsgUserType.User; //酒店管理员 var wxHotelAdmin = new BLL.wx_hotel_admin(); int intUser = 0; if (int.TryParse(user.UserId, out intUser)) { var hotelAdmin = wxHotelAdmin.GetModel(intUser); if (hotelAdmin != null) { result = MsgUserType.Hotel; return(result); } //餐饮管理员 var wxDiancaiAdmin = new BLL.wx_diancai_admin(); var diancaiAdmin = wxDiancaiAdmin.GetModel(intUser); if (diancaiAdmin != null) { result = MsgUserType.Shop; return(result); } //todo:是否需要判断固定的微信号? //景区管理员 var count = new wx_userweixin().GetUserWxNumCount(intUser); if (count > 0) { result = MsgUserType.Scenic; return(result); } } else { //todo:判断微信是否是用户 //如果userid不是Int型 ,默认就认为它是微信用户 result = MsgUserType.WeChatCustomer; return(result); } return(result); }
private bool IsHotelAdmin(int id) { BLL.wx_hotel_admin dBll = new BLL.wx_hotel_admin(); Model.wx_hotel_admin hotelAdmin = dBll.GetModel(id); //酒店管理员 if (hotelAdmin != null) { return(true); } BLL.wx_hotel_user suBll = new BLL.wx_hotel_user(); Model.wx_hotel_user hotelUser = suBll.GetModel(id); if (hotelUser != null) { return(true); } return(false); }
public int GetHotelId() { if (IsAdminLogin()) { Model.manager admin = GetAdminInfo(); BLL.wx_hotel_admin hotelAdminBll = new BLL.wx_hotel_admin(); Model.wx_hotel_admin hotelAdmin = hotelAdminBll.GetModel(admin.id); if (hotelAdmin != null) { return(hotelAdmin.HotelId); } BLL.wx_hotel_user suBll = new BLL.wx_hotel_user(); Model.wx_hotel_user hotelUser = suBll.GetModel(admin.id); if (hotelUser != null) { return(hotelUser.HotelId); } return(0); } return(0); }
private bool DoAdd() { Model.manager adminEntity = GetAdminInfo(); //取得管理员信息 Model.manager model = new Model.manager(); BLL.manager bll = new BLL.manager(); //固定为餐饮管理员的角色 model.role_id = hotel_admin_role; model.role_type = new BLL.manager_role().GetModel(model.role_id).role_type; model.is_lock = MyCommFun.Str2Int(rblIsLock.SelectedValue); //检测用户名是否重复 if (bll.Exists(txtUserName.Text.Trim())) { return false; } model.user_name = txtUserName.Text.Trim(); //获得6位的salt加密字符串 model.salt = Utils.GetCheckCode(6); //以随机生成的6位字符串做为密钥加密 model.password = DESEncrypt.Encrypt(txtPassword.Text.Trim(), model.salt); model.real_name = txtRealName.Text.Trim(); model.telephone = txtTelephone.Text.Trim(); model.email = txtEmail.Text.Trim(); model.add_time = DateTime.Now; model.wxNum = 0; model.agentId = GetAdminInfo().id; model.qq = string.Empty; model.email = txtEmail.Text; model.reg_ip = MXRequest.GetIP(); model.agentLevel = -1; model.remark = txtRemark.Text; model.agentId = adminEntity.id; int addId = bll.Add(model); if (addId > 0) { //添加商铺与管理人员的关联 BLL.wx_hotel_admin adminBll = new BLL.wx_hotel_admin(); Model.wx_hotel_admin hotelAdmin = new Model.wx_hotel_admin(); hotelAdmin.ManagerId = addId; hotelAdmin.HotelId = hotelid; int addShopAdminId = adminBll.Add(hotelAdmin); if (addShopAdminId <= 0) { bll.Delete(addId); addId = 0; } } if (addId > 0) { AddAdminLog(MXEnums.ActionEnum.Add.ToString(), "添加酒店超级管理员:" + model.user_name); //记录日志 return true; } return false; }
private bool DoAdd() { Model.manager adminEntity = GetAdminInfo(); //取得管理员信息 Model.manager model = new Model.manager(); BLL.manager bll = new BLL.manager(); //固定为餐饮管理员的角色 model.role_id = hotel_admin_role; model.role_type = new BLL.manager_role().GetModel(model.role_id).role_type; model.is_lock = MyCommFun.Str2Int(rblIsLock.SelectedValue); //检测用户名是否重复 if (bll.Exists(txtUserName.Text.Trim())) { return(false); } model.user_name = txtUserName.Text.Trim(); //获得6位的salt加密字符串 model.salt = Utils.GetCheckCode(6); //以随机生成的6位字符串做为密钥加密 model.password = DESEncrypt.Encrypt(txtPassword.Text.Trim(), model.salt); model.real_name = txtRealName.Text.Trim(); model.telephone = txtTelephone.Text.Trim(); model.email = txtEmail.Text.Trim(); model.add_time = DateTime.Now; model.wxNum = 0; model.agentId = GetAdminInfo().id; model.qq = string.Empty; model.email = txtEmail.Text; model.reg_ip = MXRequest.GetIP(); model.agentLevel = -1; model.remark = txtRemark.Text; model.agentId = adminEntity.id; int addId = bll.Add(model); if (addId > 0) { //添加商铺与管理人员的关联 BLL.wx_hotel_admin adminBll = new BLL.wx_hotel_admin(); Model.wx_hotel_admin hotelAdmin = new Model.wx_hotel_admin(); hotelAdmin.ManagerId = addId; hotelAdmin.HotelId = hotelid; int addShopAdminId = adminBll.Add(hotelAdmin); if (addShopAdminId <= 0) { bll.Delete(addId); addId = 0; } } if (addId > 0) { AddAdminLog(MXEnums.ActionEnum.Add.ToString(), "添加酒店超级管理员:" + model.user_name); //记录日志 return(true); } return(false); }
public List <ShortMsgWithCountDto> GetAllLastNewMsg(UserManagerDto toUserDto) { List <ShortMsgWithCountDto> result = new List <ShortMsgWithCountDto>(); if (toUserDto != null) { var userType = _userService.GetUserType(toUserDto); Expression <Func <ShortMsg, bool> > func; if (userType != MsgUserType.User) { var userids = new List <string>(); var hotelBll = new BLL.wx_hotel_admin(); var diancaiBll = new BLL.wx_diancai_admin(); switch (userType) { case MsgUserType.Hotel: var listU = hotelBll.GetModelList(String.Format( "HotelId=(SELECT HotelId FROM dbo.wx_hotel_admin WHERE ManagerId={0})" , toUserDto.UserId)); if (listU != null && listU.Any()) { userids = listU.Select(i => i.ManagerId.ToString()).ToList(); } break; case MsgUserType.Shop: var listD = diancaiBll.GetModelList(String.Format( "ShopId=(SELECT ShopId FROM dbo.wx_diancai_admin WHERE ManagerId={0})" , toUserDto.UserId)); if (listD != null && listD.Any()) { userids = listD.Select(i => i.ManagerId.ToString()).ToList(); } break; case MsgUserType.Scenic: default: //景区管理员 var count = new wx_userweixin().GetUserWxNumCount(toUserDto.UserId.ToInt()); if (count > 0) { userids.Add(toUserDto.UserId); } break; } func = c => c.MsgToUserType == (int)userType && userids.Contains(c.ToUserId) && c.IsRead == false; } else { func = c => c.ToUserId == toUserDto.UserId && c.IsRead == false; } var msgList = _msgRepository.GetAllList(func); //todo:判断组合方法 //现在是如果不是微信用户发的,就按发送人分组 //是微信用户发的直接分组 var list = msgList.Where(c => (MsgUserType)c.MsgFromUserType != MsgUserType.WeChatCustomer).GroupBy(c => new { FromUserId = c.FromUserId, Type = c.Type, DetailType = c.DetailType }) .Select(c => new { Count = c.Count(), Key = c.Key }).ToList(); if (list.Any()) { var listReslut = list.Select(c => new ShortMsgWithCountDto { Count = c.Count, Msg = GetLastNewMsg(toUserDto, c.Key.FromUserId, c.Key.Type, c.Key.DetailType) }).ToList(); //多个商品在商品描述上加上xx等5件商品 listReslut.ForEach(c => { if (c.Count > 1) { var index = c.Msg.Content.LastIndexOf(']'); c.Msg.Content = c.Msg.Content.Insert(index + 1, String.Format("等{0}件商品", c.Count)); } }); result.AddRange(listReslut); } //添加是微信用户发的直接分组的 if (msgList.Any(c => (MsgUserType)c.MsgFromUserType == MsgUserType.WeChatCustomer)) { var wxlist = msgList.Where(c => (MsgUserType)c.MsgFromUserType == MsgUserType.WeChatCustomer).GroupBy(c => c.MsgFromUserType) .Select(c => new { Count = c.Count(), Key = c.Max(u => u.Id) }).ToList(); if (wxlist.Any()) { var listReslut = wxlist.Select(c => new ShortMsgWithCountDto { Count = c.Count, Msg = GetMsg(c.Key) }).ToList(); //多个订单在商品描述上加上xx等5件订单 listReslut.ForEach(c => { if (c.Count > 1) { var index = c.Msg.Content.LastIndexOf("的订单"); var msgContent = c.Msg.Content.Substring(0, index); var msgHz = c.Msg.Content.Substring(c.Msg.Content.LastIndexOf(",")); //todo:写死的判断多个时后缀 var hz = c.Msg.Type.ToLower().Contains("order") ? "订单" : ""; c.Msg.Content = String.Format("{2}等{0}个{1}{3}", c.Count, hz, msgContent, msgHz); } }); result.AddRange(listReslut); } } } return(result); }
/// <summary> /// 审核不通过 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnRefuse_Click(object sender, EventArgs e) { int sucCount = 0; int errorCount = 0; var manager = GetAdminInfo(); for (int i = 0; i < rptList.Items.Count; i++) { int id = Convert.ToInt32(((HiddenField)rptList.Items[i].FindControl("hidId")).Value); CheckBox cb = (CheckBox)rptList.Items[i].FindControl("chkId"); if (cb.Checked) { //Model.wx_hotel_room model = roomBll.GetModel(id); //model.Status = Model.RoomStatus.Refuse; try { manageBll.ManageRoom(id, Model.RoomStatus.Refuse, manager.id, "审核不通过", ""); sucCount += 1; //发送消息:审核后发送消息 Model.wx_hotel_room room = roomBll.GetModel(id); BLL.wx_hotel_admin dBll = new BLL.wx_hotel_admin(); Model.wx_hotel_admin hotelAdmin = null; var users = dBll.GetModelList(String.Format(" HotelId={0}", hotelid)); hotelAdmin = users.FirstOrDefault(); if (hotelAdmin != null) { var wxUserweixin = GetWeiXinCode(); // var role = new BLL.manager_role().GetModel(manager.role_id); // var hotelsInfo = new BLL.wx_hotels_info().GetModel(hotelid); var msg = new ShortMsgDto() { Title = wxUserweixin.wxName, Content = String.Format("编号为[{0}]的商品[{1}]审核不通过,请修改后发布!", room.RoomCode, room.roomType), Type = "HotelRoom", DetailType = "Refuse", MenuType = "hotel_room", IsShowButton = true, ButtonText = "马上去修改", ButtonUrl = String.Format("/admin/hotel/hotel_room_info.aspx?action=Edit&hotelid={0}&roomid={1}", hotelid, id), ButtonMutipleUrl = "/admin/hotel/hotel_room.aspx?action=Edit", FromUserId = manager.id.ToString(), ToUserId = hotelAdmin.ManagerId.ToString(), MsgToUserType = MsgUserType.Hotel, MsgFromUserType = MsgUserType.Scenic }; _shortMsgService.SendMsg(msg); } } catch (Exception ex) { errorCount += 1; } } } AddAdminLog(MXEnums.ActionEnum.Audit.ToString(), "信息" + sucCount + "条,失败" + errorCount + "条"); //记录日志 JscriptMsg("审核不通过,成功" + sucCount + "条,失败" + errorCount + "条!", Utils.CombUrlTxt("hotel_room.aspx", "action={0}&hotelid={1}&keywords={2}", action, hotelid.ToString(), this.keywords), "Success"); }
/// <summary> /// 审核通过 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnAgree_Click(object sender, EventArgs e) { int sucCount = 0; int errorCount = 0; var manager = GetAdminInfo(); for (int i = 0; i < rptList.Items.Count; i++) { int id = Convert.ToInt32(((HiddenField)rptList.Items[i].FindControl("hidId")).Value); CheckBox cb = (CheckBox)rptList.Items[i].FindControl("chkId"); if (cb.Checked) { //Model.wx_hotel_room model = roomBll.GetModel(id); //model.Status = Model.RoomStatus.Agree; try { manageBll.ManageRoom(id, Model.RoomStatus.Agree, manager.id, "审核通过", ""); //using (TransactionScope scope = new TransactionScope()) //{ // roomBll.Update(model); // Model.wx_hotel_room_manage manageInfo = new Model.wx_hotel_room_manage(); // manageInfo.RoomId = model.id; // manageInfo.Operator = GetAdminInfo().id; // manageInfo.OperateName = "审核通过"; // manageInfo.OperateTime = DateTime.Now; // manageInfo.Comment = "通过啊啊啊啊啊啊啊"; // manageBll.Add(manageInfo); //scope.Complete(); sucCount += 1; //发送消息:审核后发送消息 Model.wx_hotel_room room = roomBll.GetModel(id); BLL.wx_hotel_admin dBll = new BLL.wx_hotel_admin(); Model.wx_hotel_admin hotelAdmin = null; var users = dBll.GetModelList(String.Format(" HotelId={0}", hotelid)); hotelAdmin = users.FirstOrDefault(); if (hotelAdmin != null) { var wxUserweixin = GetWeiXinCode(); // var role = new BLL.manager_role().GetModel(manager.role_id); // var hotelsInfo = new BLL.wx_hotels_info().GetModel(hotelid); var msg = new ShortMsgDto() { Title = wxUserweixin.wxName, Content = String.Format("编号为[{0}]的商品[{1}]已审核通过,可以发布啦!", room.RoomCode, room.roomType), Type = "HotelRoom", DetailType = "Agree", MenuType = "hotel_room", IsShowButton = true, ButtonText = "马上去发布", ButtonUrl = String.Format( "/admin/hotel/hotel_room_info.aspx?action=View&hotelid={0}&roomid={1}", hotelid, id), ButtonMutipleUrl = "/admin/hotel/hotel_room.aspx?action=Edit", FromUserId = manager.id.ToString(), ToUserId = hotelAdmin.ManagerId.ToString(), MsgToUserType = MsgUserType.Hotel, MsgFromUserType = MsgUserType.Scenic }; _shortMsgService.SendMsg(msg); } //} } catch (Exception ex) { errorCount += 1; } } } // if (sucCount > 0) // { // int id = Convert.ToInt32(((HiddenField)rptList.Items[0].FindControl("hidId")).Value); // Model.wx_hotel_room room = roomBll.GetModel(id); // //发送消息:审核后发送消息 // // BLL.wx_hotel_admin dBll = new BLL.wx_hotel_admin(); // Model.wx_hotel_admin hotelAdmin = null; // var users = dBll.GetModelList(String.Format(" HotelId={0}", hotelid)); // hotelAdmin = users.FirstOrDefault(); // if (hotelAdmin != null) // { // var hotelsInfo = new BLL.wx_hotels_info().GetModel(hotelid); // var msg = new ShortMsgDto() // { // Title = hotelsInfo.hotelName, // Content = String.Format("编号为[{0}]的[{1}]等{2}件商品已审核通过,可以发布啦!", // room.RoomCode, room.roomType, sucCount), // Type = "hotel", // IsShowButton = true, // ButtonText = "马上去发布", // ButtonUrl = "/admin/hotel/hotel_room.aspx?action=Edit", // FromUserId = manager.id, // ToUserId = hotelAdmin.ManagerId, // MsgToUserType = MsgUserType.Hotel, // MsgFromUserType = MsgUserType.Scenic // }; // _shortMsgService.SendMsg(msg); // } // } AddAdminLog(MXEnums.ActionEnum.Audit.ToString(), "信息" + sucCount + "条,失败" + errorCount + "条"); //记录日志 JscriptMsg("审核通过,成功" + sucCount + "条,失败" + errorCount + "条!", Utils.CombUrlTxt("hotel_room.aspx", "action={0}&hotelid={1}&keywords={2}", action, hotelid.ToString(), this.keywords), "Success"); }
protected void btnRefuse_Click(object sender, EventArgs e) { try { var manager = GetAdminInfo(); new BLL.wx_hotel_room_manage().ManageRoom(roomid, Model.RoomStatus.Refuse, manager.id, "审核不通过", txtComment.Text.Trim()); //发送消息:审核不通过 BLL.wx_hotel_admin dBll = new BLL.wx_hotel_admin(); Model.wx_hotel_admin hotelAdmin = null; var users = dBll.GetModelList(String.Format(" HotelId={0}", hotelid)); hotelAdmin = users.FirstOrDefault(); if (hotelAdmin != null) { var wxUserweixin = GetWeiXinCode(); // var role = new BLL.manager_role().GetModel(manager.role_id); // var hotelsInfo = new BLL.wx_hotels_info().GetModel(hotelid); var msg = new ShortMsgDto() { Title = wxUserweixin.wxName, Content = String.Format("编号为[{0}]的商品[{1}]审核不通过,请修改后发布!", this.lblRoomCode.Text, this.roomType.Text), Type = "HotelRoom", DetailType= "Refuse", MenuType = "hotel_room", IsShowButton = true, ButtonText = "马上去修改", ButtonUrl = String.Format("/admin/hotel/hotel_room_info.aspx?action=Edit&hotelid={0}&roomid={1}", hotelid, roomid), ButtonMutipleUrl = "/admin/hotel/hotel_room.aspx?action=Edit", FromUserId = manager.id.ToString(), ToUserId = hotelAdmin.ManagerId.ToString(), MsgToUserType = MsgUserType.Hotel, MsgFromUserType = MsgUserType.Scenic }; _shortMsgService.SendMsg(msg); } } catch (Exception ex) { JscriptMsg("操作失败!", Utils.CombUrlTxt("hotel_room.aspx", "action={0}&hotelid={1}", action, hotelid.ToString()), "Error"); } AddAdminLog(MXEnums.ActionEnum.Audit.ToString(), string.Format("房间【id={0}】审核不通过。", roomid)); //记录日志 JscriptMsg("操作成功!", Utils.CombUrlTxt("hotel_room.aspx", "action={0}&hotelid={1}", action, hotelid.ToString()), "Success"); }