Exemplo n.º 1
0
        public async Task <APIResult> ThirdAddOrder([FromBody] Models.ThirdPartyModel.ThirdShopAddOrderModel model)
        {
            var parametermodel = new ThirdPartyDistributionParameterModel();

            //
            parametermodel.source_id = GetMerchant(model.ShopId).DaDaShopId.ToString();
            parametermodel.source_id = "73753";
            model.origin_id          = "THIRD" + DateTime.Now.Ticks + CommonUtil.CreateNoncestr(5);
            var Data = JsonConvert.SerializeObject(model);

            parametermodel.body = Data;
            var data   = parameter.ExThirdPartyDistributionParameterAction(parametermodel);
            var result = await httpClient.Post <Models.ThirdPartyModel.ThirdAddOrderResult>($"{thirdConfig.Url}/api/order/addOrder", data);

            if (result.errorCode != 0 || result.status != "success")
            {
                throw new Exception(result.msg);
            }

            shopDb.ThirdApiData.Add(new ThirdApiData()
            {
                ShopId     = model.ShopId,
                DaDaShopId = 73753,
                AddTime    = DateTime.Now,
                JsonData   = Data,
                ResultData = JsonConvert.SerializeObject(result),
                OrderId    = model.origin_id
            });
            shopDb.SaveChanges();
            return(Success(result));
        }
Exemplo n.º 2
0
        public async Task <APIResult> ThirdFormalCancel([FromBody] FormalCancel model)
        {
            var parametermodel = new ThirdPartyDistributionParameterModel();

            parametermodel.source_id = GetMerchant(model.ShopId).DaDaShopId.ToString();
            // parametermodel.source_id = "73753";//测试
            var Data = JsonConvert.SerializeObject(model);

            parametermodel.body = Data;
            var data   = parameter.ExThirdPartyDistributionParameterAction(parametermodel);
            var result = await httpClient.Post <ThirdCancelResult>($"{thirdConfig.Url}/api/order/formalCancel", data);

            if (result.errorCode != 0 || result.status != "success")
            {
                throw new Exception(result.msg);
            }

            shopDb.ThirdMoneyReport.Add(new Data.ThirdMoneyReport()
            {
                ShopId      = model.ShopId,
                OrderNumber = model.order_id,
                Amount      = result.result.deduct_fee,
                AddTime     = DateTime.Now,
                ProduceType = ProduceType.取消订单
            });
            shopDb.SaveChanges();


            return(Success(result));
        }
Exemplo n.º 3
0
        public async Task <APIResult> ThirdShopRecharge([FromBody] ThirdShopRechargeModel model)
        {
            if (model == null)
            {
                throw new Exception("参数有误");
            }
            if (model.amount <= 0)
            {
                throw new Exception("充值金额必须大于0");
            }

            var RCode          = "RCODE" + DateTime.Now.Ticks + CommonUtil.CreateNoncestr(5);
            var parametermodel = new ThirdPartyDistributionParameterModel();

            parametermodel.source_id = GetMerchant(model.ShopId).DaDaShopId.ToString();
            model.notify_url         = string.Format(thirdConfig.RechargeUrl, model.ShopId, parametermodel.source_id, model.amount, RCode);
            var Data = JsonConvert.SerializeObject(model);

            parametermodel.body = Data;
            var data   = parameter.ExThirdPartyDistributionParameterAction(parametermodel);
            var result = await httpClient.Post <ThirdRechargeResult>($"{thirdConfig.Url}/api/recharge", data);

            if (result.errorCode != 0 || result.status != "success")
            {
                throw new Exception(result.msg);
            }
            return(Success(result));
        }
Exemplo n.º 4
0
        public async Task <ThirdAddOrderResult> ThirdAddOrder(ThirdShopAddOrderModel model, ShopOrder order)
        {
            try
            {
                var parametermodel = new ThirdPartyDistributionParameterModel();

                parametermodel.source_id = GetMerchant(model.ShopId).DaDaShopId.ToString();
                shopDb.ThirdApiData.Add(new ThirdApiData()
                {
                    ShopId     = model.ShopId,
                    DaDaShopId = Convert.ToInt32(parametermodel.source_id),
                    AddTime    = DateTime.Now,
                    JsonData   = JsonConvert.SerializeObject(order),
                    ResultData = "ThirdAddOrder-Info",
                    OrderId    = model.origin_id
                });
                //parametermodel.source_id = "73753";
                // model.origin_id = "THIRD" + DateTime.Now.Ticks + CommonUtil.CreateNoncestr(5);
                var Data = JsonConvert.SerializeObject(model);
                parametermodel.body = Data;
                var data   = parameter.ExThirdPartyDistributionParameterAction(parametermodel);
                var result = await httpClient.Post <ThirdAddOrderResult>($"{thirdoptions.Url}/api/order/addOrder", data);

                if (result.errorCode == 0 || result.status == "success")
                {
                    shopDb.ThirdOrder.Add(new Data.ThirdOrder()
                    {
                        OrderNumber = order.OrderNumber,
                        ShopId      = model.ShopId,
                        ThirdType   = ThirdType.达达配送,
                        OrderStatus = OrderStatus.待接单
                    });

                    shopDb.ThirdMoneyReport.Add(new Data.ThirdMoneyReport()
                    {
                        ShopId      = model.ShopId,
                        OrderNumber = order.OrderNumber,
                        Amount      = result.result.fee,
                        AddTime     = DateTime.Now,
                        ProduceType = ProduceType.发起订单
                    });
                }
                shopDb.ThirdApiData.Add(new ThirdApiData()
                {
                    ShopId     = model.ShopId,
                    DaDaShopId = Convert.ToInt32(parametermodel.source_id),
                    AddTime    = DateTime.Now,
                    JsonData   = Data,
                    ResultData = JsonConvert.SerializeObject(result),
                    OrderId    = model.origin_id
                });
                shopDb.SaveChanges();
                return(result);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 5
0
        public async Task <APIResult> ThirdShopAdd([FromBody] ThirdShopArgs model)
        {
            if (model.ThirdShopModel == null)
            {
                throw new Exception("请输入门店信息");
            }
            double lat          = model.ThirdShopModel.FirstOrDefault().lat;
            double lng          = model.ThirdShopModel.FirstOrDefault().lng;
            var    converResult = BaiduMapUtil.GetBdToGd(model.ThirdShopModel.FirstOrDefault().lng, model.ThirdShopModel.FirstOrDefault().lat);

            model.ThirdShopModel.FirstOrDefault().lng = converResult.x;
            model.ThirdShopModel.FirstOrDefault().lat = converResult.y;

            var thirdshopcount = shopDb.ThirdShop.Where(r => r.ShopId == model.ShopId && r.Status == ThirdShop.ShopStatus.门店激活).Count();

            if (thirdshopcount > 0)
            {
                throw new Exception("暂不支持多门店");
            }
            var parametermodel = new ThirdPartyDistributionParameterModel();

            parametermodel.source_id = GetMerchant(model.ShopId).DaDaShopId.ToString(); //"73753";//
            var Data = JsonConvert.SerializeObject(model.ThirdShopModel);

            parametermodel.body = Data;
            var data   = parameter.ExThirdPartyDistributionParameterAction(parametermodel);
            var result = await httpClient.Post <ThirdShopResultModel>($"{thirdConfig.Url}/api/shop/add", data);

            if (result.code != 0 || result.status != "success")
            {
                throw new Exception(result.msg + "错误信息:" + result.result.failedList.FirstOrDefault().msg);
            }
            foreach (var item in model.ThirdShopModel)
            {
                shopDb.ThirdShop.Add(new ThirdShop()
                {
                    ShopId         = model.ShopId,
                    AreaName       = item.area_name,
                    Business       = item.business,
                    CityName       = item.city_name,
                    ContactName    = item.contact_name,
                    IdCard         = item.id_card,
                    Lat            = lat,
                    Lng            = lng,
                    OriginShopId   = item.origin_shop_id == null ? result.result.successList.FirstOrDefault().originShopId : item.origin_shop_id,
                    Phone          = item.phone,
                    StationAddress = item.station_address,
                    StationName    = item.station_name,
                    PassWord       = item.password,
                    UserName       = item.username,
                    Status         = ThirdShop.ShopStatus.门店激活
                });
                shopDb.SaveChanges();
            }

            return(Success(result));
        }
Exemplo n.º 6
0
        public async Task <APIResult> ThirdShopDetile([FromBody] ThirdShopDetail model)
        {
            var parametermodel = new ThirdPartyDistributionParameterModel();

            parametermodel.source_id = GetMerchant(model.ShopId).DaDaShopId.ToString();
            var Data = JsonConvert.SerializeObject(model);

            parametermodel.body = Data;
            var data   = parameter.ExThirdPartyDistributionParameterAction(parametermodel);
            var result = await httpClient.Post <ThirdShopInfoResult>($"{thirdConfig.Url}/api/shop/detail", data);

            return(Success(result));
        }
Exemplo n.º 7
0
        public async Task <APIResult> ThirdFormalCancel()
        {
            var parametermodel = new ThirdPartyDistributionParameterModel();

            parametermodel.source_id = "10264";//测试
            parametermodel.body      = "{}";
            var data   = parameter.ExThirdPartyDistributionParameterAction(parametermodel);
            var result = await httpClient.Post <ThirdCancelReasonsResult>($"{thirdConfig.Url}/api/order/cancel/reasons", data);

            if (result.errorCode != 0 || result.status != "success")
            {
                throw new Exception(result.msg);
            }
            return(Success(result));
        }
Exemplo n.º 8
0
        /// <summary>
        /// 查询运费预发布订单
        /// </summary>
        /// <param name="model"></param>
        /// <param name="order"></param>
        /// <returns></returns>
        public PreThirdAddOrderResult PreThirdAddOrder(ThirdShopAddOrderModel model)
        {
            try
            {
                var parametermodel = new ThirdPartyDistributionParameterModel();
                parametermodel.source_id = GetMerchant(model.ShopId).DaDaShopId.ToString();

                var Data = JsonConvert.SerializeObject(model);
                parametermodel.body = Data;
                var data   = parameter.ExThirdPartyDistributionParameterAction(parametermodel);
                var result = httpClient.Post <PreThirdAddOrderResult>($"{thirdoptions.Url}/api/order/queryDeliverFee", data).Result;
                if (result.errorCode == 0 || result.status == "success")
                {
                    var queryfee = shopDb.ThirdApiData.Where(r => r.OrderId == model.origin_id && r.JsonData == "QueryFee");
                    if (queryfee.Count() <= 0)
                    {
                        shopDb.ThirdApiData.Add(new ThirdApiData()
                        {
                            ShopId     = model.ShopId,
                            DaDaShopId = Convert.ToInt32(parametermodel.source_id),
                            AddTime    = DateTime.Now,
                            JsonData   = "QueryFee",
                            ResultData = JsonConvert.SerializeObject(result),
                            OrderId    = model.origin_id
                        });
                    }

                    //发起预订单成功后处理发起订单
                    //var afterresult = AddAfterQuery(new Servers.AddAfterQuery() { deliveryNo = result.result.deliveryNo, OrderNumber = model.origin_id, ShopId = model.ShopId, Fee = result.result.fee });
                }
                shopDb.ThirdApiData.Add(new ThirdApiData()
                {
                    ShopId     = model.ShopId,
                    DaDaShopId = Convert.ToInt32(parametermodel.source_id),
                    AddTime    = DateTime.Now,
                    JsonData   = Data,
                    ResultData = JsonConvert.SerializeObject(result),
                    OrderId    = model.origin_id
                });
                shopDb.SaveChanges();
                return(result);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 9
0
 /// <summary>
 /// 回调处理预订单发单
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public AddAfterResult CallbackAfter(AddAfterQuery model)
 {
     try
     {
         var parametermodel = new ThirdPartyDistributionParameterModel();
         parametermodel.source_id = GetMerchant(model.ShopId).DaDaShopId.ToString();
         var Data = JsonConvert.SerializeObject(model);
         parametermodel.body = Data;
         var data   = parameter.ExThirdPartyDistributionParameterAction(parametermodel);
         var result = httpClient.Post <AddAfterResult>($"{thirdoptions.Url}/api/order/addAfterQuery", data).Result;
         if (result.errorCode == 0 || result.status == "success")
         {
             shopDb.ThirdApiData.Add(new ThirdApiData()
             {
                 ShopId     = model.ShopId,
                 DaDaShopId = Convert.ToInt32(parametermodel.source_id),
                 AddTime    = DateTime.Now,
                 JsonData   = "CallbackAfter",
                 ResultData = JsonConvert.SerializeObject(result),
                 OrderId    = model.OrderNumber
             });
             //第三方配送订单记录
             shopDb.ThirdOrder.Add(new Data.ThirdOrder()
             {
                 OrderNumber = model.OrderNumber,
                 ShopId      = model.ShopId,
                 ThirdType   = ThirdType.达达配送,
                 OrderStatus = OrderStatus.待接单
             });
             //发起订单报表记录
             shopDb.ThirdMoneyReport.Add(new Data.ThirdMoneyReport()
             {
                 ShopId      = model.ShopId,
                 OrderNumber = model.OrderNumber,
                 Amount      = model.Fee,
                 AddTime     = DateTime.Now,
                 ProduceType = ProduceType.发起订单
             });
         }
         shopDb.SaveChanges();
         return(result);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Exemplo n.º 10
0
        public async Task <APIResult> ThirdShopRechargeQuery([FromBody] ThirdShopRechargeQueryModel model)
        {
            var parametermodel = new ThirdPartyDistributionParameterModel();

            parametermodel.source_id = GetMerchant(model.ShopId).DaDaShopId.ToString();
            var Data = JsonConvert.SerializeObject(model);

            parametermodel.body = Data;
            var data   = parameter.ExThirdPartyDistributionParameterAction(parametermodel);
            var result = await httpClient.Post <ThirdRechargeQueryResult>($"{thirdConfig.Url}/api/balance/query", data);

            if (result.errorCode != 0 || result.status != "success")
            {
                throw new Exception(result.msg);
            }
            return(Success(result.result));
        }
Exemplo n.º 11
0
        public async Task <APIResult> ThirdShopUpdate([FromBody] ThirdShopUpdateModel model)
        {
            double lat = model.lat;
            double lng = model.lng;

            var converResult = BaiduMapUtil.GetBdToGd(model.lng, model.lat);

            var parametermodel = new ThirdPartyDistributionParameterModel();

            parametermodel.source_id = GetMerchant(model.ShopId).DaDaShopId.ToString();
            model.lng = converResult.x;
            model.lat = converResult.y;

            var Data = JsonConvert.SerializeObject(model);

            parametermodel.body = Data;
            var data   = parameter.ExThirdPartyDistributionParameterAction(parametermodel);
            var result = await httpClient.Post <ThirdResultModel>($"{thirdConfig.Url}/api/shop/update", data);

            if (result.errorCode != 0 || result.status != "success")
            {
                throw new Exception(result.msg);
            }
            var thirdshop = shopDb.ThirdShop.FirstOrDefault(r => r.OriginShopId == model.origin_shop_id);

            if (thirdshop == null)
            {
                throw new Exception("找不到该门店");
            }

            thirdshop.ShopId         = model.ShopId;
            thirdshop.AreaName       = model.area_name;
            thirdshop.Business       = model.business;
            thirdshop.CityName       = model.city_name;
            thirdshop.ContactName    = model.contact_name;
            thirdshop.Lat            = lat;
            thirdshop.Lng            = lng;
            thirdshop.OriginShopId   = model.new_shop_id == null ? model.origin_shop_id : model.new_shop_id;
            thirdshop.Phone          = model.phone;
            thirdshop.StationAddress = model.station_address;
            thirdshop.StationName    = model.station_name;
            // thirdshop.Status = model.status;
            shopDb.SaveChanges();
            return(Success(result));
        }
Exemplo n.º 12
0
        public async Task <APIResult> OrderAccept([FromBody] OrderInfoQueryModel model)
        {
            var parametermodel = new ThirdPartyDistributionParameterModel();

            parametermodel.source_id = GetMerchant(model.ShopId).DaDaShopId.ToString();
            parametermodel.source_id = "73753";//测试
            var Data = JsonConvert.SerializeObject(model);

            parametermodel.body = Data;
            var data   = parameter.ExThirdPartyDistributionParameterAction(parametermodel);
            var result = await httpClient.Post <ThirdObjectResult>($"{thirdConfig.Url}/api/order/accept", data);//模拟接单

            //var result = await httpClient.Post<ThirdObjectResult>($"{thirdConfig.Url}/api/order/fetch", data);//模拟取货
            // var result = await httpClient.Post<ThirdObjectResult>($"{thirdConfig.Url}/api/order/finish", data);//模拟完成订单
            //var result = await httpClient.Post<ThirdObjectResult>($"{thirdConfig.Url}/api/order/cancel", data);//模拟取消订单
            //var result = await httpClient.Post<ThirdObjectResult>($"{thirdConfig.Url}/api/order/expire", data);//模拟订单过期
            return(Success(result));
        }
Exemplo n.º 13
0
        public async Task <CThirdInfoQuery> ThirdOrderQuery(COrderInfoQueryModel model)
        {
            var parametermodel = new ThirdPartyDistributionParameterModel();

            parametermodel.source_id = GetMerchant(model.ShopId).DaDaShopId.ToString();
            //parametermodel.source_id = "73753";//测试
            var Data = JsonConvert.SerializeObject(model);

            parametermodel.body = Data;
            var data   = parameter.ExThirdPartyDistributionParameterAction(parametermodel);
            var result = await httpClient.Post <CThirdInfoQueryResult>($"{thirdoptions.Url}/api/order/status/query", data);

            if (result.errorCode != 0 || result.status != "success")
            {
                // throw new Exception(result.msg);
                return(new CThirdInfoQuery());
            }
            return(result.result);
        }
Exemplo n.º 14
0
        public APIResult TestThird([FromBody] ThirdPartyDistributionModel model)
        {
            // RechargeModel rechargeModel = new RechargeModel() { amount = 10, category = "pc", notify_url = "" };
            var parametermodel = new ThirdPartyDistributionParameterModel();

            switch (model.ApiUrl)
            {
            case "/merchantApi/merchant/add":
                parametermodel.source_id = "";
                var merchant = new MerchantModel()
                {
                    mobile             = "15812808736",
                    city_name          = "东莞",
                    contact_name       = "万卓",
                    contact_phone      = "15812808736",
                    email              = "*****@*****.**",
                    enterprise_address = "百安中心A栋1006",
                    enterprise_name    = "惠吃惠喝"
                };
                model.Data = JsonConvert.SerializeObject(merchant);
                break;

            case "/api/shop/add":
                parametermodel.source_id = GetMerchant(model.ShopId).DaDaShopId.ToString();
                parametermodel.body      = model.Data;
                break;

            case "/api/cityCode/list":
                parametermodel.source_id = "73753";
                parametermodel.body      = model.Data;
                break;
            }
            parametermodel.body = model.Data;
            var data   = parameter.ExThirdPartyDistributionParameterAction(parametermodel);
            var result = httpClient.Post <object>($"{thirdConfig.Url + model.ApiUrl}", data);

            return(Success(result));
        }
Exemplo n.º 15
0
        public async Task <APIResult> ThirdMerchantAdd([FromBody] MerchantModel model)
        {
            var shop = shopDb.Shops.FirstOrDefault(r => r.Id == model.ShopId && !r.IsDel);

            if (shop == null)
            {
                throw new Exception("未找到商户");
            }
            var parametermodel = new ThirdPartyDistributionParameterModel();

            parametermodel.source_id = "";
            var Data = JsonConvert.SerializeObject(model);

            parametermodel.body = Data;
            var data   = parameter.ExThirdPartyDistributionParameterAction(parametermodel);
            var result = await httpClient.Post <ThirdResultModel>($"{thirdConfig.Url}/merchantApi/merchant/add", data);

            if (result.errorCode != 0 || result.status != "success")
            {
                throw new Exception(result.msg);
            }
            Merchant merchant = new Merchant();

            merchant.CityName          = model.city_name;
            merchant.ContactName       = model.contact_name;
            merchant.ContactPhone      = model.contact_phone;
            merchant.DaDaShopId        = result.result;
            merchant.Email             = model.email;
            merchant.EnterpriseAddress = model.enterprise_address;
            merchant.EnterpriseName    = model.enterprise_name;
            merchant.Mobile            = model.mobile;
            merchant.ShopId            = shop.Id;
            shopDb.Merchant.Add(merchant);
            shopDb.SaveChanges();
            return(Success(result));
        }