コード例 #1
0
        //[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));
        }
コード例 #2
0
        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());
        }