/// <summary> /// 获取某应用的所有加入微小店的商品Id /// </summary> /// <param name="appId"></param> /// <returns></returns> public List <CommodityDistributionDTO> GetAppAllMicroshopCommoditysExt(Guid appId) { var entitys = (from commodity in Commodity.ObjectSet() where commodity.AppId == appId join commodityDistribution in CommodityDistribution.ObjectSet() on commodity.Id equals commodityDistribution.Id select commodityDistribution).ToList(); return(entitys.Select(x => x.ToEntityData()).ToList()); }
/// <summary> /// 获取分销商微小店信息 /// </summary> /// <param name="appId"></param> /// <param name="userId"></param> /// <returns></returns> public DistributionMicroShopDTO GetDistributionMicroShopExt(Guid appId, Guid userId) { DistributionMicroShopDTO distributionMicroShopDto = new DistributionMicroShopDTO(); try { var temp = (from ms in Microshop.ObjectSet() where ms.AppId == appId && ms.UserId == userId select new DistributionMicroShopDTO { Id = ms.Id, SubTime = ms.SubTime, ModifiedOn = ms.ModifiedOn, AppId = ms.AppId, UserId = ms.UserId, Logo = ms.Logo, QRCodeUrl = ms.QRCodeUrl, Name = ms.Name, Url = ms.Url, Type = (MicroshopTypeEnum)ms.Type.Value, Key = ms.Key }); distributionMicroShopDto = temp.FirstOrDefault(); if (distributionMicroShopDto != null) { //获取下架商品 var commodityIds = MicroshopCom.ObjectSet().Where(t => !t.IsDel && t.MicroshopId == distributionMicroShopDto.AppId).Select(c => c.CommodityId).Distinct().ToArray(); var dc = (from cd in CommodityDistribution.ObjectSet() join c in Commodity.ObjectSet() on cd.Id equals c.Id where commodityIds.Contains(c.Id) select new CommodityVM { Id = c.Id, Name = c.Name, Price = c.Price, MarketPrice = c.MarketPrice, Pic = c.PicturesPath, L1Percent = Math.Round((decimal)(cd.L1Percent * c.Price), 2), L2Percent = Math.Round((decimal)(cd.L2Percent * c.Price), 2), L3Percent = Math.Round((decimal)(cd.L3Percent * c.Price), 2) }); List <CommodityVM> commodityVmsD = new List <CommodityVM>(); foreach (var commodityVm in dc) { if (commodityVm.L1Percent == null || commodityVm.L2Percent == null || commodityVm.L3Percent == null) { var model = AppExtension.ObjectSet().FirstOrDefault(t => t.Id == appId); commodityVm.L1Percent = Math.Round((decimal)(model.DistributeL1Percent * commodityVm.Price), 2); commodityVm.L2Percent = Math.Round((decimal)(model.DistributeL2Percent * commodityVm.Price), 2); commodityVm.L3Percent = Math.Round((decimal)(model.DistributeL3Percent * commodityVm.Price), 2); } commodityVmsD.Add(commodityVm); } distributionMicroShopDto.DownCommodityDtos = commodityVmsD.ToList(); //获取符合条件的上架商品 var uc = (from cd in CommodityDistribution.ObjectSet() join c in Commodity.ObjectSet() on cd.Id equals c.Id where c.AppId == appId && !c.IsDel && c.CommodityType == 0 && c.State == 0 && !commodityIds.Contains(c.Id) select new CommodityVM { Id = c.Id, Name = c.Name, Price = c.Price, MarketPrice = c.MarketPrice, Pic = c.PicturesPath, L1Percent = Math.Round((decimal)(cd.L1Percent * c.Price), 2), L2Percent = Math.Round((decimal)(cd.L2Percent * c.Price), 2), L3Percent = Math.Round((decimal)(cd.L3Percent * c.Price), 2) }); List <CommodityVM> commodityVmsU = new List <CommodityVM>(); foreach (var commodityVm in uc) { if (commodityVm.L1Percent == null || commodityVm.L2Percent == null || commodityVm.L3Percent == null) { var model = AppExtension.ObjectSet().FirstOrDefault(t => t.Id == appId); commodityVm.L1Percent = Math.Round((decimal)(model.DistributeL1Percent * commodityVm.Price), 2); commodityVm.L2Percent = Math.Round((decimal)(model.DistributeL2Percent * commodityVm.Price), 2); commodityVm.L3Percent = Math.Round((decimal)(model.DistributeL3Percent * commodityVm.Price), 2); } commodityVmsU.Add(commodityVm); } distributionMicroShopDto.UpCommodityDtos = commodityVmsU.ToList(); } } catch (Exception ex) { LogHelper.Error(ex.ToString()); } return(distributionMicroShopDto); }
/// <summary> /// 是否可以取消积分 (平台启用了分销并且设置了值,或启用了众销且设置了值,就不能取消。) /// </summary> /// <param name="appId"></param> /// <returns></returns> public bool IsEnableCancelScoreExt(Guid appId) { ////app是否有积分功能项 //var isMyIntegral = BACBP.CheckMyIntegral(appId); //if (!isMyIntegral) //{ // return true; //} //获取全局配置 var appExtention = AppExtension.ObjectSet().Where(t => t.Id == appId).FirstOrDefault(); if (appExtention == null) { return(true); } //是否app启用分成推广,即众销 var isEnableShare = BACBP.CheckSharePromotion(appId); if (isEnableShare) { //如果启用,并且有值,就返回false,即不能修改 //全局 if (appExtention.IsDividendAll == true && appExtention.SharePercent > 0) { return(false); } //每个商品 if (appExtention.IsDividendAll == false) { var sharePercent = Commodity.ObjectSet().Where(t => t.AppId == appId).Select(t => t.SharePercent).ToList().Sum(); if (sharePercent > 0) { return(false); } } } //是否启用三级分销功能 var isEnableDistribute = BACBP.CheckAppDistribute(appId); if (isEnableDistribute) { //如果启用,并且有值,就返回false,即不能修改 //全局 if (appExtention.DistributeL1Percent > 0 || appExtention.DistributeL2Percent > 0 || appExtention.DistributeL3Percent > 0) { return(false); } //每个商品 var list = (from c in Commodity.ObjectSet() join cd in CommodityDistribution.ObjectSet() on c.Id equals cd.Id where c.AppId == appId select cd).ToList(); if (list.Count > 0) { var count = list.Select(t => t.L1Percent + t.L2Percent + t.L3Percent).ToList().Sum(); if (count > 0) { return(false); } } } return(true); }