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