//[Authorize(AuthenticationSchemes = "jwt")] public APIResult GetInfo([FromBody] GetSingleArgs args) { var shopModel = db.Query <Shop>() .Where(m => m.Flag == args.Flag) .Select(m => new GetSingleModel() { AddIp = m.AddIp, AddTime = m.AddTime, AddUser = m.AddUser, Flag = m.Flag, Id = m.Id, Address = m.Address, AddressGuide = m.AddressGuide, Detail = m.Detail, IsDel = m.IsDel, Latitude = m.Latitude, Longitude = m.Longitude, Name = m.Name, OpenTime = m.OpenTime, ScoreValue = m.ScoreValue, Tel = m.Tel, UsePerUser = m.UsePerUser, Cover = m.Cover, IsSelfHelp = m.IsSelfHelp, Logo = m.Logo, }) .FirstOrDefault(); if (shopModel == null) { throw new Exception("记录不存在"); } shopModel.CurrentVersion = db.Query <ShopWechatOpenAuthorizer>() .Where(m => !m.IsDel) .Where(m => m.ShopId == shopModel.Id) .FirstOrDefault()?.CurrentTemplateUserVersion; if (shopModel.IsSelfHelp) //自助点餐 { shopModel.DiningWay = 0; shopModel.HasSelfHelpTakeout = true; //当前默认都有外带 ShopSelfHelpInfo selfHelpInfo = db.Query <ShopSelfHelpInfo>() .Where(m => !m.IsDel && m.ShopId == shopModel.Id) .FirstOrDefault(); if (selfHelpInfo != null && selfHelpInfo.HasBoxFee) { shopModel.SelfHelpBoxFee = selfHelpInfo.BoxFee; } //shopModel.HasSelfHelpTakeout = db.Query<ShopSelfHelpInfo>() // .Where(m => !m.IsDel && m.ShopId == shopModel.Id) // .FirstOrDefault()? // .HasTakeOut ?? false; } else { shopModel.DiningWay = 1; } var shopMemberSet = db.Query <ShopMemberSet>() .FirstOrDefault(m => !m.IsDel && m.ShopId == shopModel.Id); if (shopMemberSet == null) { shopModel.IsTopUpDiscount = false; } else { shopModel.IsTopUpDiscount = shopMemberSet.IsTopUpDiscount; } var viewModel = new GetInfoModel() { ShopInfo = shopModel, BannerModel = Utils.ExBannerModels.GetBannerList(db, args.Flag) }; viewModel.TakeOutInfo = db.Query <ShopTakeOutInfo>() .Where(m => !m.IsDel && m.ShopId == shopModel.Id) .Select(m => new TakeOutInfo() { IsUseTakeOut = m.IsUseTakeOut, BoxFee = m.BoxFee / 100m, DeliveryFee = m.DeliveryFee / 100m, IsOpen = m.IsOpen, MinAmount = m.MinAmount / 100m, StartTime = m.StartTime == null ? " " : m.StartTime.Value.ToString("HH:mm"), EndTime = m.EndTime == null ? " " : m.EndTime.Value.ToString("HH:mm") }) .FirstOrDefault(); if (shopModel.Latitude.HasValue && shopModel.Longitude.HasValue) { var TxCoordinate = BaiduMapUtil.CoverCoordinateToTX(shopModel.Latitude.Value, shopModel.Longitude.Value); shopModel.Latitude = TxCoordinate.lati; shopModel.Longitude = TxCoordinate.logi; } //shopMember信息 //try //{ // var memberId = GetMemberId(); // viewModel.ShopMember = db.Query<ShopMember>() // .Where(m => !m.IsDel && m.MemberId == memberId && m.ShopId == shopModel.Id) // .FirstOrDefault(); //} //catch (Exception) //{ //} return(Success(viewModel)); }
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()); }