Преглед изворни кода

待返现金额不满1分的订单,直接出局,并且不影响返现人数

lcl пре 1 година
родитељ
комит
ff55a66d62
1 измењених фајлова са 12 додато и 4 уклоњено
  1. 12 4
      Util/HaoDa/ProfitHelper.cs

+ 12 - 4
Util/HaoDa/ProfitHelper.cs

@@ -126,7 +126,6 @@ namespace MySystem
                                     }
 
                                     // 减去自己付的订单
-                                    int OutCount = 0; // 出局人数
                                     List<int> orderids = new List<int>();
                                     function.WriteLog("人数:" + CurDiviPersons, "返现逻辑日志");
                                     while (CurDiviPersons > 0)
@@ -134,11 +133,12 @@ namespace MySystem
                                         ConsumerOrders suborder = RedisDbconn.Instance.RPopLPush<ConsumerOrders>("ConsumerOrdersHd:Divi:" + PayMode + ":" + MerchantId, "ConsumerOrdersHd:Divi:" + PayMode + ":" + MerchantId);
                                         if (suborder != null)
                                         {
+                                            decimal TmpCurDivi = suborder.CurDivi;
                                             function.WriteLog("返现对象订单:" + suborder.Id, "返现逻辑日志");
                                             MerchantParamSet subset = Newtonsoft.Json.JsonConvert.DeserializeObject<MerchantParamSet>(suborder.SeoDescription);
                                             int subProfitDays = subset.ProfitDays; //分红期限(天)
                                             bool IsOut = suborder.UpdateDate.Value.AddDays(subProfitDays) < DateTime.Now ? true : false;
-                                            if (suborder.CurDivi < suborder.MaxDivi && !IsOut)
+                                            if (suborder.CurDivi < suborder.MaxDivi && suborder.MaxDivi - suborder.CurDivi >= 0.01M && !IsOut)
                                             {
                                                 function.WriteLog("没出局:" + suborder.CurDivi + "--" + suborder.MaxDivi, "返现逻辑日志");
                                                 //如果没过期并且当前退款金额没超过最大退款金额,就执行
@@ -150,7 +150,6 @@ namespace MySystem
                                                 function.WriteLog("GetMoney:" + GetMoney, "返现逻辑日志");
                                                 if (GetMoney > minProfit)
                                                 {
-                                                    decimal TmpCurDivi = suborder.CurDivi;
                                                     suborder.CurDivi += GetMoney;
                                                     MerchantAddInfo merchantAdd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == suborder.MerchantId) ?? new MerchantAddInfo();
                                                     
@@ -208,7 +207,6 @@ namespace MySystem
                                                                 editOrder.CurDivi = editOrder.MaxDivi;
                                                                 db.SaveChanges();
                                                             }
-                                                            OutCount += 1;
                                                         }
                                                     }
                                                     Thread.Sleep(1000);
@@ -219,6 +217,16 @@ namespace MySystem
                                             else
                                             {
                                                 //否者计算人数不计入退款名额
+                                                suborder.CurDivi = TmpCurDivi;
+                                                function.WriteLog("返现达最大值,出局", "返现逻辑日志");
+                                                RedisDbconn.Instance.DelFromList("ConsumerOrdersHd:Divi:" + PayMode + ":" + MerchantId, suborder);
+                                                ConsumerOrders editOrder = db.ConsumerOrders.FirstOrDefault(m => m.Id == suborder.Id);
+                                                if (editOrder != null)
+                                                {
+                                                    editOrder.ReturnFlag = 0;
+                                                    editOrder.CurDivi = editOrder.MaxDivi;
+                                                    db.SaveChanges();
+                                                }
                                                 CurDiviPersons += 1;
                                                 function.WriteLog("出局:CurDiviPersons:" + CurDiviPersons, "返现逻辑日志");
                                             }