| | |
| | | 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.baifenbingfa.apply; |
| | |
| | | private readonly IUnitOfWork _unitOfWork; |
| | | private readonly ICoreCmsUserBalanceServices _userBalanceServices; |
| | | private readonly ICoreCmsUserServices _coreCmsUserServices; |
| | | 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 |
| | | , ICoreCmsUserServices coreCmsUserServices) |
| | | 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 |
| | | , ICoreCmsUserServices coreCmsUserServices) |
| | | { |
| | | this._dal = dal; |
| | | _distributionOrderRepository = distributionOrderRepository; |
| | |
| | | _coreCmsUserServices = coreCmsUserServices; |
| | | |
| | | |
| | | _bfbfComAPIService = bfbfComAPIService; |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | info.TotalSettlementAmount = await _distributionOrderRepository.GetSumAsync( |
| | | p => p.isSettlement != (int)GlobalEnumVars.DistributionOrderSettlementStatus.SettlementCancel && p.userId == userId, |
| | | p => p.amount); |
| | | var lisdata = await _unitOfWork.GetDbClient().Queryable<CoreCmsDistributionOrder>().Where(x=>x.userId == userId&&x.isSettlement== (int)GlobalEnumVars.DistributionOrderSettlementStatus.SettlementNo) |
| | | .Select(x=>new CoreCmsDistributionOrder |
| | | { |
| | | amount = x.amount, |
| | | OderState= SqlFunc.Subqueryable<CoreCmsOrder>().Where(c=>c.orderId==x.orderId).Select(c=>c.confirmStatus), |
| | | |
| | | }).WithCache(10).ToListAsync(); |
| | | //可领金额 |
| | | info.DistributionKeLingTotals = lisdata.Where(x=>x.OderState== (int)GlobalEnumVars.OrderConfirmStatus.ConfirmReceipt |
| | | || x.OderState == (int)GlobalEnumVars.OrderShipStatus.Yes).Sum(x=>x.amount); |
| | | |
| | | //应领金额 |
| | | info.DistributionYingLingTotals = lisdata.Where(x => x.OderState == (int)GlobalEnumVars.OrderConfirmStatus.ReceiptNotConfirmed |
| | | || x.OderState == (int)GlobalEnumVars.OrderShipStatus.Yes).Sum(x => x.amount); ; |
| | | //已结算金额 |
| | | info.SettlementAmount = await _distributionOrderRepository.GetSumAsync( |
| | | p => p.isSettlement == (int)GlobalEnumVars.DistributionOrderSettlementStatus.SettlementYes && p.userId == userId, |
| | |
| | | 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) |
| | |
| | | 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 = "经销商业绩写入", |