Jelajahi Sumber

调整日志

lcl 4 bulan lalu
induk
melakukan
092fa73d97
3 mengubah file dengan 43 tambahan dan 9 penghapusan
  1. 7 0
      Model/Database/PriLoopSet.cs
  2. 1 1
      Program.cs
  3. 35 8
      Util/PrizeDo.cs

+ 7 - 0
Model/Database/PriLoopSet.cs

@@ -115,6 +115,13 @@ namespace Model
         public string? conditionMode { get; set; }
 
 
+        /// <summary>
+        /// 查询库
+        /// </summary>
+        [SugarColumn(ColumnDescription = "查询库", ColumnName = "database_id")]
+        public int databaseId { get; set; }
+
+
 
     }
 }

+ 1 - 1
Program.cs

@@ -125,7 +125,7 @@ app.MapControllers();
 // PrizeDo.sendPrize(4, "{\"PosSn\":\"CS00000000015859\"}");
 // PrizeDo.sendPrize(5, "{\"PosSn\":\"00000302T1NL90664172\"}");
 // PrizeDo.sendPrize(6, "{\"PosSn\":\"1152131239\"}");
-// PrizeDo.sendPrize("KXS_MALL_ORDER_PRIZE", "{\"order_id\":\"319698\"}");
+PrizeDo.sendPrize("KXS_MALL_ORDER_PRIZE", "{\"order_id\":\"319698\"}");
 // PrizeDo.sendPrize(7, "{\"OrderNo\":\"BM2024090817330511847441249\"}");
 // PrizeDo.sendPrize(7, "{\"OrderNo\":\"BM2024090817360962275551251\"}");
 

+ 35 - 8
Util/PrizeDo.cs

@@ -370,8 +370,8 @@ namespace Util
                 Dictionary<string, object> condiDic = new();
 
                 condiDic.Add("字段名称", fieldName);
-                condiDic.Add("匹配条件", fieldQueryKind);
-                condiDic.Add("匹配方式", fieldQueryModel);
+                condiDic.Add("匹配条件", getQueryKind(fieldQueryKind));
+                condiDic.Add("匹配方式", getQueryModel(fieldQueryModel));
 
                 if(fieldQueryKind == "1") //模糊匹配
                 {
@@ -542,6 +542,7 @@ namespace Util
                     condi += val;
                     condiDic.Add("匹配值", val);
                 }
+                condiDics.Add(condiDic);
             }
 
             logStepDic.Add("奖励发放对象查询条件", condiDics);
@@ -554,7 +555,7 @@ namespace Util
                 result = item.ToString();
             }
             logStepDic.Add("奖励发放对象", result);
-            setLogStep(listId, logStepDic);
+            setLogStep(listId, "奖励发放对象", logStepDic);
             return result;
         }
 
@@ -606,7 +607,7 @@ namespace Util
                         var parentField = loopSet.parentField; //父字段
                         var sonField = loopSet.sonField; //子字段
                         var afterPrizeFlag = loopSet.afterPrizeFlag; //发奖后是否继续
-                        var db = initDb(recursionStartTable.databaseId);
+                        var db = initDb(loopSet.databaseId);
                         string objId = prizeObjectId;
                         bool op = true;
                         int index = 0;
@@ -625,6 +626,7 @@ namespace Util
                                 {
                                     int allCount = conditions.Count; //所有奖励条件数
                                     int passCount = 0; //通过条件数
+                                    List<Dictionary<string, object>> logStepDics = new();
                                     foreach(var condition in conditions)
                                     {
                                         if(condition.startIndex <= index)
@@ -675,6 +677,8 @@ namespace Util
                                             }
                                             
                                             logStepDic.Add("标题", checkTitle);
+                                            logStepDic.Add("匹配条件", getQueryKind(fieldQueryKind));
+                                            logStepDic.Add("匹配方式", getQueryModel(fieldQueryModel));
                                             logStepDic.Add("匹配值", fieldQueryValue);
                                             logStepDic.Add("实际值", checkObj);
 
@@ -944,9 +948,10 @@ namespace Util
                                                 }
                                             }
                                             logStepDic.Add("状态", passFlag ? "通过" : "未通过");
-                                            loopLog.Add("匹配情况", logStepDic);
+                                            logStepDics.Add(logStepDic);
                                         }
                                     }
+                                    loopLog.Add(objId + "匹配情况", logStepDics);
                                     if(loopSet.conditionMode == "all" && passCount == allCount) prizeFlag = true;
                                     else if(loopSet.conditionMode == "one" && passCount >= 1) prizeFlag = true;
                                     else if(loopSet.conditionMode == "two" && passCount >= 2) prizeFlag = true;
@@ -1066,6 +1071,8 @@ namespace Util
                 if(!sub.recursionFlag)
                 {
                     logStepDic.Add("标题", checkTitle);
+                    logStepDic.Add("匹配条件", getQueryKind(fieldQueryKind));
+                    logStepDic.Add("匹配方式", getQueryModel(fieldQueryModel));
                     logStepDic.Add("匹配值", fieldQueryValue);
                     logStepDic.Add("实际值", checkObj);
                 }
@@ -2004,9 +2011,7 @@ namespace Util
             var log = logService.GetFirst(m => m.batchNo == batchNo && m.listId == listId);
             if(log != null)
             {
-                Dictionary<string, object> step = new();
-                step.Add(key, val);
-                log.stepList += Newtonsoft.Json.JsonConvert.SerializeObject(step) + ",";
+                log.stepList += "\"" + key + "\":" + Newtonsoft.Json.JsonConvert.SerializeObject(val) + ",";
                 logService.Update(log);
             }
         }
@@ -2033,5 +2038,27 @@ namespace Util
                 logService.Update(log);
             }
         }
+
+        public static string getQueryKind(string kind)
+        {
+            if(kind == "1") return "模糊匹配";
+            if(kind == "2") return "精确匹配";
+            if(kind == "4") return "取反匹配";
+            if(kind == "5") return "数组匹配";
+            if(kind == "6") return "数组排除";
+            if(kind == "3") return "范围匹配";
+            return kind;
+        }
+
+        public static string getQueryModel(string model)
+        {
+            if(model == "request_param") return "入参";
+            if(model == "query_field") return "条件匹配返回字段";
+            if(model == "loop_field") return "循环递归字段";
+            if(model == "loop_condition_field") return "循环递归条件字段";
+            if(model == "fixed_value") return "固定值";
+            if(model == "db_field") return "库内字段";
+            return model;
+        }
     }
 }