diff --git a/B3QingDaoWanFu/BO/TrustPay_/TrustPay.cs b/B3QingDaoWanFu/BO/TrustPay_/TrustPay.cs index 56d1386..2990eeb 100644 --- a/B3QingDaoWanFu/BO/TrustPay_/TrustPay.cs +++ b/B3QingDaoWanFu/BO/TrustPay_/TrustPay.cs @@ -59,6 +59,9 @@ namespace BWP.B3QingDaoWanFu.BO { [DbColumn(DefaultValue = 0)] public bool ReChecked { get; set; } + [DbColumn(DefaultValue = 0)] + public int ReCheckCount { get; set; } + [ReferenceTo(typeof(Customer), "Name")] [Join("AccountCustomer_ID", "ID")] [LogicName("结账客户")] diff --git a/B3QingDaoWanFu/Tasks/CreatGatheringTask.cs b/B3QingDaoWanFu/Tasks/CreatGatheringTask.cs index 287d78a..ab0195c 100644 --- a/B3QingDaoWanFu/Tasks/CreatGatheringTask.cs +++ b/B3QingDaoWanFu/Tasks/CreatGatheringTask.cs @@ -19,6 +19,7 @@ namespace BWP.B3QingDaoWanFu.Tasks { var query = new DQueryDom(new JoinAlias(typeof(TrustPay))); query.Where.Conditions.Add(DQCondition.EQ("PayState", ״̬.ɹ)); query.Where.Conditions.Add(DQCondition.IsNull(DQExpression.Field("Gathering_ID"))); + query.Where.Conditions.Add(DQCondition.GreaterThan("CreateTime", BLContext.Now.AddDays(-1))); query.Columns.Add(DQSelectColumn.Field("ID")); var list = query.EExecuteList(); diff --git a/B3QingDaoWanFu/Tasks/RecheckTrustPayTask.cs b/B3QingDaoWanFu/Tasks/RecheckTrustPayTask.cs index 36ed40f..7fee310 100644 --- a/B3QingDaoWanFu/Tasks/RecheckTrustPayTask.cs +++ b/B3QingDaoWanFu/Tasks/RecheckTrustPayTask.cs @@ -22,8 +22,11 @@ namespace BWP.B3QingDaoWanFu.Tasks { var query = new DQueryDom(new JoinAlias(typeof(TrustPay))); query.Where.Conditions.Add(DQCondition.GreaterThanOrEqual("PayState", 付款状态.请求支付)); query.Where.Conditions.Add(DQCondition.LessThanOrEqual("ReCheckTime", BLContext.Now)); + query.Where.Conditions.Add(DQCondition.GreaterThan("CreateTime", BLContext.Now.AddHours(-5))); query.Where.Conditions.Add(DQCondition.EQ("ReChecked", false)); + query.Where.Conditions.Add(DQCondition.LessThan("ReCheckCount", 6)); query.Where.Conditions.Add(DQCondition.IsNull(DQExpression.Field("Gathering_ID"))); + query.Columns.Add(DQSelectColumn.Field("ID")); var list = query.EExecuteList(); foreach (var id in list) { @@ -60,10 +63,11 @@ namespace BWP.B3QingDaoWanFu.Tasks { if (trustPay == null || trustPay.AccountCustomer_ID == null) return; trustPay.ID = _trustPayID; + trustPay.ReCheckCount++; if (trustPay.Gathering_ID > 0) { if (!trustPay.ReChecked) { trustPay.ReChecked = true; - InnerBLUtil.UpdateEntityProperties(session, trustPay, "ReChecked"); + InnerBLUtil.UpdateEntityProperties(session, trustPay, "ReChecked", "ReCheckCount"); session.Commit(); } return; @@ -85,7 +89,7 @@ namespace BWP.B3QingDaoWanFu.Tasks { var config = new WanFuOnlineConfig(); using (new SpecialDomainUserBLScope(config.DomainUserForTrustPay.Value)) { bl.CreateGathering(trustPay, out gatheringID); - } + } if (gatheringID > 0) { trustPay.Gathering_ID = gatheringID; } @@ -98,7 +102,8 @@ namespace BWP.B3QingDaoWanFu.Tasks { using (var session = Dmo.NewSession()) { trustPay.ReChecked = trustPay.Gathering_ID > 0; - InnerBLUtil.UpdateEntityProperties(session, trustPay, "Gathering_ID", "PayState", "ReChecked"); + + InnerBLUtil.UpdateEntityProperties(session, trustPay, "Gathering_ID", "PayState", "ReChecked", "ReCheckCount"); session.Commit(); } if (!string.IsNullOrEmpty(msg)) @@ -118,12 +123,12 @@ namespace BWP.B3QingDaoWanFu.Tasks { if (res.Status == "01" || res.Status == "02" || res.Status == "03") { trustPay.ReCheckTime = BLContext.Now.AddMinutes(5); - InnerBLUtil.UpdateEntityProperties(session, trustPay, "ReCheckTime"); + InnerBLUtil.UpdateEntityProperties(session, trustPay, "ReCheckTime", "ReCheckCount"); session.Commit(); return false; } trustPay.ReChecked = true; - InnerBLUtil.UpdateEntityProperties(session, trustPay, "ReChecked"); + InnerBLUtil.UpdateEntityProperties(session, trustPay, "ReChecked", "ReCheckCount"); session.Commit(); return false; }