/// <summary> /// 立即预约,成功返回订单号 /// </summary> /// <param name="request"></param> /// <returns></returns> public string execute(string request) { //1217|1姓名|2客户手机号|3地址|4司机工号|5lat|6lng|7from|8sign|9IMEI|10MD5串|11remark|12youhui string result = "0"; string[] req = request.Split('|'); var sign = EncodingUtil.GetMd5(req[2] + "aidaijia", "utf-8"); if (sign.ToLower() == req[10].ToLower()) { ThirdPartyCoupon cc = new ThirdPartyCoupon(); //判断T_ClentInfo是否有此手机号相关信息 //如果用户不存在,创建一个新用户 CustomerInfoEntity cinfo = new D_CustomerInfoDal().GetClientInfoByPhone(req[2].Trim()); T_ParterEntity parter = new T_PartyDal().GetParterModelBySign(req[8].ToLower()); string couponCode = ""; if (parter != null) { #region 调用冯超接口检查是否新用户 if (InvokeStateService(req[2].Trim()).Equals(1)) { if (parter.url != null) { cc.isCoupon(parter.url); if (!cc.check(req[12], req[13], parter.url)) { throw new Exception("优惠码无效"); } couponCode = req[11]; } } #endregion #region 优惠码操作 //if (req.Length == 14 && parter.url != null) //{ // if (!cc.check(req[12], req[13], parter.url)) // { // throw new Exception("优惠码无效"); // } // //couponCode = cc.addCoupon(parter.Id.ToString(), req[12], req[13], cinfo); //} #endregion #region 调用web service 处理创建指定司机派单信息 DriverInfoEntity driverInfo = new D_DriverInfoDal().GetDriverInfoByUcode(req[4].Trim()); if (driverInfo == null) { throw new Exception("指定司机不存在!"); } if (driverInfo.Online == 0) { throw new Exception("该司机已经下线,不能接受您指派的任务!"); } else if (driverInfo.OnService == 1 || driverInfo.OnDOService == 1) { throw new Exception("该司机已经在服务中了,不能接受您指派的任务!"); } else { CreateOrderServiceRequestEntity createOrderEntity = new CreateOrderServiceRequestEntity(); createOrderEntity.Ucode = req[4].Trim(); createOrderEntity.RecommendCode = couponCode; createOrderEntity.Parterid = parter.Id; createOrderEntity.BusinessType = 1; // 酒后代驾 createOrderEntity.OrderFrom = 5; // 合作商 createOrderEntity.AppointTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm"); createOrderEntity.Address = req[3].Trim(); createOrderEntity.FromCellPhone = req[2].Trim(); createOrderEntity.CellPhone = req[2].Trim(); string latStr = req[5].Trim(); string lngStr = req[6].Trim(); if (parter.Id == 11)//判断是博泰,对坐标进行转换 { ChangeCoords.ChangeCoordinate(ref latStr, ref lngStr, 3, 5); } double lat; if (double.TryParse(latStr, out lat)) { createOrderEntity.Lat = lat; } double lng; if (double.TryParse(lngStr, out lng)) { createOrderEntity.Lng = lng; } createOrderEntity.AllUserCount = 1; createOrderEntity.Remark = req[11].Trim(); createOrderEntity.Status = 0; string url = string.Format("http://{0}/api/createOrder", ConfigHelper.APIServer); result = new CreateOrder().InvokeCreateOrderService(url, createOrderEntity); } #endregion } else { throw new Exception("商户标识错误。"); } } else { throw new Exception("签名错误。"); } return result; }
public string execute(string request) { //1218|1张三|21381234567|3莘凌路211号(小锦江酒店)|421:00|5asdfas1231asd|6IMEI|7MD5串|8lat|9lng|10remark|11youhui|12youhuijine string result = "0"; string[] req = request.Split('|'); var sign = EncodingUtil.GetMd5(req[2] + "aidaijia", "utf-8"); if (sign.ToLower() == req[7].ToLower()) { ThirdPartyCoupon cc = new ThirdPartyCoupon(); //判断T_ClentInfo是否有此手机号相关信息 //如果用户不存在,创建一个新用户 CustomerInfoEntity cinfo = new D_CustomerInfoDal().GetClientInfoByPhone(req[2].Trim()); T_ParterEntity parter = new T_PartyDal().GetParterModelBySign(req[5].ToLower()); if (parter != null) { string couponCode = ""; #region 调用冯超接口检查是否新用户 if (InvokeStateService(req[2].Trim()).Equals(1)) { if (parter.url != null) { cc.isCoupon(parter.url); if (!cc.check(req[12], req[13], parter.url)) { throw new Exception("优惠码无效"); } couponCode = req[11]; } } #endregion #region 优惠码操作 if (req.Length == 13 && parter.url != null) { if (!cc.check(req[11], req[12], parter.url)) { throw new Exception("优惠码无效"); } couponCode = cc.addCoupon(parter.Id.ToString(), req[11], req[12], cinfo); } #endregion #region 调用web service 处理创建预约订单 CreateOrderServiceRequestEntity createOrderEntity = new CreateOrderServiceRequestEntity(); createOrderEntity.Ucode = string.Empty; createOrderEntity.Parterid = parter.Id; createOrderEntity.BusinessType = 1; // 酒后代驾 createOrderEntity.OrderFrom = 5; // 合作商 createOrderEntity.AppointTime = string.Empty; createOrderEntity.RecommendCode = couponCode; DateTime appointTime; if (DateTime.TryParse(req[4].Trim(), out appointTime)) { createOrderEntity.AppointTime = appointTime.ToString("yyyy-MM-dd HH:mm"); } createOrderEntity.Address = req[3].Trim(); createOrderEntity.FromCellPhone = cinfo.Cellphone; createOrderEntity.CellPhone = cinfo.Cellphone; string latStr = req[8].Trim(); string lngStr = req[9].Trim(); if (parter.Id == 11)//判断是博泰,对坐标进行转换 { ChangeCoords.ChangeCoordinate(ref latStr, ref lngStr, 3, 5); } double lat; if (double.TryParse(latStr, out lat)) { createOrderEntity.Lat = lat; } double lng; if (double.TryParse(lngStr, out lng)) { createOrderEntity.Lng = lng; } createOrderEntity.AllUserCount = 1; createOrderEntity.Remark = req[10].Trim(); createOrderEntity.Status = 0; // result = InvokeCreateOrderService(createOrderEntity); string url = string.Format("http://{0}/api/createOrder", ConfigHelper.APIServer); result = new CreateOrder().InvokeCreateOrderService(url, createOrderEntity); #endregion } else { throw new Exception("商户标识错误。"); } } else { throw new Exception("签名错误。"); } return result; }