public ActionResult Index() { var MPDB = new MPDBEntities(); var r = MPDB.HotelScene_t.ToList(); return(View()); }
public JsonResult GetPrintTicket(string hotelcode) { var db = new MPDBEntities(); var data = db.PrintTickets.Where(x => x.hotelcode == hotelcode); jsonResult.code = ApiCode.成功; jsonResult.data = data; return(this.MyJson(jsonResult)); }
public static bool pushMsg(QuerymemberJsonResult hy, CAVTicketModel data) { try { var db = new MPDBEntities(); var hotel = db.PushMsgInfoes.FirstOrDefault(x => x.hotelcode == data.hotelcode && x.flag == 1); if (hotel != null) { var member = new MemberEntities(); var scene = member.UserScenes.FirstOrDefault(x => x.scene == data.scene); using (IRedisClient publisher = new RedisClient(Config.RedisUrl, 6379)) { var msg = new { title = "快顺核销系统", orderno = data.jycode, addtime = DateTime.Now.ToString("yyyy-MM-dd"), CategoryName = data.CategoryName, money = data.fmoney, FormulaName = data.FormulaName, ticketsn = data.ticketsn, mobile = data.mobile, bosscard = hy.CardNo, realbosscard = hy.realbosscard, scenename = scene == null?"":scene.scenename, }; var str = JsonConvert.SerializeObject(msg); var isSend = publisher.PublishMessage(hotel.channel, str); if (isSend > 0) { return(true); } else { return(false); } } } else { return(false); } } catch (Exception) { return(false); } }
[HttpPost]//小程序注册 public JsonResult Register(RegisterModel data) { var db = new MPDBEntities(); var hotelInfo = db.MPConfigs.Where(x => x.ShopCode == data.hotelcode).FirstOrDefault(); if (hotelInfo != null) { var checkopenid = CommonApi.CheckOpenidAndCardByHotelCode(data.openid, data.mobile, hotelInfo.YQTHotelgrouptype, data.hotelcode, data.name, data.source); if (checkopenid.returncode == "success") { bool YQTGiftId = true; var MPDB = new MPDBEntities(); var hotel = MPDB.MPConfigs.Where(x => x.ShopCode == data.hotelcode).FirstOrDefault(); var result1 = TicketApi.GetTicketUserbyRegedit("", "", "mobile", data.mobile, hotelInfo.YQTGiftId, data.hotelcode); if (result1.returncode == "false") { var isSend = TicketApi.SetNewHyJson(hotel.YQTOperatorId, hotel.YQTOperatorId, data.hotelcode, hotelInfo.YQTGiftId, data.mobile); if (isSend.returncode != "success") { YQTGiftId = false; } } bool YQTRechargeableId = true; var result2 = TicketApi.GetTicketUserbyRegedit("", "", "mobile", data.mobile, hotelInfo.YQTRechargeableId, data.hotelcode); if (result2.returncode == "false") { var isSend = TicketApi.SetNewHyJson(hotel.YQTOperatorId, hotel.YQTOperatorId, data.hotelcode, hotelInfo.YQTRechargeableId, data.mobile); if (isSend.returncode != "success") { YQTRechargeableId = false; } } bool YQTregisterId = true; var result3 = TicketApi.GetTicketUserbyRegedit("", "", "mobile", data.mobile, hotelInfo.YQTregisterId, data.hotelcode); if (result3.returncode == "false") { var isSend = TicketApi.SetNewHyJson(hotel.YQTOperatorId, hotel.YQTOperatorId, data.hotelcode, hotelInfo.YQTregisterId, data.mobile); if (isSend.returncode != "success") { YQTregisterId = false; } } if (YQTGiftId && YQTregisterId && YQTRechargeableId) { jsonResult.code = ApiCode.成功; jsonResult.msg = "成功"; } else { jsonResult.code = ApiCode.发送产品失败; jsonResult.msg = "发送产品失败"; } } else { jsonResult.code = ApiCode.注册失败; jsonResult.msg = "发送产品失败"; } } else { jsonResult.code = ApiCode.没有实体数据; jsonResult.msg = "没有酒店数据"; } return(this.MyJson(jsonResult)); }
[HttpPost]//会员注册 public JsonResult Register(RegisterModel data) { Logger.WriteLog(string.Concat(new string[] { "----------- 记录程序日志 Log-----------\r\n", "地址:\r\n", Request.Url.ToString(), "\r\n", "请求参数:\r\n", JsonConvert.SerializeObject(data), })); if (ModelState.IsValid) { try { var MPDB = new MPDBEntities(); var db = new MemberEntities(); var num = db.OpenidToMobile_t.Where(x => x.mobile == data.mobile && x.hotelcode == data.hotelcode).FirstOrDefault(); int openidnum = 1; if (num == null) { var hotelopenid = MPDB.TicketExpire_t.FirstOrDefault(x => x.hotelcode == data.hotelcode); if (hotelopenid != null) { openidnum = int.Parse(hotelopenid.WXbindingnum); } } else { openidnum = num.openidnum.Value; } var hotelInfo = MPDB.MPConfigs.Where(x => x.ShopCode == data.hotelcode).FirstOrDefault(); data.grouptype = hotelInfo.YQTHotelgrouptype; data.user = hotelInfo.YQTOperatorId; data.token = hotelInfo.YQTOperatorId; var obj = TicketApi.Getmember_bymobile(data.user, data.token, data.grouptype, data.mobile); if (obj.Count >= openidnum) { jsonResult.code = ApiCode.绑定数量到达上限; jsonResult.msg = "绑定数量到达上限"; } else { if (obj.Count == 0 && data.tjcode != null) { if (data.hy_name == null) { data.hy_name = "保密"; } var isRegister = CommonApi.Setmemberlist_newtjcode(data.hy_name, "", "", data.hotelcode, "VIP", "VIP", "VIP", data.mobile, "", "", "", "", "", "", "", "", "", "", "0", "", "", "", "", hotelInfo.YQTHotelgrouptype, data.tjcode, data.source, "", data.hotelcode); if (isRegister) { db.CRM_DCB.Add(new CRM_DCB { hy_name = data.hy_name, hy_kh = data.hy_kh, bosscard = data.bosscard, cardhotel = data.cardhotel, usertype = data.usertype, cardtype = data.cardtype, ratecode = data.ratecode, hy_sjhm = data.hy_sjhm, hy_zjlx = data.hy_zjlx, hy_zjhm = data.hy_zjhm, hy_sex = data.hy_sex, bosshk = data.bosshk, saleid = data.saleid, // arr=data.arr, hy_qq_msn = data.hy_qq_msn, weixinnumber = data.weixinnumber, nation = data.nation, country = data.country, state = data.state, remark = data.remark, birthday = data.birthday == null ? DateTime.Parse("1900-01-01") : DateTime.Parse(data.birthday), //hy_email= data.hy_email, // id=data.id, //grouptype= data.grouptype, tjcode = data.tjcode, source = data.source, address = data.address }); db.SaveChanges(); } } if (data.hy_name == null || data.hy_name == "") { data.hy_name = "保密"; } var resbindopenid = CommonApi.CheckOpenidAndCardByHotelCode(data.openid, data.mobile, data.grouptype, data.hotelcode, data.hy_name, data.source); if (resbindopenid.returncode == "success") { if (!db.MemberBindInfoes.Any(x => x.hotelcode == data.hotelcode && x.openid == data.openid && x.source == data.source)) { db.MemberBindInfoes.Add(new MemberBindInfo { hotelcode = data.hotelcode, hy_sjhm = data.mobile, openid = data.openid, source = data.source, }); db.SaveChanges(); jsonResult.code = ApiCode.成功; jsonResult.msg = "成功"; } if (hotelInfo != null) { bool YQTGiftId = true; if (hotelInfo.YQTGiftId != null && hotelInfo.YQTGiftId != "") { var result1 = TicketApi.GetTicketUserbyRegedit("", "", "mobile", data.mobile, hotelInfo.YQTGiftId, data.hotelcode); if (result1.returncode == "false") { var isSend = TicketApi.SetNewHyJson(data.user, data.token, data.hotelcode, hotelInfo.YQTGiftId, data.mobile); if (isSend.returncode != "success") { Logger.WriteLog(string.Concat(new string[] { "地址:\r\n", Request.Url.ToString(), "\r\n", "请求参数:\r\n", data.hotelcode + "," + hotelInfo.YQTGiftId + "," + data.mobile, "返回参数:\r\n", JsonConvert.SerializeObject(jsonResult), })); YQTGiftId = false; } } } bool YQTRechargeableId = true; if (hotelInfo.YQTRechargeableId != null && hotelInfo.YQTRechargeableId != "") { var result2 = TicketApi.GetTicketUserbyRegedit("", "", "mobile", data.mobile, hotelInfo.YQTRechargeableId, data.hotelcode); if (result2.returncode == "false") { var isSend = TicketApi.SetNewHyJson(data.user, data.token, data.hotelcode, hotelInfo.YQTRechargeableId, data.mobile); if (isSend.returncode != "success") { Logger.WriteLog(string.Concat(new string[] { "地址:\r\n", Request.Url.ToString(), "\r\n", "请求参数:\r\n", data.hotelcode + "," + hotelInfo.YQTRechargeableId + "," + data.mobile, "返回参数:\r\n", JsonConvert.SerializeObject(jsonResult), })); YQTRechargeableId = false; } } } bool YQTregisterId = true; if (hotelInfo.YQTregisterId != null && hotelInfo.YQTregisterId != "") { var result3 = TicketApi.GetTicketUserbyRegedit("", "", "mobile", data.mobile, hotelInfo.YQTregisterId, data.hotelcode); if (result3.returncode == "false") { var isSend = TicketApi.SetNewHyJson(data.user, data.token, data.hotelcode, hotelInfo.YQTregisterId, data.mobile); if (isSend.returncode != "success") { Logger.WriteLog(string.Concat(new string[] { "地址:\r\n", Request.Url.ToString(), "\r\n", "请求参数:\r\n", data.hotelcode + "," + hotelInfo.YQTregisterId + "," + data.mobile, "返回参数:\r\n", JsonConvert.SerializeObject(jsonResult), })); YQTregisterId = false; } } } //if (YQTGiftId && YQTregisterId && YQTRechargeableId) //{ // jsonResult.code = ApiCode.成功; // jsonResult.msg = "成功"; //} jsonResult.code = ApiCode.成功; jsonResult.msg = "成功"; } } else { jsonResult.code = ApiCode.注册失败; jsonResult.msg = "注册失败"; } } } catch (Exception ex) { Logger.WriteLog(string.Concat(new string[] { "----------- 记录程序日志 Log-----------\r\n", "地址:\r\n", Request.Url.ToString(), "\r\n", "请求参数:\r\n", JsonConvert.SerializeObject(data), "返回参数:\r\n", JsonConvert.SerializeObject(jsonResult), "异常:\r\n", ex.ToString(), })); jsonResult.code = ApiCode.序异常; jsonResult.msg = ex.ToString(); return(this.MyJson(jsonResult)); } } else { var item = ModelState.Values.Where(x => x.Errors.Count > 0).Take(1).SingleOrDefault(); jsonResult.msg = item.Errors.Where(b => !string.IsNullOrWhiteSpace(b.ErrorMessage)).Take(1).SingleOrDefault().ErrorMessage; jsonResult.code = ApiCode.接口调用失败; } return(this.MyJson(jsonResult)); }
private bool PlaceOrder(yudingEntities db, order item, string pmscode = "0", string pms = "", string pmsratecode = "", string qudao = "", bool ispms = false, string cusno = "") { var order = new order_t() { ptchannel = item.ptchannel, isSendMsg = "0", hotelname = item.hotelname, City = item.City, channelid = item.channelid, guestname = item.guestname, arrivetime = DateTime.Parse(item.arr), baojia = item.baojia, bosscard = item.resby, contact_mobile = item.mobile, contact_name = item.name, count = int.Parse(item.count), hotelcode = item.hotelcode, leavetime = DateTime.Parse(item.dep), ordernumber = item.ordernumber, pay = item.pay, yuanjia = item.rate.ToString(), trueRate = item.truerate, notes = item.remark, roomname = item.roomname, roomtype = item.roomtype, xz_code = item.xz_code, xz_name = item.xz_name, sessionid = item.sessionid, formulaid = item.formulaid, categoryid = item.categoryid, increasemoney = item.increasemoney, yhmoney = decimal.Parse(item.yhmoney), rate = item.rate, tpid = item.tpid, type = int.Parse(item.type), Fmoney = item.Fmoney, TicketSn = item.TicketSn, }; if (ispms && item.type == "0") { if (pmscode == "1") { ly ly = new ly("http://115.159.81.168:8100/ipmsgroup/router", item.hotelcode); Dictionary <string, string> parms = new Dictionary <string, string>(); parms.Add("arr", item.arr + " 12:00:00"); parms.Add("dep", item.dep + " 12:00:00"); parms.Add("rmtype", pms); parms.Add("channel", qudao); parms.Add("rateCode", pmsratecode); parms.Add("rmNum", item.count); parms.Add("rsvMan", item.name); parms.Add("sex", "1"); parms.Add("mobile", item.mobile); parms.Add("idType", ""); parms.Add("idNo", ""); parms.Add("email", ""); parms.Add("cardType", ""); parms.Add("cardNo", ""); parms.Add("adult", "1"); parms.Add("resultCode", ""); parms.Add("remark", item.remark); var json = new List <object>(); foreach (var item1 in item.everydate) { var everydate = new { date = item1.date + " 12:00:00", realRate = item1.realRate - item1.yhmoney, }; json.Add(everydate); } var everyDayRateJson = JsonConvert.SerializeObject(json); parms.Add("everyDayRate", everyDayRateJson); //parms.Add("everyDayRate", "[{\"date\":\"" + item.arr + " 12:00:00\",\"realRate\":\"" + (item.rate - int.Parse(item.yhmoney)).ToString() + "\"}]"); var result = ly.xiadan(parms, "http://115.159.81.168:8100/ipmsgroup/CRS/book"); //success: var crsNo = JsonHelper.GetJsonValue(result, "crsNo"); if (crsNo != "") { var date = DateTime.Parse(item.arr); var every = db.everydate_price_t.Where(x => x.everydate == date && x.xz_code == item.xz_code).FirstOrDefault(); every.ordernum += 1; order.lvorder = crsNo; db.order_t.Add(order); foreach (var item1 in item.everydate) { var time = DateTime.Parse(item1.date); //BookingWeb.Refresh(db, item.xz_code, item.hotelcode, int.Parse(item.type), time); } return(true); } //error else { return(false); } } if (pmscode == "2") { var service = new WxAPI(item.hotelcode); var mp = new MPDBEntities(); var hotel = mp.MPConfigs.FirstOrDefault(x => x.ShopCode == item.hotelcode); var hotel1 = db.hotel_list.FirstOrDefault(x => x.hotelId == item.hotelcode); if (hotel != null) { var nightNum = (DateTime.Parse(item.dep) - DateTime.Parse(item.arr)).Days.ToString(); var res3 = service.Reservation("10", DateTime.Now.ToString("yyyy-MM-ddThh:mm:ss"), "1009", hotel1.username, hotel1.pwd, item.guestname, "NA", "ADD", "6016913", "", "CHANGE", item.remark, "GUEST", "MALE", item.name, "", "C", "NA", "ADD", "CHANGE", "RESERVED", "", pms, "", "DAY", item.arr + " 18:00:00", nightNum, "", "ADULT", "1", "CHANGE", pmsratecode, hotel.src, hotel.market, item.count, qudao, order.contact_mobile, order.contact_name, ""); if (res3 != null) { if (res3.Head.retcode == "00001") { var date = DateTime.Parse(item.arr); var every = db.everydate_price_t.Where(x => x.everydate == date && x.xz_code == item.xz_code).FirstOrDefault(); every.ordernum += 1; order.lvorder = res3.Body.ReservationResponse.Reservation.confirmationID; db.order_t.Add(order); return(true); } else { return(false); } } else { return(false); } } else { return(false); } } if (pmscode == "0") { for (var start = DateTime.Parse(item.arr); start < DateTime.Parse(item.dep); start = start.AddDays(1)) { //var date = DateTime.Parse(start); var every = db.everydate_price_t.Where(x => x.everydate == start && x.xz_code == item.xz_code).FirstOrDefault(); every.ordernum += 1; db.order_t.Add(order); //BookingWeb.Refresh(db, item.xz_code, item.hotelcode, int.Parse(item.type), start); } return(true); } if (pmscode == "3") { var mp = new MPDBEntities(); var hotel = mp.MPConfigs.FirstOrDefault(x => x.ShopCode == item.hotelcode); var hotel1 = db.hotel_list.FirstOrDefault(x => x.hotelId == item.hotelcode); // 平台提供的地址 string url = hotel.orderUrl; // 平台appkey string appKey = "KSKJ"; // 平台授权码 string secret = hotel1.pwd; // 使用哪个酒店的身份接入 string hotelId = "G000001"; var client = new XopClient(url, appKey, secret, hotelId); // 开始登录平台 var rspLogin = client.login(); if (!XopClient.isResponseSuccess(rspLogin)) { return(false); } var daily = new JsonArray(); foreach (var item1 in item.everydate) { var one = new JsonObject(); one["ratecode"] = pmsratecode; one["rate"] = item1.realRate - item1.yhmoney; one["date"] = item1.date + " 12:00:00"; one["rmrate"] = item1.realRate - item1.yhmoney; daily.Add(one); } var remark = Enum.Parse(typeof(Pay), item.pay, false).ToString(); var r = client.saveReservation(qudao, hotel1.username, pmsratecode, pms, item.count, item.everydate[0].realRate.ToString(), item.name, item.name, item.arr, item.dep, "2", daily, hotel.rsvType, item.mobile, "支付方式:" + remark + "," + item.remark, hotel.src, hotel.market, cusno); if (r.success) { // var c = client.cxlReservation("KSKJ", "H000069", r.results[0].rsvno, "测试", "T"); var date = DateTime.Parse(item.arr); var every = db.everydate_price_t.Where(x => x.everydate == date && x.xz_code == item.xz_code).FirstOrDefault(); every.ordernum += 1; order.notes = "支付方式:" + remark + "," + item.remark; order.lvorder = r.results[0].rsvno; db.order_t.Add(order); return(true); } } if (pmscode == "4") { //var mp = new MPDBEntities(); //var hotel = mp.MPConfigs.FirstOrDefault(x => x.ShopCode == item.hotelcode); //var hotel1 = db.hotel_list.FirstOrDefault(x => x.hotelId == item.hotelcode); //PlaceOrderData orderData = new PlaceOrderData //{ // srcHotelGroupCode = "MKYL", // //webFrom = "KUAISHUN", // //srcHotelGroupCode="GCBZG", // hotelCode = item.hotelcode, // hotelGroupCode = hotel.LvyunHotelgroupId, // operationType = "Book", // otaChannel = "CRS", // otaRsvNo = Guid.NewGuid().ToString(), // productCode = pmsratecode, // bookOrderInfoRQ = new P_BookOrderInfoRQ() // { // arr = item.arr, // dep = item.dep, // earlyArrTime = item.arr, // lastArrTime = item.dep, // paySta = "2", // guests = new List<Guests>(), // everyDayPrices = new List<EveryDayPrices>(), // rmNum =int.Parse( item.count), // rateSum = 0, // rsvMan = item.name, // mobile =item.mobile, // adult =1, // remark = item.remark, // isCheckRoomQuentity = "T", // needPay = "F", // isZeroOrder = "F", // } //}; //var everyprice = new List<EveryDayPrices>(); //var guests = new List<Guests>(); //var m = new //{ // hotelGroupCode = hotel.LvyunHotelgroupId, // hotelCode = hotel.LvyunHotelId, // fromDate = item.arr, // toDate = item.dep, // otaChannel = "CRS", // productCode = pmsratecode //}; //var crsEveryPrice = CrsAPI.GetproductBaseDetail(Config.CRS_URL, m); //if (crsEveryPrice.resultCode == ReturnCode.请求成功 && crsEveryPrice != null) //{ // decimal rateSum = 0; // foreach (var item in crsEveryPrice.resultInfo[0].everyDetails) // { // var price = new EveryDayPrices // { // costPrice = item.costPrice, // isClosed = item.isClosed, // realPrice = item.realPrice, // rsvDate = item.rsvDate, // saleNum = item.saleNum, // }; // rateSum += item.costPrice * rmNum; // everyprice.Add(price); // } // orderData.bookOrderInfoRQ.everyDayPrices = everyprice; // foreach (var item in data.guests) // { // var guest = new Guests // { // name = item, // }; // guests.Add(guest); // } // orderData.bookOrderInfoRQ.guests = guests; // orderData.bookOrderInfoRQ.rateSum = rateSum; // //result.data = orderData; // orderData.bookOrderInfoRQ.everyDayPrices = everyprice; // order.subRoomTypeId = data.productCode; // order.roomTypeId = room.roomTypeId; // order.hotelGroupCode = room.hotelGroupCode; // var str = JsonConvert.SerializeObject(orderData); // var orderResult = CrsAPI.PlaceOrder(Config.CRS_URL, orderData); // if (orderResult.resultCode == ReturnCode.请求成功 && orderResult != null) // { // Logger.WriteLog(string.Concat(new string[]{ // "绿云数据:"+str+"\r\n", // // "下单数据:"+JsonConvert.SerializeObject(data)+"\r\n", // "绿云接口返回:"+orderResult.resultMessage // })); // //var orderResult = new PlaceOrderResult(); // //orderResult.resultCode = ReturnCode.请求失败; // //orderResult.resultMessage = "暂时关闭调试"; // if (orderResult.resultCode == ReturnCode.请求成功) // { // order.gcRsvNo = orderResult.resultInfo; // order.apiType = "SUCCESS"; // result.code = ApiCode.成功; // result.message = "成功"; // order.apiMessage = "成功"; // result.orderId = data.orderId; // result.orderStatus = 1; // result.amount = data.amount; // result.confirmNum = orderResult.resultInfo; // } // else // { // order.apiType = "FAIL"; // result.code = ApiCode.成功; // result.message = orderResult.resultMessage; // order.apiMessage = orderResult.resultMessage; // result.orderStatus = 2; // } // Logger.WriteLog(string.Concat(new string[]{ // "下单数据:"+JsonConvert.SerializeObject(data)+"\r\n", // "绿云接口返回:"+JsonConvert.SerializeObject( orderResult)+"\r\n" // })); // } // else // { // order.apiType = "FAIL"; // result.orderStatus = 2; // result.code = ApiCode.成功; // order.apiMessage = "接口调用失败"; // } //} //else //{ // Logger.WriteLog(string.Concat(new string[]{ // //"下单数据:"+JsonConvert.SerializeObject(data)+"\r\n", // "没有该产品价格" // })); // order.apiType = "FAIL"; // result.code = ApiCode.成功; // result.message = "没有该产品价格"; // order.apiMessage = "没有该产品价格"; // result.orderStatus = 2; //} } return(false); } else { for (var start = DateTime.Parse(item.arr); start < DateTime.Parse(item.dep); start = start.AddDays(1)) { //var date = DateTime.Parse(start); var every = db.everydate_price_t.Where(x => x.everydate == start && x.xz_code == item.xz_code).FirstOrDefault(); every.ordernum += 1; db.order_t.Add(order); //BookingWeb.Refresh(db, item.xz_code, item.hotelcode, int.Parse(item.type), start); } return(true); } }