From 05d32271f646149609d8b42016e11cf95d8d5a84 Mon Sep 17 00:00:00 2001 From: liaoxujun@qq.com <liaoxujun@qq.com> Date: 星期三, 10 四月 2024 11:18:05 +0800 Subject: [PATCH] 修改供应商价格显示 --- CoreCms.Net.RedisMQ/OrderAgentOrDistributionSubscribe.cs | 12 + CoreCms.Net.Repository/Good/CoreCmsGoodsRepository.cs | 45 ++++ CoreCms.Net.Model/Entities/User/CoreCmsUserPartial.cs | 5 CoreCms.Net.Services/Good/CoreCmsGoodsServices.cs | 19 + CoreCms.Net.Model/Entities/Order/CoreCmsOrderItemPartial.cs | 6 CoreCms.Net.Services/baifenbingfa/BfbfComAPIService.cs | 26 ++ CoreCms.Net.IServices/baifenbingfa/IBfbfComAPIService.cs | 7 CoreCms.Net.Services/Cart/CoreCmsCartServices.cs | 28 +++ CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html | 23 ++ CoreCms.Net.Web.Admin/wwwroot/views/bloggersinfo/edit.html | 2 CoreCms.Net.Web.WebApi/Controllers/PageController.cs | 6 CoreCms.Net.Web.WebApi/CoreCms.Net.Web.WebApi.xml | 4 CoreCms.Net.Model/Entities/Good/CoreCmsProducts.cs | 30 +++ CoreCms.Net.Services/Shop/CoreCmsPagesServices.cs | 63 ++++++ CoreCms.Net.Services/Distribution/CoreCmsDistributionServices.cs | 13 + CoreCms.Net.DTO/ComponentsDTO/GoodListDTO.cs | 14 + CoreCms.Net.Services/Distribution/CoreCmsDistributionOrderServices.cs | 54 ++++- CoreCms.Net.Configuration/GlobalEnumVars.cs | 6 CoreCms.Net.Web.Admin/wwwroot/views/bloggersinfo/create.html | 4 CoreCms.Net.Web.Admin/wwwroot/views/good/goods/create.html | 103 ++++++++++- CoreCms.Net.Web.Admin/wwwroot/lib/layuiAdmin/config.js | 2 CoreCms.Net.Web.WebApi/Controllers/GoodController.cs | 27 ++ 22 files changed, 442 insertions(+), 57 deletions(-) diff --git a/CoreCms.Net.Configuration/GlobalEnumVars.cs b/CoreCms.Net.Configuration/GlobalEnumVars.cs index cf004cc..8a15848 100644 --- a/CoreCms.Net.Configuration/GlobalEnumVars.cs +++ b/CoreCms.Net.Configuration/GlobalEnumVars.cs @@ -2325,6 +2325,12 @@ /// </summary> [Description("瀹℃牳鎷掔粷")] VerifyRefuse = 3, + + /// <summary> + /// 瀹℃牳鎷掔粷 + /// </summary> + [Description("鍙栨秷璧勬牸")] + VerifyCancel = 4, } /// <summary> /// 缁忛攢鍟嗚鍗曡褰曡〃鏄惁缁撶畻鐘舵�� diff --git a/CoreCms.Net.DTO/ComponentsDTO/GoodListDTO.cs b/CoreCms.Net.DTO/ComponentsDTO/GoodListDTO.cs index 99648bc..4585ad9 100644 --- a/CoreCms.Net.DTO/ComponentsDTO/GoodListDTO.cs +++ b/CoreCms.Net.DTO/ComponentsDTO/GoodListDTO.cs @@ -120,6 +120,20 @@ public System.Decimal price { get; set; } /// <summary> + /// 缁忛攢鍟嗕环鏍� + /// </summary> + public System.Decimal distributionPrice { get; set; } + + /// <summary> + /// 缁忛攢鍟嗚喘涔版彁鎴� + /// </summary> + public System.Decimal distributionCutMoney { get; set; } + /// <summary> + /// 鏅�氬晢鎴疯喘涔版彁鎴� + /// </summary> + public System.Decimal cutMoney { get; set; } + + /// <summary> /// 璐у搧甯傚満浠� /// </summary> diff --git a/CoreCms.Net.IServices/baifenbingfa/IBfbfComAPIService.cs b/CoreCms.Net.IServices/baifenbingfa/IBfbfComAPIService.cs index 59cbe73..dee9bc0 100644 --- a/CoreCms.Net.IServices/baifenbingfa/IBfbfComAPIService.cs +++ b/CoreCms.Net.IServices/baifenbingfa/IBfbfComAPIService.cs @@ -18,6 +18,13 @@ /// <param name="s"></param> /// <returns></returns> Task<List<SearchUserData>> SearchUserData(string s); + /// <summary> + /// 妫�鏌ョ敤鎴锋槸鍚︽槸缁忛攢鍟� + /// </summary> + /// <param name="UserId"></param> + /// <returns></returns> + + Task<bool> IsDictionary(int UserId); } diff --git a/CoreCms.Net.Model/Entities/Good/CoreCmsProducts.cs b/CoreCms.Net.Model/Entities/Good/CoreCmsProducts.cs index 6cd916a..8de145c 100644 --- a/CoreCms.Net.Model/Entities/Good/CoreCmsProducts.cs +++ b/CoreCms.Net.Model/Entities/Good/CoreCmsProducts.cs @@ -8,6 +8,7 @@ * Description: 鏆傛棤 ***********************************************************************/ +using Chuanyin.Attribute; using SqlSugar; using System.ComponentModel; using System.ComponentModel.DataAnnotations; @@ -17,6 +18,7 @@ /// <summary> /// 璐у搧琛� /// </summary> + public partial class CoreCmsProducts { /// <summary> @@ -98,8 +100,32 @@ public System.Decimal costprice { get; set; } - - + + + + + /// <summary> + /// 缁忛攢鍟嗕环鏍� + /// </summary> + [Display(Name = "缁忛攢鍟嗕环鏍�")] + [Required(ErrorMessage = "璇疯緭鍏0}")] + public System.Decimal distributionPrice { get; set; } + + /// <summary> + /// 缁忛攢鍟嗘彁鎴� + /// </summary> + [Display(Name = "缁忛攢鍟嗘彁鎴�")] + [Required(ErrorMessage = "璇疯緭鍏0}")] + [SugarColumn( DefaultValue ="0",ColumnDescription = "缁忛攢鍟嗘彁鎴�")] + public System.Decimal distributionCutMoney{ get; set; } + + /// <summary> + /// 鏅�氬晢鎴锋彁鎴� + /// </summary> + [Display(Name = "鏅�氬晢鎴锋彁鎴�")] + [Required(ErrorMessage = "璇疯緭鍏0}")] + [SugarColumn(DefaultValue = "0",ColumnDescription = "鏅�氬晢鎴锋彁鎴�")] + public System.Decimal cutMoney { get; set; } /// <summary> /// 璐у搧甯傚満浠� /// </summary> diff --git a/CoreCms.Net.Model/Entities/Order/CoreCmsOrderItemPartial.cs b/CoreCms.Net.Model/Entities/Order/CoreCmsOrderItemPartial.cs index 9c1c766..4adfbf1 100644 --- a/CoreCms.Net.Model/Entities/Order/CoreCmsOrderItemPartial.cs +++ b/CoreCms.Net.Model/Entities/Order/CoreCmsOrderItemPartial.cs @@ -29,7 +29,11 @@ [SugarColumn(IsIgnore = true)] public int reshipedNums { get; set; } = 0; - + /// <summary> + /// 璐у搧淇℃伅 + /// </summary> + [Navigate(NavigateType.OneToOne, nameof(productId))] + public CoreCmsProducts productInfo { get; set; } /// <summary> /// 褰撳墠閫�璐ф暟閲� /// </summary> diff --git a/CoreCms.Net.Model/Entities/User/CoreCmsUserPartial.cs b/CoreCms.Net.Model/Entities/User/CoreCmsUserPartial.cs index db01da6..ca5372b 100644 --- a/CoreCms.Net.Model/Entities/User/CoreCmsUserPartial.cs +++ b/CoreCms.Net.Model/Entities/User/CoreCmsUserPartial.cs @@ -34,6 +34,11 @@ /// </summary> [SugarColumn(IsIgnore = true)] public string parentNickName { get; set; } + /// <summary> + /// 鐢ㄦ埛绛夌骇 + /// </summary> + [Navigate(NavigateType.OneToOne, nameof(grade))]//涓�瀵逛竴 SchoolId鏄疭tudentA绫婚噷闈㈢殑 + public CoreCmsUserGrade gradeInfo { get; set; } } } \ No newline at end of file diff --git a/CoreCms.Net.RedisMQ/OrderAgentOrDistributionSubscribe.cs b/CoreCms.Net.RedisMQ/OrderAgentOrDistributionSubscribe.cs index 658deb0..3d0309c 100644 --- a/CoreCms.Net.RedisMQ/OrderAgentOrDistributionSubscribe.cs +++ b/CoreCms.Net.RedisMQ/OrderAgentOrDistributionSubscribe.cs @@ -2,6 +2,7 @@ using System.Threading.Tasks; using CoreCms.Net.Configuration; using CoreCms.Net.IServices; +using CoreCms.Net.IServices.baifenbingfa; using CoreCms.Net.Loging; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.ViewModels.UI; @@ -29,8 +30,10 @@ private readonly ICoreCmsUserServices _userServices; private readonly ICoreCmsAgentOrderServices _agentOrderServices; + private readonly IBfbfComAPIService _bfbfComAPIService; - public OrderAgentOrDistributionSubscribe(ICoreCmsBillPaymentsServices billPaymentsServices, ICoreCmsDistributionOrderServices distributionOrderServices, ICoreCmsDistributionServices distributionServices, ICoreCmsSettingServices settingServices, ICoreCmsUserServices userServices, ICoreCmsAgentOrderServices agentOrderServices) + + public OrderAgentOrDistributionSubscribe(ICoreCmsBillPaymentsServices billPaymentsServices, ICoreCmsDistributionOrderServices distributionOrderServices, ICoreCmsDistributionServices distributionServices, ICoreCmsSettingServices settingServices, ICoreCmsUserServices userServices, ICoreCmsAgentOrderServices agentOrderServices ,IBfbfComAPIService bfbfComAPIService) { _billPaymentsServices = billPaymentsServices; _distributionOrderServices = distributionOrderServices; @@ -38,6 +41,8 @@ _settingServices = settingServices; _userServices = userServices; _agentOrderServices = agentOrderServices; + _bfbfComAPIService= bfbfComAPIService; + } /// <summary> @@ -77,8 +82,11 @@ var jm = await _distributionOrderServices.AddData(order); //娣诲姞鍒嗕韩鍏宠仈璁㈠崟鏃ュ織 //鍒ゆ柇鏄惁鍙互鎴愪负缁忛攢鍟� //鍏堝垽鏂槸鍚﹀凡缁忔槸缁忛攢鍟嗕簡銆� + //鐧惧垎鍏垫硶鍚屾剰鍒ゅ喅缁忛攢鍟� bool check = await _distributionServices.ExistsAsync(p => p.userId == order.userId); - var distributionType = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.DistributionType).ObjectToInt(0); + //bool check = await _bfbfComAPIService.IsDictionary( order.userId); + + var distributionType = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.DistributionType).ObjectToInt(0); if (distributionType == 3) //鏃犻渶瀹℃牳锛屼絾鏄婊¤冻鎻愪氦 { var info = new CoreCmsDistribution(); diff --git a/CoreCms.Net.Repository/Good/CoreCmsGoodsRepository.cs b/CoreCms.Net.Repository/Good/CoreCmsGoodsRepository.cs index 993ef7f..708ef60 100644 --- a/CoreCms.Net.Repository/Good/CoreCmsGoodsRepository.cs +++ b/CoreCms.Net.Repository/Good/CoreCmsGoodsRepository.cs @@ -16,6 +16,7 @@ using CoreCms.Net.DTO.ComponentsDTO; using CoreCms.Net.IRepository; using CoreCms.Net.IRepository.UnitOfWork; +using CoreCms.Net.IServices.baifenbingfa; using CoreCms.Net.Loging; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.FromBody; @@ -23,6 +24,7 @@ using CoreCms.Net.Model.ViewModels.UI; using CoreCms.Net.Utility.Helper; using Newtonsoft.Json; +using NPOI.POIFS.Properties; using SqlSugar; namespace CoreCms.Net.Repository @@ -32,8 +34,10 @@ /// </summary> public class CoreCmsGoodsRepository : BaseRepository<CoreCmsGoods>, ICoreCmsGoodsRepository { - public CoreCmsGoodsRepository(IUnitOfWork unitOfWork) : base(unitOfWork) + private readonly IBfbfComAPIService _bfbfComAPIService; + public CoreCmsGoodsRepository(IUnitOfWork unitOfWork,IBfbfComAPIService bfbfComAPIService) : base(unitOfWork) { + _bfbfComAPIService = bfbfComAPIService; } @@ -181,6 +185,7 @@ obj.goodsId = id; obj.barcode = goods.bn; obj.sn = p.sn; + obj.price = p.price; obj.costprice = p.costprice; obj.mktprice = p.mktprice; @@ -194,6 +199,10 @@ obj.isDefalut = p.isDefalut; obj.isDel = false; obj.images = p.images; + //鐧惧垎鍏垫硶娣诲姞 + obj.distributionCutMoney = p.distributionCutMoney; + obj.cutMoney = p.cutMoney; + obj.distributionPrice= p.distributionPrice; products.Add(obj); var pd = new CoreCmsProductsDistribution(); @@ -202,6 +211,7 @@ pd.levelOne = p.levelOne; pd.levelTwo = p.levelTwo; pd.levelThree = p.levelThree; + pds.Add(pd); }); @@ -244,6 +254,9 @@ obj.isDefalut = true; obj.isDel = false; obj.images = oldObj.images; + obj.distributionCutMoney = oldObj.distributionCutMoney; + obj.cutMoney = oldObj.cutMoney; + obj.distributionPrice = oldObj.distributionPrice; if (string.IsNullOrEmpty(obj.images)) { @@ -535,6 +548,9 @@ p.points = child.points; p.stock = child.stock; p.weight = child.weight; + p.distributionPrice = child.distributionPrice; + p.cutMoney = child.cutMoney; + p.distributionCutMoney = child.distributionCutMoney; } }); @@ -618,6 +634,9 @@ obj.points = p.points; obj.isDefalut = p.isDefalut; obj.images = p.images; + obj.distributionPrice = p.distributionPrice; + obj.cutMoney = p.cutMoney; + obj.distributionCutMoney = p.distributionCutMoney; if (string.IsNullOrEmpty(p.images)) { obj.images = oldModel.image; @@ -675,6 +694,9 @@ obj.images = newObj.images; obj.isDefalut = true; obj.isDel = false; + obj.distributionPrice = newObj.distributionPrice; + obj.cutMoney = newObj.cutMoney; + obj.distributionCutMoney = newObj.distributionCutMoney; if (string.IsNullOrEmpty(newObj.images)) { obj.images = oldModel.image; @@ -707,6 +729,9 @@ obj.spesDesc = ""; obj.isDefalut = true; obj.isDel = false; + obj.distributionPrice = newObj.distributionPrice; + obj.cutMoney = newObj.cutMoney; + obj.distributionCutMoney = newObj.distributionCutMoney; if (string.IsNullOrEmpty(newObj.images)) { obj.images = oldModel.image; @@ -1709,6 +1734,9 @@ isRecommend = good.isRecommend, isHot = good.isHot, price = pd.price, + distributionCutMoney = pd.distributionCutMoney, + cutMoney = pd.cutMoney, + distributionPrice = pd.distributionPrice, mktprice = pd.mktprice, stock = pd.stock, pointsDeduction = pd.pointsDeduction, @@ -1751,6 +1779,9 @@ createTime = good.createTime, isRecommend = good.isRecommend, isHot = good.isHot, + distributionCutMoney = pd.distributionCutMoney, + cutMoney = pd.cutMoney, + distributionPrice = pd.distributionPrice, price = pd.price, mktprice = pd.mktprice, stock = pd.stock, @@ -2216,6 +2247,9 @@ labelIds = good.labelIds, createTime = good.createTime, isRecommend = good.isRecommend, + distributionPrice = pd.distributionPrice, + distributionCutMoney = pd.distributionCutMoney, + cutMoney = pd.cutMoney, isHot = good.isHot, price = pd.price, mktprice = pd.mktprice, @@ -2262,6 +2296,9 @@ isRecommend = good.isRecommend, isHot = good.isHot, price = pd.price, + distributionPrice = pd.distributionPrice, + distributionCutMoney = pd.distributionCutMoney, + cutMoney = pd.cutMoney, mktprice = pd.mktprice, stock = pd.stock, pointsDeduction = pd.pointsDeduction, @@ -2322,6 +2359,9 @@ labelIds = good.labelIds, createTime = good.createTime, isRecommend = good.isRecommend, + distributionCutMoney = pd.distributionCutMoney, + cutMoney = pd.cutMoney, + distributionPrice=pd.distributionPrice, isHot = good.isHot, price = pd.price, mktprice = pd.mktprice, @@ -2368,6 +2408,9 @@ isRecommend = good.isRecommend, isHot = good.isHot, price = pd.price, + distributionCutMoney = pd.distributionCutMoney, + cutMoney = pd.cutMoney, + distributionPrice = pd.distributionPrice, mktprice = pd.mktprice, stock = pd.stock, pointsDeduction = pd.pointsDeduction, diff --git a/CoreCms.Net.Services/Cart/CoreCmsCartServices.cs b/CoreCms.Net.Services/Cart/CoreCmsCartServices.cs index 87df3b3..fd19fc0 100644 --- a/CoreCms.Net.Services/Cart/CoreCmsCartServices.cs +++ b/CoreCms.Net.Services/Cart/CoreCmsCartServices.cs @@ -12,10 +12,12 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using CoreCms.Net.Auth.HttpContextUser; using CoreCms.Net.Configuration; using CoreCms.Net.IRepository; using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.IServices; +using CoreCms.Net.IServices.baifenbingfa; using CoreCms.Net.Loging; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.Entities.Expression; @@ -57,6 +59,8 @@ private readonly ICoreCmsSolitaireServices _solitaireServices; private readonly ICoreCmsUserShipServices _userShipServices; private readonly ICoreCmsStoreServices _storeServices; + private readonly IBfbfComAPIService _bfbfComAPIService; + private readonly IHttpContextUser _user; public CoreCmsCartServices( ICoreCmsCartRepository dal @@ -69,7 +73,17 @@ , ICoreCmsUserServices userServices , ICoreCmsSettingServices settingServices , ICoreCmsProductsServices productsServices - , ICoreCmsPinTuanGoodsServices pinTuanGoodsServices, ICoreCmsPromotionConditionServices promotionConditionServices, ICoreCmsGoodsServices goodsServices, ICoreCmsGoodsCategoryServices goodsCategoryServices, ICoreCmsPromotionResultServices promotionResultServices, ICoreCmsPinTuanRecordServices pinTuanRecordServices, ICoreCmsSolitaireServices solitaireServices, ICoreCmsUserShipServices userShipServices, ICoreCmsStoreServices storeServices) + , ICoreCmsPinTuanGoodsServices pinTuanGoodsServices + , IBfbfComAPIService bfbfComAPIService + ,ICoreCmsPromotionConditionServices promotionConditionServices + , ICoreCmsGoodsServices goodsServices + , ICoreCmsGoodsCategoryServices goodsCategoryServices + , ICoreCmsPromotionResultServices promotionResultServices + , ICoreCmsPinTuanRecordServices pinTuanRecordServices + , ICoreCmsSolitaireServices solitaireServices + , ICoreCmsUserShipServices userShipServices + , ICoreCmsStoreServices storeServices + ,IHttpContextUser user) { this._dal = dal; base.BaseDal = dal; @@ -92,6 +106,8 @@ _solitaireServices = solitaireServices; _userShipServices = userShipServices; _storeServices = storeServices; + _bfbfComAPIService = bfbfComAPIService; + _user = user; } #region 璁剧疆璐墿杞﹀晢鍝佹暟閲�==================================================== @@ -515,6 +531,16 @@ { case (int)GlobalEnumVars.OrderType.Common: //鏍囧噯妯″紡涓嶉渶瑕佷慨鏀硅鍗曟暟鎹拰鍟嗗搧鏁版嵁 + { + if(await _bfbfComAPIService.IsDictionary(_user.ID)) + { + foreach (var item in cartDto.list) + { + item.products.price=item.products.distributionPrice; + + } + } + } break; case (int)GlobalEnumVars.OrderType.PinTuan: //鎷煎洟妯″紡璧版嫾鍥环锛屽幓淇敼鍟嗗搧浠锋牸 diff --git a/CoreCms.Net.Services/Distribution/CoreCmsDistributionOrderServices.cs b/CoreCms.Net.Services/Distribution/CoreCmsDistributionOrderServices.cs index d31de0a..a139dce 100644 --- a/CoreCms.Net.Services/Distribution/CoreCmsDistributionOrderServices.cs +++ b/CoreCms.Net.Services/Distribution/CoreCmsDistributionOrderServices.cs @@ -17,6 +17,7 @@ using CoreCms.Net.IRepository; using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.IServices; +using CoreCms.Net.IServices.baifenbingfa; using CoreCms.Net.Loging; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.ViewModels.Basics; @@ -45,10 +46,11 @@ private readonly ICoreCmsGoodsServices _goodsServices; private readonly ICoreCmsDistributionOrderDetailsServices _distributionOrderDetailsServices; private readonly ICoreCmsSettingServices _settingServices; + private readonly IBfbfComAPIService _bfbfComAPIService; private readonly IUnitOfWork _unitOfWork; - public CoreCmsDistributionOrderServices(IUnitOfWork unitOfWork, ICoreCmsDistributionOrderRepository dal, ICoreCmsDistributionServices distributionServices, ICoreCmsUserBalanceServices balanceServices, ICoreCmsOrderServices orderServices, ICoreCmsUserServices userServices, ICoreCmsOrderItemServices orderItemServices, ICoreCmsProductsDistributionServices productsDistributionServices, ICoreCmsProductsServices productsServices, ICoreCmsGoodsServices goodsServices, ICoreCmsDistributionOrderDetailsServices distributionOrderDetailsServices, ICoreCmsSettingServices settingServices) + public CoreCmsDistributionOrderServices(IBfbfComAPIService bfbfComAPIService, IUnitOfWork unitOfWork, ICoreCmsDistributionOrderRepository dal, ICoreCmsDistributionServices distributionServices, ICoreCmsUserBalanceServices balanceServices, ICoreCmsOrderServices orderServices, ICoreCmsUserServices userServices, ICoreCmsOrderItemServices orderItemServices, ICoreCmsProductsDistributionServices productsDistributionServices, ICoreCmsProductsServices productsServices, ICoreCmsGoodsServices goodsServices, ICoreCmsDistributionOrderDetailsServices distributionOrderDetailsServices, ICoreCmsSettingServices settingServices) { this._dal = dal; _distributionServices = distributionServices; @@ -63,6 +65,7 @@ _settingServices = settingServices; base.BaseDal = dal; _unitOfWork = unitOfWork; + _bfbfComAPIService = bfbfComAPIService; } @@ -101,7 +104,8 @@ if (user is { parentId: > 0 }) { //鑾峰彇璐墿鏄庣粏 - var orderItems = await _orderItemServices.QueryListByClauseAsync(p => p.orderId == order.orderId); + var orderItems = await _unitOfWork.GetDbClient().Queryable<CoreCmsOrderItem>().Where(p => p.orderId == order.orderId).Includes(x => x.productInfo).ToListAsync(); + //await _orderItemServices.QueryListByClauseAsync(p => p.orderId == order.orderId); var goodIds = orderItems.Select(p => p.goodsId).ToList(); var productIds = orderItems.Select(p => p.productId).ToList(); //鑾峰彇璐у搧鏁版嵁 @@ -142,6 +146,7 @@ var user = await _userServices.QueryByClauseAsync(p => p.id == userId); if (user != null) { + var commission = await _distributionServices.GetGradeAndCommission(user.id); if (commission.status && commission.data != null) //涓嶆槸缁忛攢鍟嗙殑锛屼笉杩斿埄銆� { @@ -149,7 +154,8 @@ //鐩磋繑鏈骇 decimal amount = 0; var distributionOrderDetails = new List<CoreCmsDistributionOrderDetails>(); - + //鐧惧垎鍏垫硶鍒ゆ柇璁㈠崟鐢ㄦ埛鏄惁鏄粡閿�鍟� + bool OderUserIsDic = await _bfbfComAPIService.IsDictionary(order.userId); foreach (var item in orderItems) { var orderDetails = new CoreCmsDistributionOrderDetails(); @@ -197,6 +203,8 @@ //濡傛灉鍘绘帀浼樻儬闇�瑕佽礋浜嗭紝灏变负0 if (itemAmount < 0) itemAmount = 0; + + mathMoney = level switch { //涓�绾у垎閿� @@ -230,17 +238,37 @@ { continue; } - - mathMoney = level switch + //鐧惧垎鍏垫硶鍩烘暟鎸� + switch (level) { - 1 when productsDistribution.levelOne > 0 => Math.Round( - productsDistribution.levelOne * item.nums, 2), - 2 when productsDistribution.levelTwo > 0 => Math.Round( - productsDistribution.levelTwo * item.nums, 2), - 3 when productsDistribution.levelThree > 0 => Math.Round( - productsDistribution.levelThree * item.nums, 2), - _ => mathMoney - }; + case 1 : + + if(OderUserIsDic) + //鏄粡閿�鍟嗚喘涔� + mathMoney = item.productInfo.distributionCutMoney; + else + //闈炵粡閿�鍟嗚喘涔� + mathMoney= item.productInfo.cutMoney ; + + break; + case 2 when productsDistribution.levelTwo > 0: + break; + case 3 when productsDistribution.levelThree>0: + break; + default: + break; + } + //鍘熶剑閲戣绠楁柟娉� + //mathMoney = level switch + //{ + // 1 when productsDistribution.levelOne > 0 => Math.Round( + // productsDistribution.levelOne * item.nums, 2), + // 2 when productsDistribution.levelTwo > 0 => Math.Round( + // productsDistribution.levelTwo * item.nums, 2), + // 3 when productsDistribution.levelThree > 0 => Math.Round( + // productsDistribution.levelThree * item.nums, 2), + // _ => mathMoney + //}; } amount += mathMoney; diff --git a/CoreCms.Net.Services/Distribution/CoreCmsDistributionServices.cs b/CoreCms.Net.Services/Distribution/CoreCmsDistributionServices.cs index 4d4ecc8..9d0198c 100644 --- a/CoreCms.Net.Services/Distribution/CoreCmsDistributionServices.cs +++ b/CoreCms.Net.Services/Distribution/CoreCmsDistributionServices.cs @@ -17,6 +17,7 @@ using CoreCms.Net.IRepository; using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.IServices; +using CoreCms.Net.IServices.baifenbingfa; using CoreCms.Net.Loging; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.Entities.Distribution; @@ -52,8 +53,9 @@ private readonly ICoreCmsSettingServices _settingServices; private readonly IUnitOfWork _unitOfWork; private readonly ICoreCmsUserBalanceServices _userBalanceServices; + private readonly IBfbfComAPIService _bfbfComAPIService; - public CoreCmsDistributionServices(IUnitOfWork unitOfWork, ICoreCmsDistributionRepository dal, ICoreCmsDistributionOrderRepository distributionOrderRepository, ICoreCmsUserRepository userRepository, ICoreCmsGoodsRepository goodsRepository, ICoreCmsUserGradeRepository userGradeRepository, ICoreCmsSettingServices settingServices, ICoreCmsOrderRepository orderRepository, ICoreCmsDistributionGradeRepository distributionGradeRepository, ICoreCmsDistributionResultRepository distributionResultRepository, ICoreCmsDistributionConditionServices coreCmsDistributionConditionServices, ICoreCmsUserBalanceServices userBalanceServices) + public CoreCmsDistributionServices(IBfbfComAPIService bfbfComAPIService, IUnitOfWork unitOfWork, ICoreCmsDistributionRepository dal, ICoreCmsDistributionOrderRepository distributionOrderRepository, ICoreCmsUserRepository userRepository, ICoreCmsGoodsRepository goodsRepository, ICoreCmsUserGradeRepository userGradeRepository, ICoreCmsSettingServices settingServices, ICoreCmsOrderRepository orderRepository, ICoreCmsDistributionGradeRepository distributionGradeRepository, ICoreCmsDistributionResultRepository distributionResultRepository, ICoreCmsDistributionConditionServices coreCmsDistributionConditionServices, ICoreCmsUserBalanceServices userBalanceServices) { this._dal = dal; _distributionOrderRepository = distributionOrderRepository; @@ -68,6 +70,7 @@ base.BaseDal = dal; _unitOfWork = unitOfWork; _userBalanceServices = userBalanceServices; + _bfbfComAPIService = bfbfComAPIService; } @@ -413,6 +416,12 @@ public async Task<WebApiCallBack> GetGradeAndCommission(int userId) { var jm = new WebApiCallBack(); + //鐧惧垎鍏垫硶鍒ゆ柇鏄惁鏄粡閿�鍟� + if(await _bfbfComAPIService.IsDictionary(userId)) + { + jm.msg = "涓嶆槸缁忛攢鍟嗙殑锛屼笉杩斿埄"; + return jm; + } var info = await _dal.QueryByClauseAsync(p => p.userId == userId); if (info == null) @@ -720,7 +729,7 @@ var da= await _dal.GetCountAsync(x=>x.userId== Parma.UserID && x.verifyStatus== (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes,isDataCache:true,cacheTimes:1); if (da == 0) return true; - var oder = new DistributionAchievementOrder + DistributionAchievementOrder oder = new DistributionAchievementOrder { achievementTotal = Parma.Money, createBy = "缁忛攢鍟嗕笟缁╁啓鍏�", diff --git a/CoreCms.Net.Services/Good/CoreCmsGoodsServices.cs b/CoreCms.Net.Services/Good/CoreCmsGoodsServices.cs index b0d34f9..549ec6a 100644 --- a/CoreCms.Net.Services/Good/CoreCmsGoodsServices.cs +++ b/CoreCms.Net.Services/Good/CoreCmsGoodsServices.cs @@ -19,6 +19,7 @@ using CoreCms.Net.IRepository; using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.IServices; +using CoreCms.Net.IServices.baifenbingfa; using CoreCms.Net.Loging; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.Entities.Expression; @@ -53,6 +54,7 @@ private readonly ICoreCmsOrderItemServices _orderItemServices; private readonly ICoreCmsUserServices _userServices; private readonly ICoreCmsUserGradeServices _userGradeServices; + private readonly IBfbfComAPIService _bfbfComAPIService; private readonly IServiceProvider _serviceProvider; @@ -64,7 +66,7 @@ , ICoreCmsPromotionServices promotionServices , ICoreCmsGoodsCollectionServices goodsCollectionServices , ICoreCmsBrandServices brandServices - , ICoreCmsOrderItemServices orderItemServices, ICoreCmsUserServices userServices, ICoreCmsUserGradeServices userGradeServices, IServiceProvider serviceProvider) + , ICoreCmsOrderItemServices orderItemServices, ICoreCmsUserServices userServices, ICoreCmsUserGradeServices userGradeServices, IServiceProvider serviceProvider, IBfbfComAPIService bfbfComAPIService) { this._dal = dal; base.BaseDal = dal; @@ -79,6 +81,8 @@ _userServices = userServices; _userGradeServices = userGradeServices; _serviceProvider = serviceProvider; + _bfbfComAPIService = bfbfComAPIService; + } @@ -609,6 +613,8 @@ //鑾峰彇浼氬憳绾у埆浼樻儬浠� //鑾峰彇浼氬憳绛夌骇浼樻儬浠锋牸浣撶郴 decimal gradePrice = 0; + //鐧惧垎鍏垫硶澧炲姞 + bool IsDictionary = await _bfbfComAPIService.IsDictionary(userId); if (userId > 0 && type == "goods") { //鑾峰彇鐢ㄦ埛淇℃伅 @@ -616,6 +622,8 @@ if (userInfo != null) { var goodsGrades = await _goodsGradeServices.QueryByClauseAsync(p => p.goodsId == good.id && p.gradeId == userInfo.grade); + //瀵规帴缁忛攢鍟嗕細鍛� + if (goodsGrades != null) { gradePrice = goodsGrades.gradePrice; @@ -818,7 +826,10 @@ item.goods_id = good.id.ToString(); item.goods_name = good.name; item.image = o.images; + if(!IsDictionary) item.price = o.price - gradePrice; //鍑忓幓浼氬憳绛夌骇浠锋牸 + else + item.price = o.distributionPrice; item.sku_name_arr = o.spesDesc.Split(",").Select(s => s.Split(":")[1]).ToList(); item.stock = o.stock; item.mktPrice = o.mktprice; @@ -868,7 +879,11 @@ item.goods_id = good.id.ToString(); item.goods_name = good.name; item.image = o.images; - item.price = o.price - gradePrice; //鍑忓幓浼氬憳绛夌骇浠锋牸 + if (!IsDictionary) + item.price = o.price - gradePrice; //鍑忓幓浼氬憳绛夌骇浠锋牸 + else + item.price = o.distributionPrice; + //item.price = o.price - gradePrice; //鍑忓幓浼氬憳绛夌骇浠锋牸 item.sku_name_arr = new List<string> { "榛樿" }; item.stock = o.stock; item.mktPrice = o.mktprice; diff --git a/CoreCms.Net.Services/Shop/CoreCmsPagesServices.cs b/CoreCms.Net.Services/Shop/CoreCmsPagesServices.cs index c7a4a3d..c8c2147 100644 --- a/CoreCms.Net.Services/Shop/CoreCmsPagesServices.cs +++ b/CoreCms.Net.Services/Shop/CoreCmsPagesServices.cs @@ -12,11 +12,13 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using CoreCms.Net.Auth.HttpContextUser; using CoreCms.Net.Configuration; using CoreCms.Net.DTO.ComponentsDTO; using CoreCms.Net.IRepository; using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.IServices; +using CoreCms.Net.IServices.baifenbingfa; using CoreCms.Net.Loging; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.Entities.Expression; @@ -53,12 +55,25 @@ private readonly ICoreCmsPinTuanRuleServices _pinTuanRuleServices; private readonly ICoreCmsServicesServices _servicesServices; private readonly ICoreCmsGoodsCategoryExtendServices _goodsCategoryExtendServices; - - + private readonly IHttpContextUser _contextUser; + private readonly IBfbfComAPIService _bfbfComAPIService; private readonly IUnitOfWork _unitOfWork; public CoreCmsPagesServices(IUnitOfWork unitOfWork , ICoreCmsPagesRepository dal - , ICoreCmsPagesItemsRepository pagesItemsRepository, ICoreCmsPromotionServices promotionServices, ICoreCmsNoticeServices noticeServices, ICoreCmsGoodsCategoryServices goodsCategoryServices, ICoreCmsSettingServices settingServices, ICoreCmsGoodsServices goodsServices, ICoreCmsArticleServices articleServices, ICoreCmsPromotionConditionServices promotionConditionServices, ICoreCmsPinTuanRuleServices pinTuanRuleServices, ICoreCmsServicesServices servicesServices, ICoreCmsArticleTypeServices articleTypeServices, ICoreCmsGoodsCategoryExtendServices goodsCategoryExtendServices) + , ICoreCmsPagesItemsRepository pagesItemsRepository, + ICoreCmsPromotionServices promotionServices, + ICoreCmsNoticeServices noticeServices, + ICoreCmsGoodsCategoryServices goodsCategoryServices, + ICoreCmsSettingServices settingServices, + ICoreCmsGoodsServices goodsServices, + ICoreCmsArticleServices articleServices, + ICoreCmsPromotionConditionServices promotionConditionServices, + ICoreCmsPinTuanRuleServices pinTuanRuleServices, + ICoreCmsServicesServices servicesServices, + ICoreCmsArticleTypeServices articleTypeServices, + ICoreCmsGoodsCategoryExtendServices goodsCategoryExtendServices, + IHttpContextUser httpContextUser, + IBfbfComAPIService bfbfComAPIService) { this._dal = dal; _pagesItemsRepository = pagesItemsRepository; @@ -75,6 +90,8 @@ _goodsCategoryExtendServices = goodsCategoryExtendServices; base.BaseDal = dal; _unitOfWork = unitOfWork; + _contextUser= httpContextUser; + _bfbfComAPIService = bfbfComAPIService; } @@ -138,7 +155,8 @@ /// <returns></returns> public async Task<WebApiCallBack> GetPageConfig(string code) { - + var userID= _contextUser.ID; + var jm = new WebApiCallBack(); var wherePage = PredicateBuilder.True<CoreCmsPages>(); @@ -265,6 +283,7 @@ break; case "goodTabBar": { + bool isDic = await _bfbfComAPIService.IsDictionary(_contextUser.ID); var parameters = (JObject)JsonConvert.DeserializeObject(item.parameters); if (parameters != null && parameters.ContainsKey("list")) { @@ -305,7 +324,17 @@ limit = limit > 0 ? limit : 10; var goods = await _goodsServices.QueryListByComponentsAsync(where, limit, p => p.createTime, OrderByType.Desc, true, true, 60); - + if(goods!=null) + { + //鐧惧垎鍏垫硶缁忛攢鍟嗕慨鏀逛环鏍� + if(isDic) + { + foreach (var gd in goods) + { + gd.price = gd.distributionPrice; + } + } + } if (goods != null && goods.Any()) { var result = JArray.FromObject(goods); @@ -431,6 +460,18 @@ limit = limit > 0 ? limit : 10; var goods = await _goodsServices.QueryListByComponentsAsync(where, limit, " sort asc,id asc ", true, true, 60); + if (goods != null) + { + bool isDic = await _bfbfComAPIService.IsDictionary(_contextUser.ID); + //鐧惧垎鍏垫硶缁忛攢鍟嗕慨鏀逛环鏍� + if (isDic) + { + foreach (var gd in goods) + { + gd.price = gd.distributionPrice; + } + } + } if (goods != null && goods.Any()) { var result = JArray.FromObject(goods); @@ -477,6 +518,18 @@ count = goodids.Count; } var goods = await _goodsServices.QueryListByComponentsAsync(where, count, orderBy, true, true, 60); + if (goods != null) + { + bool isDic = await _bfbfComAPIService.IsDictionary(_contextUser.ID); + //鐧惧垎鍏垫硶缁忛攢鍟嗕慨鏀逛环鏍� + if (isDic) + { + foreach (var gd in goods) + { + gd.price = gd.distributionPrice; + } + } + } if (goods != null && goods.Any()) { var result = JArray.FromObject(goods); diff --git a/CoreCms.Net.Services/baifenbingfa/BfbfComAPIService.cs b/CoreCms.Net.Services/baifenbingfa/BfbfComAPIService.cs index e02d672..ff01659 100644 --- a/CoreCms.Net.Services/baifenbingfa/BfbfComAPIService.cs +++ b/CoreCms.Net.Services/baifenbingfa/BfbfComAPIService.cs @@ -1,7 +1,9 @@ -锘縰sing CoreCms.Net.IRepository.UnitOfWork; +锘縰sing CoreCms.Net.Configuration; +using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.IServices; using CoreCms.Net.IServices.baifenbingfa; using CoreCms.Net.Model.Entities; +using CoreCms.Net.Utility.Helper; using System; using System.Collections.Generic; using System.Linq; @@ -18,11 +20,12 @@ private readonly ICoreCmsUserServices _userServices; private readonly IUnitOfWork _unitOfWork; - - public BfbfComAPIService(ICoreCmsUserServices userServices,IUnitOfWork unitOfWork) + private readonly ICoreCmsSettingServices _coreCmsSettingServices; + public BfbfComAPIService(ICoreCmsUserServices userServices,IUnitOfWork unitOfWork, ICoreCmsSettingServices coreCmsSettingServices) { _userServices = userServices; _unitOfWork = unitOfWork; + _coreCmsSettingServices = coreCmsSettingServices; } public async Task<List<SearchUserData>> SearchUserData(string s) { @@ -38,5 +41,22 @@ } return ListData.Where(x => x.name.Contains(s)).ToList(); } + + public async Task<bool> IsDictionary(int UserId) + { + if (UserId == 0) + return false; + var user=await _unitOfWork.GetDbClient().Queryable<CoreCmsUser>().Includes(x=>x.gradeInfo).Where(x=>x.id== UserId).WithCache(10).SingleAsync(); + if (user == null) + return false; + if(user.gradeInfo==null) + return false; + var allConfigs = await _coreCmsSettingServices.GetConfigDictionaries(); + var kc = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.DictionaryUserGroupKey); + if (user.gradeInfo.valueKey == kc) + return true; + return false; + + } } } diff --git a/CoreCms.Net.Web.Admin/wwwroot/lib/layuiAdmin/config.js b/CoreCms.Net.Web.Admin/wwwroot/lib/layuiAdmin/config.js index ff9fa38..674e19b 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/lib/layuiAdmin/config.js +++ b/CoreCms.Net.Web.Admin/wwwroot/lib/layuiAdmin/config.js @@ -20,7 +20,7 @@ container: 'LAY_app', // 瀹瑰櫒ID entry: 'index', // 榛樿瑙嗗浘鏂囦欢鍚� engine: '.html', // 瑙嗗浘鏂囦欢鍚庣紑鍚� - pageTabs: true, // 鏄惁寮�鍚〉闈㈤�夐」鍗″姛鑳姐�傚崟椤电増涓嶆帹鑽愬紑鍚� + pageTabs: false, // 鏄惁寮�鍚〉闈㈤�夐」鍗″姛鑳姐�傚崟椤电増涓嶆帹鑽愬紑鍚� refreshCurrPage: true, // 褰撹烦杞〉闈� url 涓庡綋鍓嶉〉 url 鐩稿悓鏃讹紝鏄惁鑷姩鎵ц鍒锋柊 name: '鐧惧垎鍏垫硶', diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/bloggersinfo/create.html b/CoreCms.Net.Web.Admin/wwwroot/views/bloggersinfo/create.html index 721e2b5..41a7ec6 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/bloggersinfo/create.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/bloggersinfo/create.html @@ -200,11 +200,11 @@ </div> </div> - <div class="layui-inline"> + <div class="layui-form-item"> <label for="reMaker" class="layui-form-label" >澶囨敞</label > - <div class="layui-input-inline"> + <div class="layui-input-block"> <input name="reMaker" lay-verType="tips" diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/bloggersinfo/edit.html b/CoreCms.Net.Web.Admin/wwwroot/views/bloggersinfo/edit.html index 9c76b43..4f72a27 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/bloggersinfo/edit.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/bloggersinfo/edit.html @@ -219,7 +219,7 @@ </div> </div> </div> - <div class="layui-inline"> + <div class="layui-form-item"> <label for="reMaker" class="layui-form-label " >澶囨敞</label > diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/create.html b/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/create.html index 594146b..ea7ed4f 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/create.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/create.html @@ -229,10 +229,22 @@ <div class="layui-form" id="batchSetting" style="display:none;"> <div class="layui-tab" lay-filter="batchSetting-hash"> <ul class="layui-tab-title"> + <li lay-id="22">SKU閫夋嫨</li> <li class="layui-this" lay-id="11">鍙傛暟璁剧疆</li> <li lay-id="22">鍥剧墖璁剧疆</li> </ul> <div class="layui-tab-content"> + <div class="layui-tab-item"> + <div class="layui-form-item"> + <label class="layui-form-label">SKU閫夋嫨</label> + <div class="layui-input-block" id="skuSetImage"></div> + </div> + <div class="layui-form-item layui-center"> + + <button class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs" onclick="SellAll()">鍏ㄩ��</button> + <button class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs" onclick="SellNoOne()">鍏ㄤ笉閫�</button> + </div> + </div> <div class="layui-tab-item layui-show"> <div class="layui-form-item"> @@ -241,7 +253,7 @@ <input class="layui-input" id="oneKeySetWeight"> </div> <div class="layui-input-inline layui-inline-2"> - <button type="button" class="layui-btn layui-btn-warm layui-btn-sm" style="margin-top:5px;" onclick="oneKeySet(4)"> + <button type="button" class="layui-btn layui-btn-warm layui-btn-sm" style="margin-top:5px;" onclick="oneKeySetByName('product[weight]')"> <i class="layui-icon layui-icon-set"></i>纭畾 </button> </div> @@ -285,7 +297,7 @@ <i class="layui-icon layui-icon-set"></i>纭畾 </button> </div> - <label class="layui-form-label">缁忛攢鍟嗚繑鐜�</label> + <label class="layui-form-label">鏅�氱敤鎴疯喘涔拌繑鐜�</label> <div class="layui-input-inline layui-inline-2"> <input class="layui-input" id="oneKeySetLevelOne"> </div> @@ -338,10 +350,7 @@ </div> <div class="layui-tab-item"> - <div class="layui-form-item"> - <label class="layui-form-label">SKU閫夋嫨</label> - <div class="layui-input-block" id="skuSetImage"></div> - </div> + <div class="layui-form-item"> <label class="layui-form-label" for="avatarImage">鍥剧墖锛�</label> <div class="layui-input-inline" style="margin-left:20px;"> @@ -454,9 +463,11 @@ <th>绉垎鏈�澶�<br />鍙姷閲戦</th> --> <th>搴撳瓨</th> <th><i class="required-color">*</i>閿�鍞环</th> + <th>缁忛攢鍟嗕环鏍�</th> <th>鎴愭湰浠�</th> <th>鎸囧闆跺敭浠�</th> - <th>缁忛攢鍟嗚繑鐜�</th> + <th>鏅�氱敤鎴疯喘涔拌繑鐜�</th> + <th>缁忛攢鍟嗙敤鎴疯喘涔拌繑鐜�</th> <!-- <th>浜岀骇杩旂幇</th> <th>涓夌骇杩旂幇</th> --> <th>鎿嶄綔</th> @@ -512,13 +523,19 @@ <input type="text" name="product[price][]" value="{{item.price}}" placeholder="閿�鍞环" class="layui-input layui-inline-1"> </td> <td> + <input type="text" name="product[distributionPrice][]" value="{{item.distributionPrice||'0'}}" placeholder="缁忛攢鍟嗕环鏍�" class="layui-input layui-inline-1"> + </td> + <td> <input type="text" name="product[costprice][]" value="{{item.costprice}}" placeholder="鎴愭湰浠�" class="layui-input layui-inline-1"> </td> <td> <input type="text" name="product[mktprice][]" value="{{item.mktprice}}" placeholder="鎸囧闆跺敭浠�" class="layui-input layui-inline-1"> </td> <td> - <input type="text" name="product[levelOne][]" value="{{item.levelOne}}" placeholder="缁忛攢鍟嗚繑鐜�" class="layui-input layui-inline-1"> + <input type="text" name="product[distributionCutMoney][]" value="{{item.distributionCutMoney||'0'}}" placeholder="缁忛攢鍟嗚喘涔拌繑鐜�" class="layui-input layui-inline-1"> + </td> + <td> + <input type="text" name="product[cutMoney][]" value="{{item.cutMoney||'0'}}" placeholder="鏅�氱敤鎴疯喘涔拌繑鐜�" class="layui-input layui-inline-1"> </td> <!-- <td> <input type="text" name="product[levelTwo][]" value="{{item.levelTwo}}" placeholder="浜岀骇杩旂幇" class="layui-input layui-inline-1"> @@ -600,11 +617,11 @@ <div class="layui-input-inline"> <button type="button" class="layui-btn layui-btn-warm layui-btn-sm" lay-active="getGenerateSpecBtn"><i class="layui-icon layui-icon-export"></i>鐢熸垚SKU璐у搧鍒楄〃</button> </div> - <div class="layui-input-inline"> + <!-- <div class="layui-input-inline"> <button type="button" class="aKeySetBtn layui-btn layui-btn-warm layui-btn-sm"> <i class="layui-icon layui-icon-set"></i>涓�閿缃� </button> - </div> + </div> --> </div> </div> <div id="more_spec"></div> @@ -634,7 +651,7 @@ <!--//涓�閿缃甋KU鍥剧墖鏃惰嚜鍔ㄧ敓鎴愰�変腑鐨凷KU--> <script id="imageSetMoreSku_tpl" type="text/html"> {{# layui.each(d, function(index, item){ }} - <input type="checkbox" name="skuAttrValue" value="{{item}}" title="{{item}}" lay-filter="skuAttrValue-filter"> + <input type="checkbox" name="skuAttrValue" value="{{item}}" title="{{item}}" class="class_onkeySet_checkbox_creat" lay-filter="skuAttrValue-filter"> {{# }); }} </script> @@ -1602,6 +1619,7 @@ view2.innerHTML = html; }); form.render("radio"); + } //璧嬪�兼暟鎹� @@ -1843,6 +1861,7 @@ //澶氬弬鏁颁骇鍝佸簱鐢熸垚鍒楄〃闆嗗悎 var products = []; var productsCount = parseInt(field['productsCount']); + debugger for (var i = 0; i < productsCount; i++) { var productModel = {}; productModel.costprice = field['product[costprice][' + i + ']']; @@ -1863,6 +1882,10 @@ productModel.levelThree = field['product[levelThree][' + i + ']']; productModel.pointsDeduction = field['product[pointsDeduction][' + i + ']']; productModel.points = field['product[points][' + i + ']']; + //鐧惧垎鍏垫硶娣诲姞 + productModel.distributionPrice = field['product[distributionPrice][' + i + ']']; + productModel.distributionCutMoney = field['product[distributionCutMoney][' + i + ']']; + productModel.cutMoney = field['product[cutMoney][' + i + ']']; products.push(productModel); } //浼氬憳浠锋牸妯″瀷 @@ -1916,7 +1939,65 @@ } $('#imageIds').val(imgs); } + function SellAll() + { + // 閫夊彇ID涓篒D_onkeySet_checkbox_creat鐨刢heckbox鍏冪礌 +var checkBoxes = $(".class_onkeySet_checkbox_creat"); +// 璁剧疆閫変腑鐘舵�� +checkBoxes.prop("checked", true); + +// 濡傛灉浣跨敤浜哃ayui Form妯″潡锛屽埛鏂拌〃鍗曠姸鎬� +if (typeof layui.form !== 'undefined') { + layui.form.render(); +} + } + + function SellNoOne() + { + // 閫夊彇ID涓篒D_onkeySet_checkbox_creat鐨刢heckbox鍏冪礌 +var checkBoxes = $(".class_onkeySet_checkbox_creat"); + +// 璁剧疆閫変腑鐘舵�� +checkBoxes.prop("checked", false); + +// 濡傛灉浣跨敤浜哃ayui Form妯″潡锛屽埛鏂拌〃鍗曠姸鎬� +if (typeof layui.form !== 'undefined') { + layui.form.render(); +} + } + function setInputsValueTo(element, prefix, value) { + // 浣跨敤querySelectorAll鑾峰彇鎵�鏈塱nput鍏冪礌锛屽叾涓璶ame灞炴�т互prefix寮�澶� + const inputs = element.querySelectorAll(`input[name^="${prefix}["]`); + + // 閬嶅巻鎵�鏈夋壘鍒扮殑input鍏冪礌 + inputs.forEach(input => { + // 妫�鏌ame灞炴�ф槸鍚︿笌prefix鍖归厤 + if (new RegExp(`^${prefix}\\[\\d+\\]$`).test(input.name)) { + // 璁剧疆input鐨勫�间负鎸囧畾鐨剉alue + input.value = value; + } + }); + } + + + + + + + function oneKeySetByName(name) + { + debugger + + setInputsValueTo(document.getElementById('productsTbody'),name,12); + // 璋冪敤閫掑綊鍑芥暟锛屽紑濮嬮亶鍘嗘寚瀹氱埗鍏冪礌鍙婂叾瀛愬瓩鍏冪礌 + // setValuesRecursively($("#yourParentElementId")); // 鏇挎崲涓哄疄闄呯埗鍏冪礌鐨処D + // 瀹氫箟瑕侀亶鍘嗙殑鐖跺厓绱狅紙渚嬪锛氫竴涓猟iv锛� +//var parentElement = $("#productsTbody tr"); // 鏇挎崲涓哄疄闄呯埗鍏冪礌鐨処D + +// 浣跨敤姝e垯琛ㄨ揪寮忓尮閰峮ame灞炴�т负scol[1-4]鐨刬nput鍏冪礌 +//parentElement.find(`input[${name}^='scol['][${name}$=']']`).val(12); + } function oneKeySet(tag) { var curValue = 0; if (tag == 4) { diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html b/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html index 19d4c86..2856e6f 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html @@ -316,11 +316,13 @@ <th>绉垎鏈�澶�<br />鍙姷閲戦</th> --> <th>搴撳瓨</th> <th><i class="required-color">*</i>閿�鍞环</th> + <th>缁忛攢鍟嗕环鏍�</th> <th>鎴愭湰浠�</th> <th>鎸囧闆跺敭浠�</th> - <th>涓�绾ц繑鐜�</th> + <th>鏅�氱敤鎴疯喘涔拌繑鐜�</th> + <th>缁忛攢鍟嗙敤鎴疯喘涔拌繑鐜�</th> <!-- <th>浜岀骇杩旂幇</th> - <th>涓夌骇杩旂幇</th> --> + <!-- <th>涓夌骇杩旂幇</th> --> --> <th>鍐荤粨搴撳瓨</th> <th>鎿嶄綔</th> </tr> @@ -375,13 +377,20 @@ <input type="text" name="product[price][]" value="{{item.price}}" placeholder="閿�鍞环" class="layui-input layui-inline-1"> </td> <td> + + <input type="text" name="product[distributionPrice][]" value="{{item.distributionPrice||'0'}}" placeholder="缁忛攢鍟嗕环鏍�" class="layui-input layui-inline-1"> + </td> + <td> <input type="text" name="product[costprice][]" value="{{item.costprice}}" placeholder="鎴愭湰浠�" class="layui-input layui-inline-1"> </td> <td> <input type="text" name="product[mktprice][]" value="{{item.mktprice}}" placeholder="鎸囧闆跺敭浠�" class="layui-input layui-inline-1"> </td> <td> - <input type="text" name="product[levelOne][]" value="{{item.levelOne}}" placeholder="缁忛攢鍟嗚繑鐜�" class="layui-input layui-inline-1"> + <input type="text" name="product[distributionCutMoney][]" value="{{item.distributionCutMoney||'0'}}" placeholder="缁忛攢鍟嗚喘涔拌繑鐜�" class="layui-input layui-inline-1"> + </td> + <td> + <input type="text" name="product[cutMoney][]" value="{{item.cutMoney|'0'}}" placeholder="鏅�氱敤鎴疯喘涔拌繑鐜�" class="layui-input layui-inline-1"> </td> <!-- <td> <input type="text" name="product[levelTwo][]" value="{{item.levelTwo}}" placeholder="浜岀骇杩旂幇" class="layui-input layui-inline-1"> @@ -468,11 +477,11 @@ <div class="layui-input-inline"> <button type="button" class="layui-btn layui-btn-warm layui-btn-sm" lay-active="getGenerateSpecBtn"><i class="layui-icon layui-icon-export"></i>鐢熸垚SKU璐у搧鍒楄〃</button> </div> - <div class="layui-input-inline"> + <!-- <div class="layui-input-inline"> <button type="button" class="aKeySetBtn layui-btn layui-btn-warm layui-btn-sm"> <i class="layui-icon layui-icon-set"></i>涓�閿缃� </button> - </div> + </div> --> </div> </div> <div id="more_spec"></div> @@ -1981,6 +1990,10 @@ productModel.levelThree = field['product[levelThree][' + i + ']']; productModel.pointsDeduction = field['product[pointsDeduction][' + i + ']']; productModel.points = field['product[points][' + i + ']']; + //娣诲姞 鐧惧垎鍏垫硶 + productModel.distributionPrice = field['product[distributionPrice][' + i + ']']; + productModel.distributionCutMoney = field['product[distributionCutMoney][' + i + ']']; + productModel.cutMoney = field['product[cutMoney][' + i + ']']; products.push(productModel); } //浼氬憳浠锋牸妯″瀷 diff --git a/CoreCms.Net.Web.WebApi/Controllers/GoodController.cs b/CoreCms.Net.Web.WebApi/Controllers/GoodController.cs index 39a360f..420f867 100644 --- a/CoreCms.Net.Web.WebApi/Controllers/GoodController.cs +++ b/CoreCms.Net.Web.WebApi/Controllers/GoodController.cs @@ -19,6 +19,7 @@ using CoreCms.Net.Configuration; using CoreCms.Net.DTO.ComponentsDTO; using CoreCms.Net.IServices; +using CoreCms.Net.IServices.baifenbingfa; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.Entities.Expression; using CoreCms.Net.Model.FromBody; @@ -63,6 +64,7 @@ private ICoreCmsAgentGradeServices _agentGradeServices; private ICoreCmsGoodsCategoryExtendServices _goodsCategoryExtendServices; private readonly ICoreCmsAreaServices _coreCmsAreaServices; + private readonly IBfbfComAPIService _bfbfComAPIService; /// <summary> /// 鏋勯�犲嚱鏁� @@ -83,7 +85,8 @@ ICoreCmsAgentProductsServices agentProductsServices, ICoreCmsAgentGradeServices agentGradeServices, ICoreCmsGoodsCategoryExtendServices goodsCategoryExtendServices, - ICoreCmsAreaServices areaServices + ICoreCmsAreaServices areaServices, + IBfbfComAPIService bfbfComAPIService ) { @@ -104,6 +107,7 @@ _agentGradeServices = agentGradeServices; _goodsCategoryExtendServices = goodsCategoryExtendServices; _coreCmsAreaServices = areaServices; + _bfbfComAPIService = bfbfComAPIService; } //鍏叡鎺ュ彛==================================================================================================== @@ -165,6 +169,13 @@ var jm = new WebApiCallBack(); var where = PredicateBuilder.True<GoodListDTO>(); + //鏄惁鏄粡閿�鍟� + bool isDic = false; + if (_user.ID > 0) + { + isDic = await _bfbfComAPIService.IsDictionary(_user.ID); + + }; var className = string.Empty; if (!string.IsNullOrWhiteSpace(entity.where)) @@ -261,6 +272,7 @@ //鑾峰彇鏁版嵁 var list = await _goodsServices.QueryPageByDTOAsync(where, entity.page, entity.limit, true); + //鑾峰彇鍝佺墝 var brands = await _brandServices.QueryListByClauseAsync(p => p.isShow == true, p => p.sort, OrderByType.Desc, true, true); @@ -274,6 +286,12 @@ item.area+= (await _coreCmsAreaServices.GetAreaString(code)+""); } + //璋冩暣缁忛攢鍟嗕环鏍� 鐧惧垎鍏垫硶 + if(isDic) + { + item.price = item.distributionPrice; + } + } //杩斿洖鏁版嵁 jm.status = true; @@ -607,12 +625,17 @@ } var model = await _goodsServices.GetGoodsDetail(entity.id, userId, false, "goods", 0, entity.data.ObjectToBool()); - + if (model == null) { jm.msg = "鍟嗗搧鑾峰彇澶辫触"; return jm; } + if (await _bfbfComAPIService.IsDictionary(user.id)) + { + //鐧惧垎鍏垫硶缁忛攢鍟� + model.product.price = model.product.distributionPrice; + } var codelist = model.areaCode?.Split(","); model.area = ""; if(codelist!=null) diff --git a/CoreCms.Net.Web.WebApi/Controllers/PageController.cs b/CoreCms.Net.Web.WebApi/Controllers/PageController.cs index 7e5bbc2..c7c57ae 100644 --- a/CoreCms.Net.Web.WebApi/Controllers/PageController.cs +++ b/CoreCms.Net.Web.WebApi/Controllers/PageController.cs @@ -17,6 +17,7 @@ using AutoMapper; using CoreCms.Net.Configuration; using CoreCms.Net.IServices; +using CoreCms.Net.IServices.baifenbingfa; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.FromBody; using CoreCms.Net.Model.ViewModels.DTO; @@ -42,6 +43,7 @@ private readonly ICoreCmsPagesServices _pagesServices; private readonly ICoreCmsOrderServices _orderServices; private readonly ICoreCmsUserServices _userServices; + /// <summary> /// 鏋勯�犲嚱鏁� @@ -50,13 +52,15 @@ , ICoreCmsSettingServices settingServices , ICoreCmsPagesServices pagesServices , ICoreCmsOrderServices orderServices - , ICoreCmsUserServices userServices) + , ICoreCmsUserServices userServices + ,IBfbfComAPIService bfbfComAPIService) { _mapper = mapper; _settingServices = settingServices; _pagesServices = pagesServices; _orderServices = orderServices; _userServices = userServices; + } //鍏叡鎺ュ彛==================================================================================================== diff --git a/CoreCms.Net.Web.WebApi/CoreCms.Net.Web.WebApi.xml b/CoreCms.Net.Web.WebApi/CoreCms.Net.Web.WebApi.xml index df384ee..d672d92 100644 --- a/CoreCms.Net.Web.WebApi/CoreCms.Net.Web.WebApi.xml +++ b/CoreCms.Net.Web.WebApi/CoreCms.Net.Web.WebApi.xml @@ -418,7 +418,7 @@ 鍟嗗搧鐩稿叧鎺ュ彛澶勭悊 </summary> </member> - <member name="M:CoreCms.Net.Web.WebApi.Controllers.GoodController.#ctor(AutoMapper.IMapper,CoreCms.Net.Auth.HttpContextUser.IHttpContextUser,CoreCms.Net.IServices.ICoreCmsSettingServices,CoreCms.Net.IServices.ICoreCmsGoodsCategoryServices,CoreCms.Net.IServices.ICoreCmsGoodsServices,CoreCms.Net.IServices.ICoreCmsProductsServices,CoreCms.Net.IServices.ICoreCmsBrandServices,CoreCms.Net.IServices.ICoreCmsOrderItemServices,CoreCms.Net.IServices.ICoreCmsGoodsCommentServices,CoreCms.Net.IServices.ICoreCmsGoodsParamsServices,CoreCms.Net.IServices.ICoreCmsGoodsCollectionServices,CoreCms.Net.IServices.ICoreCmsUserServices,CoreCms.Net.IServices.ICoreCmsAgentServices,CoreCms.Net.IServices.ICoreCmsAgentProductsServices,CoreCms.Net.IServices.ICoreCmsAgentGradeServices,CoreCms.Net.IServices.ICoreCmsGoodsCategoryExtendServices,CoreCms.Net.IServices.ICoreCmsAreaServices)"> + <member name="M:CoreCms.Net.Web.WebApi.Controllers.GoodController.#ctor(AutoMapper.IMapper,CoreCms.Net.Auth.HttpContextUser.IHttpContextUser,CoreCms.Net.IServices.ICoreCmsSettingServices,CoreCms.Net.IServices.ICoreCmsGoodsCategoryServices,CoreCms.Net.IServices.ICoreCmsGoodsServices,CoreCms.Net.IServices.ICoreCmsProductsServices,CoreCms.Net.IServices.ICoreCmsBrandServices,CoreCms.Net.IServices.ICoreCmsOrderItemServices,CoreCms.Net.IServices.ICoreCmsGoodsCommentServices,CoreCms.Net.IServices.ICoreCmsGoodsParamsServices,CoreCms.Net.IServices.ICoreCmsGoodsCollectionServices,CoreCms.Net.IServices.ICoreCmsUserServices,CoreCms.Net.IServices.ICoreCmsAgentServices,CoreCms.Net.IServices.ICoreCmsAgentProductsServices,CoreCms.Net.IServices.ICoreCmsAgentGradeServices,CoreCms.Net.IServices.ICoreCmsGoodsCategoryExtendServices,CoreCms.Net.IServices.ICoreCmsAreaServices,CoreCms.Net.IServices.baifenbingfa.IBfbfComAPIService)"> <summary> 鏋勯�犲嚱鏁� </summary> @@ -778,7 +778,7 @@ 椤甸潰鎺ュ彛 </summary> </member> - <member name="M:CoreCms.Net.Web.WebApi.Controllers.PageController.#ctor(AutoMapper.IMapper,CoreCms.Net.IServices.ICoreCmsSettingServices,CoreCms.Net.IServices.ICoreCmsPagesServices,CoreCms.Net.IServices.ICoreCmsOrderServices,CoreCms.Net.IServices.ICoreCmsUserServices)"> + <member name="M:CoreCms.Net.Web.WebApi.Controllers.PageController.#ctor(AutoMapper.IMapper,CoreCms.Net.IServices.ICoreCmsSettingServices,CoreCms.Net.IServices.ICoreCmsPagesServices,CoreCms.Net.IServices.ICoreCmsOrderServices,CoreCms.Net.IServices.ICoreCmsUserServices,CoreCms.Net.IServices.baifenbingfa.IBfbfComAPIService)"> <summary> 鏋勯�犲嚱鏁� </summary> -- Gitblit v1.9.1