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