From 557c2711a3e103ebc3d0492344eca9730d5e92b2 Mon Sep 17 00:00:00 2001 From: 移动系统liao <liaoxujun@qq.com> Date: 星期一, 17 二月 2025 10:47:47 +0800 Subject: [PATCH] 增加司机配送单超时处理任务,防止一直不停手机定位信息, --- CoreCms.Net.Services/Distribution/CoreCmsDistributionServices.cs | 32 +++++++++++++++++++++++++++++--- 1 files changed, 29 insertions(+), 3 deletions(-) diff --git a/CoreCms.Net.Services/Distribution/CoreCmsDistributionServices.cs b/CoreCms.Net.Services/Distribution/CoreCmsDistributionServices.cs index 091d16d..004e030 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.baifenbingfa.apply; @@ -54,9 +55,12 @@ 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; @@ -74,6 +78,8 @@ _coreCmsUserServices = coreCmsUserServices; + _bfbfComAPIService = bfbfComAPIService; + } @@ -97,6 +103,20 @@ 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, @@ -418,6 +438,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) @@ -824,7 +850,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 = "缁忛攢鍟嗕笟缁╁啓鍏�", -- Gitblit v1.9.1