public APIResult TestOfx() { var OpenOfx = BaiduMapUtil.GetBdToGd(113.76031219944932, 23.012808108215836); var thirddshopaddmodel = new ThirdShopAddOrderModel() { ShopId = 11, origin_id = DateTime.Now.Ticks + CommonUtil.CreateNoncestr(5),// //shop_no = "11047059",//测试 shop_no = "9896-126130", cargo_type = -1, cargo_price = 10, city_code = "0769", is_prepay = 0, origin_mark = "HCHH", origin_mark_no = DateTime.Now.Ticks + CommonUtil.CreateNoncestr(5), receiver_lng = 113.7538969583704, receiver_lat = 23.00648851131533, receiver_phone = "15812808736", receiver_address = "百安中心", receiver_name = "万", callback = thirdConfig.CallBackUrl, }; var result = DbExtention.ThirdAmountFinish(shopDb, thirdConfig, new BLL.Third.CThirdShopRechargeQueryModel() { ShopId = 11, category = 1 }).Result; var preresult = new ThirdServer(shopDb, thirdConfig).PreThirdAddOrder(thirddshopaddmodel); return(Success()); }
/// <summary> /// 达达配送 /// </summary> /// <param name="db"></param> /// <param name="shopOrderid"></param> /// <param name="_logger"></param> public static async Task <ThirdAddOrderResult> ThirdOrderFinish(ShopDbContext db, ThirdConfig toptions, ShopOrder model, ILogger _logger, ExSource exSource) { var result = new ThirdAddOrderResult(); try { _logger.LogInformation("===========开始OrderFinish============="); if (model == null) { _logger.LogInformation($"============订单不存在============"); } var shoptakeoutinfo = db.ShopTakeOutInfo.FirstOrDefault(r => r.ShopId == model.ShopId && !r.IsDel); if (shoptakeoutinfo != null && shoptakeoutinfo.TakeDistributionType == TakeDistributionType.达达配送 && model.IsTakeOut) { _logger.LogInformation($"===========开始处理达达配送业务============="); _logger.LogInformation($"===========订单信息:{JsonConvert.SerializeObject(model)}============="); double fee = 0; model.Status = exSource == ExSource.发起支付 ? ShopOrderStatus.待支付 : ShopOrderStatus.待接单; ThirdServer thirdServer = new ThirdServer(db, toptions); var merchant = db.Merchant.FirstOrDefault(r => r.ShopId == model.ShopId); if (merchant == null) { _logger.LogInformation($"============商户ID{model.ShopId}未在达达开户============"); } var thirdshop = db.ThirdShop.FirstOrDefault(r => r.ShopId == model.ShopId && r.Status == Data.ThirdShop.ShopStatus.门店激活); if (thirdshop == null) { _logger.LogInformation($"============商户ID{model.ShopId}商户门店不存在============"); } var shopordertakeout = db.ShopOrderTakeouts.FirstOrDefault(r => r.ShopOrderId == model.Id && !r.IsDel); if (shoptakeoutinfo == null) { _logger.LogInformation($"============商户ID{model.ShopId}订单外卖信息不存在============"); } //处理达达配送 var thirddshopaddmodel = new ThirdShopAddOrderModel() { ShopId = model.ShopId, origin_id = model.OrderNumber,//DateTime.Now.Ticks + CommonUtil.CreateNoncestr(5),// //shop_no = "11047059",//测试 shop_no = thirdshop.OriginShopId, cargo_type = -1, cargo_price = model.Amount, city_code = "0769", is_prepay = 0, origin_mark = "HCHH", origin_mark_no = model.OrderNumber, receiver_lng = shopordertakeout.Longitude.Value, receiver_lat = shopordertakeout.Latitude.Value, receiver_phone = shopordertakeout.Phone, receiver_address = shopordertakeout.Address, receiver_name = shopordertakeout.Name, callback = toptions.CallBackUrl, }; _logger.LogInformation($"============商户ID{model.ShopId}达达配送信息:{JsonConvert.SerializeObject(thirddshopaddmodel)}============"); result = await thirdServer.ThirdAddOrder(thirddshopaddmodel, model); _logger.LogInformation($"============商户ID{model.ShopId}达达发单返回信息:{JsonConvert.SerializeObject(result)}============"); if (result.errorCode != 0 || result.status != "success") { _logger.LogInformation($"============商户ID{model.ShopId}达达发单失败。原因:{result.msg}============"); return(result); } // db.SaveChanges(); } } catch (Exception ex) { _logger.LogInformation($"===========OrderFinish出现异常=============="); _logger.LogInformation($"============{ex.Message} {ex.StackTrace}============"); } return(result); }
private APIResult CheckThird(ShopOrder shopOrder, int ShopId) { try { if (shopOrder.ShopPartId.HasValue || shopOrder.ShopOrderSelfHelpId.HasValue) { return(Success()); } var shopordertakeoutinfo = shopDb.ShopOrderTakeouts.FirstOrDefault(r => r.ShopOrderId == shopOrder.Id && !r.IsDel); if (shopordertakeoutinfo.TakeWay != TakeWay.送货上门) { return(Success()); } var shoptakeoutinfo = shopDb.ShopTakeOutInfo.FirstOrDefault(r => r.ShopId == ShopId && !r.IsDel); if (shoptakeoutinfo.TakeDistributionType == TakeDistributionType.商家配送) { return(Success()); } var thirdshop = shopDb.ThirdShop.FirstOrDefault(r => r.ShopId == ShopId); if (thirdshop == null || thirdshop.Status != Data.ThirdShop.ShopStatus.门店激活) { return(Error("配送门店状态不正常")); } var converResult = BaiduMapUtil.GetBdToGd(shopordertakeoutinfo.Longitude.Value, shopordertakeoutinfo.Latitude.Value); var thirddshopaddmodel = new ThirdShopAddOrderModel() { ShopId = shopOrder.ShopId, origin_id = shopOrder.OrderNumber, //DateTime.Now.Ticks + CommonUtil.CreateNoncestr(5),// //shop_no = "11047059",//测试 shop_no = thirdshop.OriginShopId, cargo_type = -1, cargo_price = shopOrder.Amount, city_code = "0769", is_prepay = 0, origin_mark = "HCHH", origin_mark_no = shopOrder.OrderNumber, receiver_lng = converResult.x, receiver_lat = converResult.y, receiver_phone = shopordertakeoutinfo.Phone, receiver_address = shopordertakeoutinfo.Address, receiver_name = shopordertakeoutinfo.Name, callback = thirdConfig.CallBackUrl, }; var result = DbExtention.ThirdAmountFinish(shopDb, thirdConfig, new BLL.Third.CThirdShopRechargeQueryModel() { ShopId = shopOrder.ShopId, category = 1 }).Result; var preresult = new ThirdServer(shopDb, thirdConfig).PreThirdAddOrder(thirddshopaddmodel); if (result.result.deliverBalance < preresult.result.fee) { return(Error("商家配送帐号余额不足")); } } catch (Exception ex) { throw new Exception($"出现错误:{ex.Message}{ex.StackTrace}"); } return(Success()); }