コード例 #1
0
        /// <summary>
        /// 在线预约,成功返回订单号
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public string execute(string request)
        {
            //1211|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())
            {

                //判断T_ClentInfo是否有此手机号相关信息
                //如果用户不存在,创建一个新用户
                CustomerInfoEntity cinfo = new D_CustomerInfoDal().GetClientInfoByPhone(req[2].Trim());

                T_ParterEntity parter = new T_PartyDal().GetParterModelBySign(req[5].ToLower());
                if (parter != null)
                {

                    #region 用户不存在则创建

                    if (cinfo == null)
                    {
                        int clentnum = new D_CustomerInfoDal().SelectSeqClent();
                        if (clentnum != 0)
                        {
                            string num = string.Empty;
                            for (int i = 0; i < 8 - clentnum.ToString().Length; i++)
                            {
                                num += @"0";
                            }
                            num = "U" + num + clentnum;
                            CustomerInfoEntity customerEn = new CustomerInfoEntity()
                            {
                                AccountType = 2,
                                Amount = 0,
                                BusinessmanId = 0,
                                Cellphone = req[2].Trim(),
                                ParentPhone = req[2].Trim(),
                                CustomerId = num,
                                CustomerName = req[1].Trim(),
                                CustomerType = 1,
                                Email = string.Empty,
                                HomeAddress = string.Empty,
                                IsNewCustomer = true,
                                LastAppointmentTime = null,
                                LastCalledAddress = string.Empty,
                                RecommendCode =
                                    new D_CustomerInfoDal().GenerateCustomerRecommendCode(
                                        new D_CustomerInfoDal().SelectSeqClent()),
                                RegisterFrom = 5,       //第三方API
                                RegisterVersion = ""
                            };
                            bool isture = new D_CustomerInfoDal().AddCustomerInfo(customerEn);
                            if (!isture)
                            {
                                //return "0";
                                throw new Exception("添加新用户失败。");
                            }
                            cinfo = customerEn;
                        }
                        else
                        {
                            //return "0";
                            throw new Exception("获取客户种子数失败。");
                        }
                    }

                    #endregion

                    #region 优惠码操作
                    string couponCode = "";
                     if (!WebUtility.ConfigHelper.CloseSign.ToLower().Contains(req[5].ToLower()))
                    {
                        if (req.Length == 13 && parter.url != null)
                        {
                            ThirdPartyCoupon cc = new ThirdPartyCoupon();
                            if (!cc.check(req[11], req[12], parter.url))
                            {
                                throw new Exception("优惠码无效");
                            }
                            couponCode = cc.addCoupon(parter.Id.ToString(), req[11], req[12], cinfo);
                        }
                     log.log("1211IF:【" + request + "】CLOSESIGN【" + WebUtility.ConfigHelper.CloseSign.ToLower() + "】req[5]【" + req[5].ToLower() + "】", System.Web.HttpContext.Current.Server.MapPath("Log/log.txt"));
                    }
                    else
                    {
                        log.log("1211ELSE:【" + request + "】CLOSESIGN【" + WebUtility.ConfigHelper.CloseSign.ToLower() + "】req[5]【" + req[5].ToLower() + "】", System.Web.HttpContext.Current.Server.MapPath("Log/log.txt"));
                    }
                    #endregion

                    #region 调用web service 处理创建预约订单

                    CreateOrderServiceRequestEntity createOrderEntity = new CreateOrderServiceRequestEntity();

                    createOrderEntity.Ucode = string.Empty;
                    createOrderEntity.Parterid = parter.Id;
                    createOrderEntity.RecommendCode = "[" + couponCode;
                    createOrderEntity.BusinessType = 1; // 酒后代驾
                    createOrderEntity.OrderFrom = 5; // 合作商
                    createOrderEntity.AppointTime = string.Empty;
                    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;

                    double lng;

                    if (double.TryParse(latStr, out lat) && double.TryParse(lngStr, out lng))
                    {
                        CoordinateHelper.BaiduToScott(ref lng, ref lat);
                        createOrderEntity.Lat = lat;
                        createOrderEntity.Lng = lng;
                    }
                    createOrderEntity.geoType = 1;
                    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;
        }
コード例 #2
0
        /// <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;
        }
コード例 #3
0
        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;
        }