From 4435dad5cb74b7d68f57d4b62f04d3e3de4adbd9 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期四, 28 五月 2026 16:28:31 +0800
Subject: [PATCH] 666 新增代金券 可根据不同渠道配置只显示哪个

---
 Main/System/GeneralConfig/GeneralDefine.cs |   50 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 42 insertions(+), 8 deletions(-)

diff --git a/Main/System/GeneralConfig/GeneralDefine.cs b/Main/System/GeneralConfig/GeneralDefine.cs
index 9795b71..a2acd25 100644
--- a/Main/System/GeneralConfig/GeneralDefine.cs
+++ b/Main/System/GeneralConfig/GeneralDefine.cs
@@ -8,31 +8,35 @@
 
 public class GeneralDefine
 {
+
+    static readonly List<int> DEFAULT_PAY_METHOD_MONEY_TYPES = new List<int> { 97, 99 };
+    static Dictionary<string, int[]> payMethodMoneyTypeByChannel;
+
     public static Dictionary<int, int> MoneyDisplayModel { get; private set; }
     public static int activityItemID { get; private set; }
-    
+
     public static int expDisplayId { get; private set; }
-    
+
 
     //鍙傛暟int锛宨nt 锛宻tring 鍒嗗埆琛ㄧず鑱屼笟锛岃浆鐢熺瓑绾э紝icon
     static Dictionary<int, Dictionary<int, string>> jobHeadPortrait = new Dictionary<int, Dictionary<int, string>>();
     static Dictionary<int, Dictionary<int, string>> otherjobHeadPortrait = new Dictionary<int, Dictionary<int, string>>();
-    
+
 
     public static int rechargeRedpointLv { get; private set; }
     public static int rechargeRedpointMinLv { get; private set; }
 
-    
+
     public static List<int> inGameDownLoadLevelCheckPoints = new List<int>();
     public static int inGameDownLoadHighLevel { get; private set; }
-    
+
     public static Dictionary<int, List<int>> itemPutInPackDict { get; private set; }
     public static Dictionary<int, int> itemMoneyCountDict { get; private set; } //鑳屽寘涓敤浜庡睍绀鸿揣甯佹暟閲忕殑鐗╁搧
-    
+
     public static int UISpringDecorate { get; private set; }
     public static Dictionary<int, List<int>> skillAttrIDDict { get; private set; }
-    
-    
+
+
     public static int acutionItemHour { get; private set; }
 
     public static float blockRatio;
@@ -52,6 +56,7 @@
     public static int[] heroSkinGiftList;
     public static void Init()
     {
+        payMethodMoneyTypeByChannel = null;
         try
         {
             MoneyDisplayModel = ConfigParse.ParseIntDict(GetInputString("MoneyDisplayModel", 1));
@@ -117,6 +122,8 @@
 
             config = FuncConfigConfig.Get("HeroSkinGift");
             heroSkinGiftList = JsonMapper.ToObject<int[]>(config.Numerical1);
+
+            payMethodMoneyTypeByChannel = JsonMapper.ToObject<Dictionary<string, int[]>>(FuncConfigConfig.Get("DJQShow").Numerical1);
         }
         catch (Exception ex)
         {
@@ -323,4 +330,31 @@
     {
         return playerID < 1000000;
     }
+
+    public static List<int> GetPayMethodAvailableMoneyTypes()
+    {
+        if (payMethodMoneyTypeByChannel == null)
+            return new List<int>(DEFAULT_PAY_METHOD_MONEY_TYPES);
+
+        var versionConfig = VersionConfig.Get();
+        string channel = versionConfig != null ? versionConfig.appId : string.Empty;
+        if (string.IsNullOrEmpty(channel) || payMethodMoneyTypeByChannel == null ||
+            !payMethodMoneyTypeByChannel.TryGetValue(channel, out var moneyTypes) || moneyTypes == null || moneyTypes.Length == 0)
+        {
+            return new List<int>(DEFAULT_PAY_METHOD_MONEY_TYPES);
+        }
+
+        var result = new List<int>();
+        for (int i = 0; i < moneyTypes.Length; i++)
+        {
+            if (!result.Contains(moneyTypes[i]))
+            {
+                result.Add(moneyTypes[i]);
+            }
+        }
+
+        return result.Count > 0 ? result : new List<int>(DEFAULT_PAY_METHOD_MONEY_TYPES);
+    }
+
+
 }

--
Gitblit v1.8.0