diff --git a/bin/json/game_drawcard.json b/bin/json/game_drawcard.json index 714e8f71e..de42a0111 100644 --- a/bin/json/game_drawcard.json +++ b/bin/json/game_drawcard.json @@ -5,7 +5,7 @@ "card_pool_type": "base_pool1", "star": 3, "race": 1, - "id": "14007", + "id": "13003", "weight": 1000 }, { @@ -32,7 +32,7 @@ "card_pool_type": "base_pool2", "star": 3, "race": 2, - "id": "25004", + "id": "13003", "weight": 1000 }, { @@ -59,7 +59,7 @@ "card_pool_type": "base_pool3", "star": 3, "race": 3, - "id": "34006", + "id": "13003", "weight": 1000 }, { @@ -86,7 +86,7 @@ "card_pool_type": "base_pool4", "star": 3, "race": 2, - "id": "24004", + "id": "13003", "weight": 1000 }, { @@ -112,80 +112,80 @@ "recruitment_type": 1, "card_pool_type": "base_pool5", "star": 3, - "race": 4, - "id": "44006", + "race": 1, + "id": "13003", "weight": 1000 }, { "key": 14, "recruitment_type": 1, "card_pool_type": "base_pool5", - "star": 3, - "race": 2, - "id": "35001", + "star": 4, + "race": 4, + "id": "44006", "weight": 1000 }, { "key": 15, "recruitment_type": 1, "card_pool_type": "base_pool5", - "star": 3, - "race": 4, - "id": "44005", + "star": 5, + "race": 2, + "id": "35001", "weight": 1000 }, { "key": 16, "recruitment_type": 1, "card_pool_type": "base_pool5", - "star": 3, - "race": 1, - "id": "15004", + "star": 4, + "race": 4, + "id": "44005", "weight": 1000 }, { "key": 17, "recruitment_type": 1, "card_pool_type": "base_pool5", - "star": 3, - "race": 2, - "id": "24002", + "star": 5, + "race": 1, + "id": "15004", "weight": 1000 }, { "key": 18, "recruitment_type": 1, "card_pool_type": "base_pool5", - "star": 3, - "race": 4, - "id": "45003", + "star": 4, + "race": 2, + "id": "24002", "weight": 1000 }, { "key": 19, "recruitment_type": 1, "card_pool_type": "base_pool5", - "star": 3, - "race": 1, - "id": "14003", + "star": 4, + "race": 4, + "id": "45003", "weight": 1000 }, { "key": 20, "recruitment_type": 1, "card_pool_type": "base_pool5", - "star": 3, + "star": 4, "race": 1, - "id": "15005", + "id": "14003", "weight": 1000 }, { "key": 21, "recruitment_type": 1, "card_pool_type": "base_pool5", - "star": 3, - "race": 2, - "id": "24003", + "star": 5, + "race": 1, + "id": "15005", "weight": 1000 }, { @@ -193,8 +193,8 @@ "recruitment_type": 1, "card_pool_type": "base_pool5", "star": 4, - "race": 4, - "id": "44006", + "race": 2, + "id": "24003", "weight": 1000 }, { @@ -202,12 +202,21 @@ "recruitment_type": 1, "card_pool_type": "base_pool5", "star": 4, + "race": 4, + "id": "44006", + "weight": 1000 + }, + { + "key": 24, + "recruitment_type": 1, + "card_pool_type": "base_pool5", + "star": 5, "race": 2, "id": "35001", "weight": 1000 }, { - "key": 24, + "key": 25, "recruitment_type": 1, "card_pool_type": "base_pool5", "star": 4, @@ -216,16 +225,16 @@ "weight": 1000 }, { - "key": 25, + "key": 26, "recruitment_type": 1, "card_pool_type": "base_pool5", - "star": 4, + "star": 5, "race": 1, "id": "15004", "weight": 1000 }, { - "key": 26, + "key": 27, "recruitment_type": 1, "card_pool_type": "base_pool5", "star": 4, @@ -234,7 +243,7 @@ "weight": 1000 }, { - "key": 27, + "key": 28, "recruitment_type": 1, "card_pool_type": "base_pool5", "star": 4, @@ -242,49 +251,40 @@ "id": "45003", "weight": 1000 }, - { - "key": 28, - "recruitment_type": 1, - "card_pool_type": "base_pool5", - "star": 4, - "race": 1, - "id": "14003", - "weight": 1000 - }, { "key": 29, "recruitment_type": 1, "card_pool_type": "base_pool5", "star": 4, "race": 1, - "id": "15005", + "id": "14003", "weight": 1000 }, { "key": 30, "recruitment_type": 1, "card_pool_type": "base_pool5", + "star": 5, + "race": 1, + "id": "15005", + "weight": 1000 + }, + { + "key": 31, + "recruitment_type": 1, + "card_pool_type": "base_pool5", "star": 4, "race": 2, "id": "24003", "weight": 1000 }, - { - "key": 31, - "recruitment_type": 1, - "card_pool_type": "base_pool5", - "star": 5, - "race": 4, - "id": "44006", - "weight": 1000 - }, { "key": 32, "recruitment_type": 1, "card_pool_type": "base_pool5", - "star": 5, - "race": 2, - "id": "35001", + "star": 4, + "race": 4, + "id": "44006", "weight": 1000 }, { @@ -292,17 +292,17 @@ "recruitment_type": 1, "card_pool_type": "base_pool5", "star": 5, - "race": 4, - "id": "44005", + "race": 2, + "id": "35001", "weight": 1000 }, { "key": 34, "recruitment_type": 1, "card_pool_type": "base_pool5", - "star": 5, - "race": 1, - "id": "15004", + "star": 4, + "race": 4, + "id": "44005", "weight": 1000 }, { @@ -310,35 +310,35 @@ "recruitment_type": 1, "card_pool_type": "base_pool5", "star": 5, - "race": 2, - "id": "24002", + "race": 1, + "id": "15004", "weight": 1000 }, { "key": 36, "recruitment_type": 1, "card_pool_type": "base_pool5", - "star": 5, - "race": 4, - "id": "45003", + "star": 4, + "race": 2, + "id": "24002", "weight": 1000 }, { "key": 37, "recruitment_type": 1, "card_pool_type": "base_pool5", - "star": 5, - "race": 1, - "id": "14003", + "star": 4, + "race": 4, + "id": "45003", "weight": 1000 }, { "key": 38, "recruitment_type": 1, "card_pool_type": "base_pool5", - "star": 5, + "star": 4, "race": 1, - "id": "15005", + "id": "14003", "weight": 1000 }, { @@ -346,17 +346,17 @@ "recruitment_type": 1, "card_pool_type": "base_pool5", "star": 5, - "race": 2, - "id": "24003", + "race": 1, + "id": "15005", "weight": 1000 }, { "key": 40, "recruitment_type": 1, - "card_pool_type": "base_pool6", - "star": 3, - "race": 4, - "id": "44006", + "card_pool_type": "base_pool5", + "star": 4, + "race": 2, + "id": "24003", "weight": 1000 }, { @@ -364,80 +364,80 @@ "recruitment_type": 1, "card_pool_type": "base_pool6", "star": 3, - "race": 2, - "id": "35001", + "race": 1, + "id": "13003", "weight": 1000 }, { "key": 42, "recruitment_type": 1, "card_pool_type": "base_pool6", - "star": 3, + "star": 4, "race": 4, - "id": "44005", + "id": "44006", "weight": 1000 }, { "key": 43, "recruitment_type": 1, "card_pool_type": "base_pool6", - "star": 3, - "race": 1, - "id": "15004", + "star": 5, + "race": 2, + "id": "35001", "weight": 1000 }, { "key": 44, "recruitment_type": 1, "card_pool_type": "base_pool6", - "star": 3, - "race": 2, - "id": "24002", + "star": 4, + "race": 4, + "id": "44005", "weight": 1000 }, { "key": 45, "recruitment_type": 1, "card_pool_type": "base_pool6", - "star": 3, - "race": 4, - "id": "45003", + "star": 5, + "race": 1, + "id": "15004", "weight": 1000 }, { "key": 46, "recruitment_type": 1, "card_pool_type": "base_pool6", - "star": 3, - "race": 1, - "id": "14003", + "star": 4, + "race": 2, + "id": "24002", "weight": 1000 }, { "key": 47, "recruitment_type": 1, "card_pool_type": "base_pool6", - "star": 3, - "race": 1, - "id": "15005", + "star": 4, + "race": 4, + "id": "45003", "weight": 1000 }, { "key": 48, "recruitment_type": 1, "card_pool_type": "base_pool6", - "star": 3, - "race": 2, - "id": "24003", + "star": 4, + "race": 1, + "id": "14003", "weight": 1000 }, { "key": 49, "recruitment_type": 1, "card_pool_type": "base_pool6", - "star": 4, - "race": 2, - "id": "24004", + "star": 5, + "race": 1, + "id": "15005", "weight": 1000 }, { @@ -446,7 +446,7 @@ "card_pool_type": "base_pool6", "star": 4, "race": 2, - "id": "25004", + "id": "24003", "weight": 1000 }, { @@ -454,44 +454,44 @@ "recruitment_type": 1, "card_pool_type": "base_pool6", "star": 4, - "race": 3, - "id": "34006", + "race": 2, + "id": "24004", "weight": 1000 }, { "key": 52, "recruitment_type": 1, "card_pool_type": "base_pool6", - "star": 4, + "star": 5, "race": 2, - "id": "25001", + "id": "25004", "weight": 1000 }, { "key": 53, "recruitment_type": 1, "card_pool_type": "base_pool6", - "star": 5, - "race": 1, - "id": "14007", + "star": 4, + "race": 3, + "id": "34006", "weight": 1000 }, { "key": 54, "recruitment_type": 1, - "card_pool_type": "base_pool7", - "star": 3, - "race": 4, - "id": "44006", + "card_pool_type": "base_pool6", + "star": 5, + "race": 2, + "id": "25001", "weight": 1000 }, { "key": 55, "recruitment_type": 1, - "card_pool_type": "base_pool7", - "star": 3, - "race": 2, - "id": "35001", + "card_pool_type": "base_pool6", + "star": 4, + "race": 1, + "id": "14007", "weight": 1000 }, { @@ -499,62 +499,62 @@ "recruitment_type": 1, "card_pool_type": "base_pool7", "star": 3, - "race": 4, - "id": "44005", + "race": 1, + "id": "13003", "weight": 1000 }, { "key": 57, "recruitment_type": 1, "card_pool_type": "base_pool7", - "star": 3, - "race": 1, - "id": "15004", + "star": 4, + "race": 4, + "id": "44006", "weight": 1000 }, { "key": 58, "recruitment_type": 1, "card_pool_type": "base_pool7", - "star": 3, + "star": 5, "race": 2, - "id": "24002", + "id": "35001", "weight": 1000 }, { "key": 59, "recruitment_type": 1, "card_pool_type": "base_pool7", - "star": 3, + "star": 4, "race": 4, - "id": "45003", + "id": "44005", "weight": 1000 }, { "key": 60, "recruitment_type": 1, "card_pool_type": "base_pool7", - "star": 3, + "star": 5, "race": 1, - "id": "14003", + "id": "15004", "weight": 1000 }, { "key": 61, "recruitment_type": 1, "card_pool_type": "base_pool7", - "star": 3, - "race": 1, - "id": "15005", + "star": 4, + "race": 2, + "id": "24002", "weight": 1000 }, { "key": 62, "recruitment_type": 1, "card_pool_type": "base_pool7", - "star": 3, - "race": 2, - "id": "24003", + "star": 4, + "race": 4, + "id": "45003", "weight": 1000 }, { @@ -562,17 +562,17 @@ "recruitment_type": 1, "card_pool_type": "base_pool7", "star": 4, - "race": 2, - "id": "24004", + "race": 1, + "id": "14003", "weight": 1000 }, { "key": 64, "recruitment_type": 1, "card_pool_type": "base_pool7", - "star": 4, - "race": 2, - "id": "25004", + "star": 5, + "race": 1, + "id": "15005", "weight": 1000 }, { @@ -580,8 +580,8 @@ "recruitment_type": 1, "card_pool_type": "base_pool7", "star": 4, - "race": 3, - "id": "34006", + "race": 2, + "id": "24003", "weight": 1000 }, { @@ -590,7 +590,7 @@ "card_pool_type": "base_pool7", "star": 4, "race": 2, - "id": "25001", + "id": "24004", "weight": 1000 }, { @@ -598,35 +598,35 @@ "recruitment_type": 1, "card_pool_type": "base_pool7", "star": 5, - "race": 1, - "id": "14007", + "race": 2, + "id": "25004", "weight": 1000 }, { "key": 68, - "recruitment_type": 2, - "card_pool_type": "camp1_pool", - "star": 3, - "race": 1, - "id": "13001", + "recruitment_type": 1, + "card_pool_type": "base_pool7", + "star": 4, + "race": 3, + "id": "34006", "weight": 1000 }, { "key": 69, - "recruitment_type": 2, - "card_pool_type": "camp1_pool", - "star": 3, - "race": 1, - "id": "13002", + "recruitment_type": 1, + "card_pool_type": "base_pool7", + "star": 5, + "race": 2, + "id": "25001", "weight": 1000 }, { "key": 70, - "recruitment_type": 2, - "card_pool_type": "camp1_pool", - "star": 3, + "recruitment_type": 1, + "card_pool_type": "base_pool7", + "star": 4, "race": 1, - "id": "13003", + "id": "14007", "weight": 1000 }, { @@ -635,7 +635,7 @@ "card_pool_type": "camp1_pool", "star": 3, "race": 1, - "id": "13004", + "id": "13001", "weight": 1000 }, { @@ -644,34 +644,34 @@ "card_pool_type": "camp1_pool", "star": 3, "race": 1, - "id": "13005", + "id": "13002", "weight": 1000 }, { "key": 73, "recruitment_type": 2, "card_pool_type": "camp1_pool", - "star": 4, + "star": 3, "race": 1, - "id": "14001", + "id": "13003", "weight": 1000 }, { "key": 74, "recruitment_type": 2, "card_pool_type": "camp1_pool", - "star": 4, + "star": 3, "race": 1, - "id": "14002", + "id": "13004", "weight": 1000 }, { "key": 75, "recruitment_type": 2, "card_pool_type": "camp1_pool", - "star": 4, + "star": 3, "race": 1, - "id": "14003", + "id": "13005", "weight": 1000 }, { @@ -680,7 +680,7 @@ "card_pool_type": "camp1_pool", "star": 4, "race": 1, - "id": "14004", + "id": "14001", "weight": 1000 }, { @@ -689,7 +689,7 @@ "card_pool_type": "camp1_pool", "star": 4, "race": 1, - "id": "14005", + "id": "14002", "weight": 1000 }, { @@ -698,7 +698,7 @@ "card_pool_type": "camp1_pool", "star": 4, "race": 1, - "id": "14006", + "id": "14003", "weight": 1000 }, { @@ -707,34 +707,34 @@ "card_pool_type": "camp1_pool", "star": 4, "race": 1, - "id": "14007", + "id": "14004", "weight": 1000 }, { "key": 80, "recruitment_type": 2, "card_pool_type": "camp1_pool", - "star": 5, + "star": 4, "race": 1, - "id": "15001", + "id": "14005", "weight": 1000 }, { "key": 81, "recruitment_type": 2, "card_pool_type": "camp1_pool", - "star": 5, + "star": 4, "race": 1, - "id": "15002", + "id": "14006", "weight": 1000 }, { "key": 82, "recruitment_type": 2, "card_pool_type": "camp1_pool", - "star": 5, + "star": 4, "race": 1, - "id": "15003", + "id": "14007", "weight": 1000 }, { @@ -743,34 +743,34 @@ "card_pool_type": "camp1_pool", "star": 5, "race": 1, - "id": "15004", + "id": "15001", "weight": 1000 }, { "key": 84, "recruitment_type": 2, - "card_pool_type": "camp2_pool", - "star": 3, - "race": 2, - "id": "23001", + "card_pool_type": "camp1_pool", + "star": 5, + "race": 1, + "id": "15002", "weight": 1000 }, { "key": 85, "recruitment_type": 2, - "card_pool_type": "camp2_pool", - "star": 3, - "race": 2, - "id": "23002", + "card_pool_type": "camp1_pool", + "star": 5, + "race": 1, + "id": "15003", "weight": 1000 }, { "key": 86, "recruitment_type": 2, - "card_pool_type": "camp2_pool", - "star": 3, - "race": 2, - "id": "23003", + "card_pool_type": "camp1_pool", + "star": 5, + "race": 1, + "id": "15004", "weight": 1000 }, { @@ -779,34 +779,34 @@ "card_pool_type": "camp2_pool", "star": 3, "race": 2, - "id": "23004", + "id": "23001", "weight": 1000 }, { "key": 88, "recruitment_type": 2, "card_pool_type": "camp2_pool", - "star": 4, + "star": 3, "race": 2, - "id": "24001", + "id": "23002", "weight": 1000 }, { "key": 89, "recruitment_type": 2, "card_pool_type": "camp2_pool", - "star": 4, + "star": 3, "race": 2, - "id": "24002", + "id": "23003", "weight": 1000 }, { "key": 90, "recruitment_type": 2, "card_pool_type": "camp2_pool", - "star": 4, + "star": 3, "race": 2, - "id": "24003", + "id": "23004", "weight": 1000 }, { @@ -815,7 +815,7 @@ "card_pool_type": "camp2_pool", "star": 4, "race": 2, - "id": "24004", + "id": "24001", "weight": 1000 }, { @@ -824,7 +824,7 @@ "card_pool_type": "camp2_pool", "star": 4, "race": 2, - "id": "24005", + "id": "24002", "weight": 1000 }, { @@ -833,7 +833,7 @@ "card_pool_type": "camp2_pool", "star": 4, "race": 2, - "id": "24006", + "id": "24003", "weight": 1000 }, { @@ -842,7 +842,7 @@ "card_pool_type": "camp2_pool", "star": 4, "race": 2, - "id": "24007", + "id": "24004", "weight": 1000 }, { @@ -851,7 +851,7 @@ "card_pool_type": "camp2_pool", "star": 4, "race": 2, - "id": "24008", + "id": "24005", "weight": 1000 }, { @@ -860,34 +860,34 @@ "card_pool_type": "camp2_pool", "star": 4, "race": 2, - "id": "24009", + "id": "24006", "weight": 1000 }, { "key": 97, "recruitment_type": 2, "card_pool_type": "camp2_pool", - "star": 5, + "star": 4, "race": 2, - "id": "25001", + "id": "24007", "weight": 1000 }, { "key": 98, "recruitment_type": 2, "card_pool_type": "camp2_pool", - "star": 5, + "star": 4, "race": 2, - "id": "25002", + "id": "24008", "weight": 1000 }, { "key": 99, "recruitment_type": 2, "card_pool_type": "camp2_pool", - "star": 5, + "star": 4, "race": 2, - "id": "25003", + "id": "24009", "weight": 1000 }, { @@ -896,34 +896,34 @@ "card_pool_type": "camp2_pool", "star": 5, "race": 2, - "id": "25004", + "id": "25001", "weight": 1000 }, { "key": 101, "recruitment_type": 2, - "card_pool_type": "camp3_pool", - "star": 3, - "race": 3, - "id": "33001", + "card_pool_type": "camp2_pool", + "star": 5, + "race": 2, + "id": "25002", "weight": 1000 }, { "key": 102, "recruitment_type": 2, - "card_pool_type": "camp3_pool", - "star": 3, - "race": 3, - "id": "33002", + "card_pool_type": "camp2_pool", + "star": 5, + "race": 2, + "id": "25003", "weight": 1000 }, { "key": 103, "recruitment_type": 2, - "card_pool_type": "camp3_pool", - "star": 3, - "race": 3, - "id": "33003", + "card_pool_type": "camp2_pool", + "star": 5, + "race": 2, + "id": "25004", "weight": 1000 }, { @@ -932,7 +932,7 @@ "card_pool_type": "camp3_pool", "star": 3, "race": 3, - "id": "33004", + "id": "33001", "weight": 1000 }, { @@ -941,7 +941,7 @@ "card_pool_type": "camp3_pool", "star": 3, "race": 3, - "id": "33005", + "id": "33002", "weight": 1000 }, { @@ -950,34 +950,34 @@ "card_pool_type": "camp3_pool", "star": 3, "race": 3, - "id": "33006", + "id": "33003", "weight": 1000 }, { "key": 107, "recruitment_type": 2, "card_pool_type": "camp3_pool", - "star": 4, + "star": 3, "race": 3, - "id": "34001", + "id": "33004", "weight": 1000 }, { "key": 108, "recruitment_type": 2, "card_pool_type": "camp3_pool", - "star": 4, + "star": 3, "race": 3, - "id": "34002", + "id": "33005", "weight": 1000 }, { "key": 109, "recruitment_type": 2, "card_pool_type": "camp3_pool", - "star": 4, + "star": 3, "race": 3, - "id": "34003", + "id": "33006", "weight": 1000 }, { @@ -986,7 +986,7 @@ "card_pool_type": "camp3_pool", "star": 4, "race": 3, - "id": "34004", + "id": "34001", "weight": 1000 }, { @@ -995,7 +995,7 @@ "card_pool_type": "camp3_pool", "star": 4, "race": 3, - "id": "34005", + "id": "34002", "weight": 1000 }, { @@ -1004,7 +1004,7 @@ "card_pool_type": "camp3_pool", "star": 4, "race": 3, - "id": "34006", + "id": "34003", "weight": 1000 }, { @@ -1013,7 +1013,7 @@ "card_pool_type": "camp3_pool", "star": 4, "race": 3, - "id": "34007", + "id": "34004", "weight": 1000 }, { @@ -1022,34 +1022,34 @@ "card_pool_type": "camp3_pool", "star": 4, "race": 3, - "id": "34008", + "id": "34005", "weight": 1000 }, { "key": 115, "recruitment_type": 2, "card_pool_type": "camp3_pool", - "star": 5, + "star": 4, "race": 3, - "id": "35002", + "id": "34006", "weight": 1000 }, { "key": 116, "recruitment_type": 2, "card_pool_type": "camp3_pool", - "star": 5, + "star": 4, "race": 3, - "id": "35003", + "id": "34007", "weight": 1000 }, { "key": 117, "recruitment_type": 2, "card_pool_type": "camp3_pool", - "star": 5, + "star": 4, "race": 3, - "id": "35004", + "id": "34008", "weight": 1000 }, { @@ -1058,7 +1058,7 @@ "card_pool_type": "camp3_pool", "star": 5, "race": 3, - "id": "35005", + "id": "35002", "weight": 1000 }, { @@ -1067,34 +1067,34 @@ "card_pool_type": "camp3_pool", "star": 5, "race": 3, - "id": "35006", + "id": "35003", "weight": 1000 }, { "key": 120, "recruitment_type": 2, - "card_pool_type": "camp4_pool", - "star": 3, - "race": 4, - "id": "43001", + "card_pool_type": "camp3_pool", + "star": 5, + "race": 3, + "id": "35004", "weight": 1000 }, { "key": 121, "recruitment_type": 2, - "card_pool_type": "camp4_pool", - "star": 3, - "race": 4, - "id": "43002", + "card_pool_type": "camp3_pool", + "star": 5, + "race": 3, + "id": "35005", "weight": 1000 }, { "key": 122, "recruitment_type": 2, - "card_pool_type": "camp4_pool", - "star": 3, - "race": 4, - "id": "43003", + "card_pool_type": "camp3_pool", + "star": 5, + "race": 3, + "id": "35006", "weight": 1000 }, { @@ -1103,7 +1103,7 @@ "card_pool_type": "camp4_pool", "star": 3, "race": 4, - "id": "43004", + "id": "43001", "weight": 1000 }, { @@ -1112,7 +1112,7 @@ "card_pool_type": "camp4_pool", "star": 3, "race": 4, - "id": "43005", + "id": "43002", "weight": 1000 }, { @@ -1121,7 +1121,7 @@ "card_pool_type": "camp4_pool", "star": 3, "race": 4, - "id": "43006", + "id": "43003", "weight": 1000 }, { @@ -1130,34 +1130,34 @@ "card_pool_type": "camp4_pool", "star": 3, "race": 4, - "id": "43007", + "id": "43004", "weight": 1000 }, { "key": 127, "recruitment_type": 2, "card_pool_type": "camp4_pool", - "star": 4, + "star": 3, "race": 4, - "id": "44001", + "id": "43005", "weight": 1000 }, { "key": 128, "recruitment_type": 2, "card_pool_type": "camp4_pool", - "star": 4, + "star": 3, "race": 4, - "id": "44002", + "id": "43006", "weight": 1000 }, { "key": 129, "recruitment_type": 2, "card_pool_type": "camp4_pool", - "star": 4, + "star": 3, "race": 4, - "id": "44003", + "id": "43007", "weight": 1000 }, { @@ -1166,7 +1166,7 @@ "card_pool_type": "camp4_pool", "star": 4, "race": 4, - "id": "44004", + "id": "44001", "weight": 1000 }, { @@ -1175,41 +1175,68 @@ "card_pool_type": "camp4_pool", "star": 4, "race": 4, - "id": "44006", + "id": "44002", "weight": 1000 }, { "key": 132, "recruitment_type": 2, "card_pool_type": "camp4_pool", - "star": 5, + "star": 4, "race": 4, - "id": "45001", + "id": "44003", "weight": 1000 }, { "key": 133, "recruitment_type": 2, "card_pool_type": "camp4_pool", - "star": 5, + "star": 4, "race": 4, - "id": "45002", + "id": "44004", "weight": 1000 }, { "key": 134, "recruitment_type": 2, "card_pool_type": "camp4_pool", - "star": 5, + "star": 4, "race": 4, - "id": "45003", + "id": "44006", "weight": 1000 }, { "key": 135, "recruitment_type": 2, "card_pool_type": "camp4_pool", - "star": 5, + "star": 4, + "race": 4, + "id": "45001", + "weight": 1000 + }, + { + "key": 136, + "recruitment_type": 2, + "card_pool_type": "camp4_pool", + "star": 4, + "race": 4, + "id": "45002", + "weight": 1000 + }, + { + "key": 137, + "recruitment_type": 2, + "card_pool_type": "camp4_pool", + "star": 4, + "race": 4, + "id": "45003", + "weight": 1000 + }, + { + "key": 138, + "recruitment_type": 2, + "card_pool_type": "camp4_pool", + "star": 4, "race": 4, "id": "45004", "weight": 1000 diff --git a/bin/json/game_linestorychapter.json b/bin/json/game_linestorychapter.json deleted file mode 100644 index 29249bea0..000000000 --- a/bin/json/game_linestorychapter.json +++ /dev/null @@ -1,19 +0,0 @@ -[ - { - "id": 1, - "stroy": 101, - "name": "line_1007", - "cond": [ - 101 - ], - "img": "", - "taskid": [ - 1001, - 1002, - 1003, - 1004, - 1005, - 1006 - ] - } -] \ No newline at end of file diff --git a/bin/json/game_linestorystagetask.json b/bin/json/game_linestorystagetask.json deleted file mode 100644 index 561ba417d..000000000 --- a/bin/json/game_linestorystagetask.json +++ /dev/null @@ -1,70 +0,0 @@ -[ - { - "id": 100101, - "preTId": -1, - "nextTId": 100102, - "cond": [ - 101, - 102 - ], - "reward": [ - { - "a": "attr", - "t": "gold", - "n": 100 - }, - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "id": 100102, - "preTId": 100101, - "nextTId": 100103, - "cond": [ - 104 - ], - "reward": [ - { - "a": "attr", - "t": "gold", - "n": 100 - }, - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "id": 100103, - "preTId": 100102, - "nextTId": 100104, - "cond": [ - 106 - ], - "reward": [] - }, - { - "id": 100104, - "preTId": 100103, - "nextTId": 100105, - "cond": [ - 108 - ], - "reward": [] - }, - { - "id": 100105, - "preTId": 100103, - "nextTId": -1, - "cond": [ - 109 - ], - "reward": [] - } -] \ No newline at end of file diff --git a/bin/json/game_linestorytask.json b/bin/json/game_linestorytask.json deleted file mode 100644 index 725814c74..000000000 --- a/bin/json/game_linestorytask.json +++ /dev/null @@ -1,107 +0,0 @@ -[ - { - "id": 1001, - "preTId": -1, - "stageTId": [ - 100101, - 100102 - ], - "reward": [ - { - "a": "attr", - "t": "gold", - "n": 100 - }, - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ], - "finish": 0, - "ending": 1, - "resetto": -1 - }, - { - "id": 1002, - "preTId": 1001, - "stageTId": [ - 100101, - 100102 - ], - "reward": [ - { - "a": "attr", - "t": "gold", - "n": 100 - }, - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ], - "finish": 0, - "ending": 1, - "resetto": -1 - }, - { - "id": 1003, - "preTId": 1002, - "stageTId": [ - 100101, - 100102 - ], - "reward": [ - { - "a": "attr", - "t": "gold", - "n": 100 - }, - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ], - "finish": 0, - "ending": 1, - "resetto": -1 - }, - { - "id": 1004, - "preTId": 1002, - "stageTId": [ - 100101, - 100102 - ], - "reward": [], - "finish": 1, - "ending": 0, - "resetto": 1001 - }, - { - "id": 1005, - "preTId": 1003, - "stageTId": [ - 100101, - 100102 - ], - "reward": [], - "finish": 0, - "ending": 1, - "resetto": -1 - }, - { - "id": 1006, - "preTId": 1005, - "stageTId": [ - 100101, - 100102 - ], - "reward": [], - "finish": 1, - "ending": 1, - "resetto": -1 - } -] \ No newline at end of file diff --git a/bin/json/game_linestorytimeline.json b/bin/json/game_linestorytimeline.json index cfa6eae03..9217cc998 100644 --- a/bin/json/game_linestorytimeline.json +++ b/bin/json/game_linestorytimeline.json @@ -1,6 +1,5 @@ [ { - "index": 1, "group": 10001, "nodeIndex": 0, "cond": [], @@ -23,10 +22,11 @@ ] }, { - "index": 2, - "group": 10001, - "nodeIndex": 0, - "cond": [], + "group": 10002, + "nodeIndex": 1, + "cond": [ + 10001 + ], "name": { "key": "阿宝的成长2", "text": "阿宝的成长2" @@ -46,10 +46,11 @@ ] }, { - "index": 3, - "group": 10001, - "nodeIndex": 0, - "cond": [], + "group": 10003, + "nodeIndex": 1, + "cond": [ + 10001 + ], "name": { "key": "阿宝的成长3", "text": "阿宝的成长3" @@ -69,10 +70,11 @@ ] }, { - "index": 4, - "group": 10001, - "nodeIndex": 0, - "cond": [], + "group": 10004, + "nodeIndex": 2, + "cond": [ + 10003 + ], "name": { "key": "阿宝的成长4", "text": "阿宝的成长4" @@ -92,10 +94,11 @@ ] }, { - "index": 5, - "group": 10001, - "nodeIndex": 0, - "cond": [], + "group": 10005, + "nodeIndex": 2, + "cond": [ + 10003 + ], "name": { "key": "阿宝的成长5", "text": "阿宝的成长5" @@ -115,10 +118,11 @@ ] }, { - "index": 6, - "group": 10001, - "nodeIndex": 0, - "cond": [], + "group": 10006, + "nodeIndex": 3, + "cond": [ + 10005 + ], "name": { "key": "阿宝的成长6", "text": "阿宝的成长6" @@ -138,10 +142,11 @@ ] }, { - "index": 7, - "group": 10001, - "nodeIndex": 0, - "cond": [], + "group": 10007, + "nodeIndex": 4, + "cond": [ + 10006 + ], "name": { "key": "阿宝的成长7", "text": "阿宝的成长7" @@ -161,10 +166,11 @@ ] }, { - "index": 8, - "group": 10001, - "nodeIndex": 0, - "cond": [], + "group": 10008, + "nodeIndex": 5, + "cond": [ + 10007 + ], "name": { "key": "阿宝的成长8", "text": "阿宝的成长8" diff --git a/bin/json/game_msgdistrib.json b/bin/json/game_msgdistrib.json index f90536e92..d4ea76737 100644 --- a/bin/json/game_msgdistrib.json +++ b/bin/json/game_msgdistrib.json @@ -322,5 +322,11 @@ "open": true, "routrules": "~/worker", "describe": "公会活跃度列表" + }, + { + "msgid": "viking.ranklist", + "open": true, + "routrules": "~/worker", + "describe": "维京排行榜数据" } ] \ No newline at end of file diff --git a/cmd/v2/ui/protocol.go b/cmd/v2/ui/protocol.go index 952eae2ca..5e776d070 100644 --- a/cmd/v2/ui/protocol.go +++ b/cmd/v2/ui/protocol.go @@ -110,8 +110,7 @@ var ( ff(comm.ModuleRtask, rtask.RtaskSubTypeBattleFinish): &formview.RtaskBattleFinishView{}, ff(comm.ModuleRtask, rtask.RtaskSubTypeGetrecord): &formview.RtaskRecordView{}, // linestory - ff(comm.ModuleLinestory, linestory.LinestorySubTypeDostart): &formview.LinestoryStartView{}, - ff(comm.ModuleLinestory, linestory.LinestorySubTypeDotask): &formview.LinestoryTaskView{}, + ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter): &formview.LinestoryMineView{}, // gourmet ff(comm.ModuleGourmet, "getranduser"): &formview.GourmentGetRandView{}, // sociaty @@ -235,8 +234,7 @@ var ( ff(comm.ModuleRtask, "rtest"), }, "linestory": { - ff(comm.ModuleLinestory, linestory.LinestorySubTypeDostart), - ff(comm.ModuleLinestory, linestory.LinestorySubTypeDotask), + ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter), }, "gourmet": { ff(comm.ModuleGourmet, "getranduser"), @@ -822,18 +820,11 @@ var ( MainType: string(comm.ModuleLinestory), Enabled: true, }, - ff(comm.ModuleLinestory, linestory.LinestorySubTypeDostart): { - NavLabel: "启动", - Desc: "启动剧情任务", + ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter): { + NavLabel: "我的任务", + Desc: "我的剧情任务", MainType: string(comm.ModuleLinestory), - SubType: linestory.LinestorySubTypeDostart, - Enabled: true, - }, - ff(comm.ModuleLinestory, linestory.LinestorySubTypeDotask): { - NavLabel: "做任务", - Desc: "做任务", - MainType: string(comm.ModuleLinestory), - SubType: linestory.LinestorySubTypeDotask, + SubType: linestory.LinestorySubTypeChapter, Enabled: true, }, // gourmet diff --git a/cmd/v2/ui/views/linestory_dotask.go b/cmd/v2/ui/views/linestory_dotask.go deleted file mode 100644 index 93ecf67c8..000000000 --- a/cmd/v2/ui/views/linestory_dotask.go +++ /dev/null @@ -1,53 +0,0 @@ -package formview - -import ( - "errors" - "go_dreamfactory/cmd/v2/model" - "go_dreamfactory/cmd/v2/service" - "go_dreamfactory/pb" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/dialog" - "fyne.io/fyne/v2/widget" - "github.com/sirupsen/logrus" - "github.com/spf13/cast" -) - -type LinestoryTaskView struct { - BaseformView -} - -func (this *LinestoryTaskView) CreateView(t *model.TestCase) fyne.CanvasObject { - taskId := widget.NewEntry() - taskId.PlaceHolder = "任务ID" - - subTaskId := widget.NewEntry() - subTaskId.PlaceHolder = "子任务ID" - - this.form.AppendItem(widget.NewFormItem("任务ID", taskId)) - this.form.AppendItem(widget.NewFormItem("子任务ID", subTaskId)) - - this.form.OnSubmit = func() { - if taskId.Text == "" { - dialog.ShowError(errors.New("请任务ID"), this.w) - return - } - - if subTaskId.Text == "" { - dialog.ShowError(errors.New("请子任务ID"), this.w) - return - } - if err := service.GetPttService().SendToClient( - t.MainType, - t.SubType, - &pb.LinestoryDotaskReq{ - TaskId: cast.ToInt32(taskId.Text), - SubtaskId: cast.ToInt32(subTaskId.Text), - }, - ); err != nil { - logrus.Error(err) - return - } - } - return this.form -} diff --git a/cmd/v2/ui/views/linestory_mine.go b/cmd/v2/ui/views/linestory_mine.go new file mode 100644 index 000000000..aa3ad03c7 --- /dev/null +++ b/cmd/v2/ui/views/linestory_mine.go @@ -0,0 +1,113 @@ +package formview + +import ( + "fmt" + "go_dreamfactory/cmd/v2/lib/common" + "go_dreamfactory/cmd/v2/model" + "go_dreamfactory/cmd/v2/service" + "go_dreamfactory/cmd/v2/service/observer" + "go_dreamfactory/comm" + "go_dreamfactory/modules/linestory" + "go_dreamfactory/pb" + "strings" + + "fyne.io/fyne/v2" + "fyne.io/fyne/v2/widget" + "github.com/sirupsen/logrus" + "github.com/spf13/cast" +) + +type LinestoryMineView struct { + BaseformView + friendList func() + itemList *common.ItemList + flag bool +} + +func (this *LinestoryMineView) CreateView(t *model.TestCase) fyne.CanvasObject { + jqId := widget.NewEntry() + jqId.PlaceHolder = "章节ID" + + this.form.AppendItem(widget.NewFormItem("章节ID", jqId)) + + mine := func() { + if err := service.GetPttService().SendToClient( + t.MainType, + linestory.LinestorySubTypeChapter, + &pb.LinestoryChapterReq{}, + ); err != nil { + logrus.Error(err) + return + } + } + defer mine() + + // 进入章节 + this.form.OnSubmit = func() { + if jqId.Text == "" { + common.ShowTip("输入章节ID") + return + } + if err := service.GetPttService().SendToClient( + t.MainType, + linestory.LinestorySubTypeMaintask, + &pb.LinestoryMaintaskReq{ + ChapterId: cast.ToInt32(jqId.Text), + }, + ); err != nil { + logrus.Error(err) + return + } + } + this.form.SubmitText = "进入章节" + + // 章节奖励 + this.form.OnCancel = func() { + if jqId.Text == "" { + common.ShowTip("输入章节ID") + return + } + if err := service.GetPttService().SendToClient( + t.MainType, + linestory.LinestorySubTypeReceive, + &pb.LinestoryReceiveReq{ + ChapterId: cast.ToInt32(jqId.Text), + }, + ); err != nil { + logrus.Error(err) + return + } + } + this.form.CancelText = "领奖励" + this.dataListener() + return this.form +} + +func (this *LinestoryMineView) dataListener() { + if this.flag { + return + } + this.obs.AddListener(observer.EVENT_REQ_RSP, observer.Listener{ + OnNotify: func(d interface{}, args ...interface{}) { + data := d.(*pb.UserMessage) + if !(data.MainType == string(comm.ModuleLinestory) && + data.SubType == linestory.LinestorySubTypeMaintask) { + return + } + rsp := &pb.LinestoryMaintaskResp{} + + if !comm.ProtoUnmarshal(data, rsp) { + logrus.Error("unmarshal err") + return + } + + var formatStr strings.Builder + for _, v := range rsp.List { + formatStr.WriteString(fmt.Sprintf("%d- %v\n", v.TaskId, v.Status)) + } + this.res.Text = formatStr.String() + this.res.Refresh() + }, + }) + this.flag = true +} diff --git a/cmd/v2/ui/views/linestory_start.go b/cmd/v2/ui/views/linestory_start.go deleted file mode 100644 index 7b726f27e..000000000 --- a/cmd/v2/ui/views/linestory_start.go +++ /dev/null @@ -1,43 +0,0 @@ -package formview - -import ( - "errors" - "go_dreamfactory/cmd/v2/model" - "go_dreamfactory/cmd/v2/service" - "go_dreamfactory/pb" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/dialog" - "fyne.io/fyne/v2/widget" - "github.com/sirupsen/logrus" - "github.com/spf13/cast" -) - -type LinestoryStartView struct { - BaseformView -} - -func (this *LinestoryStartView) CreateView(t *model.TestCase) fyne.CanvasObject { - jqId := widget.NewEntry() - jqId.PlaceHolder = "情景ID" - - this.form.AppendItem(widget.NewFormItem("情景ID", jqId)) - - this.form.OnSubmit = func() { - if jqId.Text == "" { - dialog.ShowError(errors.New("请情景ID"), this.w) - return - } - if err := service.GetPttService().SendToClient( - t.MainType, - t.SubType, - &pb.LinestoryStartReq{ - JqId: cast.ToInt32(jqId.Text), - }, - ); err != nil { - logrus.Error(err) - return - } - } - return this.form -} diff --git a/comm/error.go b/comm/error.go index ad258db9f..ba0740fd9 100644 --- a/comm/error.go +++ b/comm/error.go @@ -8,7 +8,7 @@ import ( type CustomError struct { Code pb.ErrorCode `json:"code"` // 业务码 - Message string `json:"message"` // 业务码 + Message string `json:"message"` // 业务注释 } func (e *CustomError) Error() string { diff --git a/comm/imodule.go b/comm/imodule.go index ee9343475..8e50291ec 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -260,5 +260,12 @@ type ( TaskcondNotify(session IUserSession, condId int32) error // bingo任务 BingoJumpTask(session IUserSession, groupId, rtaskId int32) error + // 查询我的世界任务 + GetMyWorldtask(uid string) *pb.DBWorldtask + } + // 支线剧情任务 + ILinestory interface { + // 任务完成通知 + TaskFinishNotify(uid string, taskId, groupId int32) error } ) diff --git a/lego/sys/log/core.go b/lego/sys/log/core.go index 61cbce1f7..7831d3ffc 100644 --- a/lego/sys/log/core.go +++ b/lego/sys/log/core.go @@ -10,11 +10,8 @@ var AllLevels = []Loglevel{ } type ( - Field struct { - Key string - Value interface{} - } - Fields []Field + + Fields map[string]interface{} Ilogf interface { Debugf(format string, args ...interface{}) Infof(format string, args ...interface{}) @@ -34,13 +31,13 @@ type ( Panicln(args ...interface{}) } ILog interface { - Debug(msg string, args ...Field) - Info(msg string, args ...Field) - Print(msg string, args ...Field) - Warn(msg string, args ...Field) - Error(msg string, args ...Field) - Fatal(msg string, args ...Field) - Panic(msg string, args ...Field) + Debug(msg string, args Fields) + Info(msg string, args Fields) + Print(msg string, args Fields) + Warn(msg string, args Fields) + Error(msg string, args Fields) + Fatal(msg string, args Fields) + Panic(msg string, args Fields) } ILogger interface { @@ -80,23 +77,23 @@ func NewSys(opt ...Option) (sys ISys, err error) { func Clone(name string, skip int) ILogger { return defsys.Clone(name, skip) } -func Debug(msg string, args ...Field) { - defsys.Debug(msg, args...) +func Debug(msg string, args Fields) { + defsys.Debug(msg, args) } -func Info(msg string, args ...Field) { - defsys.Info(msg, args...) +func Info(msg string, args Fields) { + defsys.Info(msg, args) } -func Warn(msg string, args ...Field) { - defsys.Warn(msg, args...) +func Warn(msg string, args Fields) { + defsys.Warn(msg, args) } -func Error(msg string, args ...Field) { - defsys.Error(msg, args...) +func Error(msg string, args Fields) { + defsys.Error(msg, args) } -func Fatal(msg string, args ...Field) { - defsys.Fatal(msg, args...) +func Fatal(msg string, args Fields) { + defsys.Fatal(msg, args) } -func Panic(msg string, args ...Field) { - defsys.Panic(msg, args...) +func Panic(msg string, args Fields) { + defsys.Panic(msg, args) } func Debugf(format string, args ...interface{}) { defsys.Debugf(format, args...) diff --git a/lego/sys/log/entry.go b/lego/sys/log/entry.go index d47251408..426ec4755 100644 --- a/lego/sys/log/entry.go +++ b/lego/sys/log/entry.go @@ -14,7 +14,7 @@ var ( _cePool = sync.Pool{New: func() interface{} { // Pre-allocate some space for cores. return &Entry{ - Data: make(Fields, 0, 6), + Data: make(map[string]interface{}), } }} ) @@ -91,31 +91,29 @@ func (entry *Entry) reset() { entry.Caller.Function = "" entry.Caller.Stack = "" entry.Err = "" - entry.Data = entry.Data[:0] + entry.Data = make(map[string]interface{}) } -func (entry *Entry) WithFields(fields ...Field) { - if cap(entry.Data) < len(fields) { - entry.Data = make(Fields, 0, cap(entry.Data)+len(fields)) - } +func (entry *Entry) WithFields(fields Fields) { + fieldErr := entry.Err - for _, v := range fields { + for k, v := range fields { isErrField := false - if t := reflect.TypeOf(v.Value); t != nil { + if t := reflect.TypeOf(v); t != nil { switch { case t.Kind() == reflect.Func, t.Kind() == reflect.Ptr && t.Elem().Kind() == reflect.Func: isErrField = true } } if isErrField { - tmp := fmt.Sprintf("can not add field %q", v.Key) + tmp := fmt.Sprintf("can not add field %q", k) if fieldErr != "" { fieldErr = entry.Err + ", " + tmp } else { fieldErr = tmp } } else { - entry.Data = append(entry.Data, v) + entry.Data[k] = v } } } diff --git a/lego/sys/log/formatter.go b/lego/sys/log/formatter.go index 48a3cba52..531e61d33 100644 --- a/lego/sys/log/formatter.go +++ b/lego/sys/log/formatter.go @@ -9,7 +9,7 @@ import ( var _fieldsPool = sync.Pool{ New: func() interface{} { - return make(Fields, 0, 6) + return make(map[string]interface{}) }, } @@ -18,7 +18,6 @@ func getFields() Fields { } func putFields(fields Fields) { - fields = fields[:0] _fieldsPool.Put(fields) } diff --git a/lego/sys/log/formatter_console.go b/lego/sys/log/formatter_console.go index bdf06cba5..a16bd1d92 100644 --- a/lego/sys/log/formatter_console.go +++ b/lego/sys/log/formatter_console.go @@ -62,14 +62,14 @@ func (this *ConsoleFormatter) Format(config *EncoderConfig, entry *Entry) (*pool isfirst = false line.AppendString(entry.Message) } - for _, v := range entry.Data { + for k, v := range entry.Data { if !isfirst { line.AppendString(config.ConsoleSeparator) } isfirst = false - line.AppendString(v.Key) + line.AppendString(k) line.AppendString(":") - writetoline(line, v.Value) + writetoline(line, v) } if entry.Caller.Stack != "" && config.StacktraceKey != "" { diff --git a/lego/sys/log/logger.go b/lego/sys/log/logger.go index 9c2eb634e..0e33042d0 100644 --- a/lego/sys/log/logger.go +++ b/lego/sys/log/logger.go @@ -68,31 +68,31 @@ func (this *Logger) SetName(name string) { func (this *Logger) Enabled(lvl Loglevel) bool { return this.level.Enabled(lvl) } -func (this *Logger) Debug(msg string, args ...Field) { - this.Log(DebugLevel, msg, args...) +func (this *Logger) Debug(msg string, args Fields) { + this.Log(DebugLevel, msg, args) } -func (this *Logger) Info(msg string, args ...Field) { - this.Log(InfoLevel, msg, args...) +func (this *Logger) Info(msg string, args Fields) { + this.Log(InfoLevel, msg, args) } -func (this *Logger) Print(msg string, args ...Field) { - this.Log(InfoLevel, msg, args...) +func (this *Logger) Print(msg string, args Fields) { + this.Log(InfoLevel, msg, args) } -func (this *Logger) Warn(msg string, args ...Field) { - this.Log(WarnLevel, msg, args...) +func (this *Logger) Warn(msg string, args Fields) { + this.Log(WarnLevel, msg, args) } -func (this *Logger) Error(msg string, args ...Field) { - this.Log(ErrorLevel, msg, args...) +func (this *Logger) Error(msg string, args Fields) { + this.Log(ErrorLevel, msg, args) } -func (this *Logger) Panic(msg string, args ...Field) { - this.Log(PanicLevel, msg, args...) +func (this *Logger) Panic(msg string, args Fields) { + this.Log(PanicLevel, msg, args) } -func (this *Logger) Fatal(msg string, args ...Field) { - this.Log(FatalLevel, msg, args...) +func (this *Logger) Fatal(msg string, args Fields) { + this.Log(FatalLevel, msg, args) os.Exit(1) } -func (this *Logger) Log(level Loglevel, msg string, args ...Field) { +func (this *Logger) Log(level Loglevel, msg string, args Fields) { if this.level.Enabled(level) { - this.log(level, msg, args...) + this.logWithFields(level, msg, args) } } func (this *Logger) Debugf(format string, args ...interface{}) { @@ -150,8 +150,8 @@ func (this *Logger) Logln(level Loglevel, args ...interface{}) { } } -func (this *Logger) log(level Loglevel, msg string, args ...Field) { - entry := this.check(level, msg, args...) +func (this *Logger) logWithFields(level Loglevel, msg string, args Fields) { + entry := this.checkWithFields(level, msg, args) this.write(entry) if level <= PanicLevel { panic(entry) @@ -159,13 +159,28 @@ func (this *Logger) log(level Loglevel, msg string, args ...Field) { putEntry(entry) } -func (this *Logger) check(level Loglevel, msg string, args ...Field) (entry *Entry) { +func (this *Logger) log(level Loglevel, msg string) { + entry := this.check(level, msg) + this.write(entry) + if level <= PanicLevel { + panic(entry) + } + putEntry(entry) +} + +func (this *Logger) checkWithFields(level Loglevel, msg string, args Fields) (entry *Entry) { + e := this.check(level, msg) + e.WithFields(args) + return e +} + +func (this *Logger) check(level Loglevel, msg string) (entry *Entry) { entry = getEntry() entry.Name = this.name entry.Time = time.Now() entry.Level = level entry.Message = msg - entry.WithFields(args...) + // entry.WithFields(args) addStack := this.addStack.Enabled(level) addCaller := this.addCaller.Enabled(level) if !addCaller && !addStack { diff --git a/lego/sys/log/sys_test.go b/lego/sys/log/sys_test.go index f759ff7a5..873774a6b 100644 --- a/lego/sys/log/sys_test.go +++ b/lego/sys/log/sys_test.go @@ -14,7 +14,7 @@ type TestData struct { } func (this *TestData) Log() { - sys.Error("妈妈咪呀!") + sys.Errorln("妈妈咪呀!") } var sys log.ISys @@ -39,6 +39,7 @@ func Test_sys(t *testing.T) { //性能测试 func Benchmark_Ability(b *testing.B) { for i := 0; i < b.N; i++ { //use b.N for looping - sys.Error("妈妈咪呀!") + // sys.Errorln("妈妈咪呀!") + sys.Error("测试", log.Fields{"a":1,"b":2}) } } diff --git a/lego/sys/log/turnlog.go b/lego/sys/log/turnlog.go index c402402a9..10f45174e 100644 --- a/lego/sys/log/turnlog.go +++ b/lego/sys/log/turnlog.go @@ -25,39 +25,39 @@ func (this *Turnlog) Enabled(lvl Loglevel) bool { return false } } -func (this *Turnlog) Debug(msg string, args ...Field) { +func (this *Turnlog) Debug(msg string, args Fields) { if this.isturnon && this.log != nil { - this.log.Debug(msg, args...) + this.log.Debug(msg, args) } } -func (this *Turnlog) Info(msg string, args ...Field) { +func (this *Turnlog) Info(msg string, args Fields) { if this.isturnon && this.log != nil { - this.log.Info(msg, args...) + this.log.Info(msg, args) } } -func (this *Turnlog) Print(msg string, args ...Field) { +func (this *Turnlog) Print(msg string, args Fields) { if this.isturnon && this.log != nil { - this.log.Print(msg, args...) + this.log.Print(msg, args) } } -func (this *Turnlog) Warn(msg string, args ...Field) { +func (this *Turnlog) Warn(msg string, args Fields) { if this.isturnon && this.log != nil { - this.log.Warn(msg, args...) + this.log.Warn(msg, args) } } -func (this *Turnlog) Error(msg string, args ...Field) { +func (this *Turnlog) Error(msg string, args Fields) { if this.log != nil { - this.log.Error(msg, args...) + this.log.Error(msg, args) } } -func (this *Turnlog) Panic(msg string, args ...Field) { +func (this *Turnlog) Panic(msg string, args Fields) { if this.log != nil { - this.log.Panic(msg, args...) + this.log.Panic(msg, args) } } -func (this *Turnlog) Fatal(msg string, args ...Field) { +func (this *Turnlog) Fatal(msg string, args Fields) { if this.log != nil { - this.log.Fatal(msg, args...) + this.log.Fatal(msg, args) } } func (this *Turnlog) Debugf(format string, args ...interface{}) { diff --git a/lego/sys/rpcx/selector.go b/lego/sys/rpcx/selector.go index 319990027..4614161b1 100644 --- a/lego/sys/rpcx/selector.go +++ b/lego/sys/rpcx/selector.go @@ -60,7 +60,11 @@ func (this *Selector) Select(ctx context.Context, servicePath, serviceMethod str } else if leng == 2 { result := this.ParseRoutRules(service[1]) if len(result) == 0 { - this.log.Error("Select no found any node", log.Field{"stag", this.stag}, log.Field{"servicePath", servicePath}, log.Field{"serviceMethod", serviceMethod}, log.Field{"routrules", routrules}) + this.log.Error("Select no found any node", log.Fields{ + "stag": this.stag, + "servicePath": servicePath, + "serviceMethod": serviceMethod, + "routrules": routrules}) return "" } i := fastrand.Uint32n(uint32(len(result))) diff --git a/modules/arena/module.go b/modules/arena/module.go index 80e1a082c..989912a66 100644 --- a/modules/arena/module.go +++ b/modules/arena/module.go @@ -68,6 +68,6 @@ func (this *Arena) OnInstallComp() { //比赛结算 func (this *Arena) Rpc_ModuleArenaRaceSettlement(ctx context.Context, args *pb.EmptyReq, reply *pb.EmptyResp) { - this.Debug("Rpc_ModuleArenaRaceSettlement", log.Field{Key: "args", Value: args.String()}) + this.Debug("Rpc_ModuleArenaRaceSettlement", log.Fields{ "args": args.String()}) this.modelRank.raceSettlement() } diff --git a/modules/battle/configure.go b/modules/battle/configure.go index 03a7339c5..5e1d514d0 100644 --- a/modules/battle/configure.go +++ b/modules/battle/configure.go @@ -132,7 +132,7 @@ func (this *configureComp) GetSkillAtk(skillId int32, skillLv int32) (result *cf } } err = fmt.Errorf("no found SkillAtk skillId:%d skillLv%d", skillId, skillLv) - this.module.Error(err.Error()) + this.module.Errorln(err.Error()) return } @@ -147,7 +147,7 @@ func (this *configureComp) GetSkillAfteratk(skillId int32) (result *cfg.GameSkil } else { if result, ok = v.(*cfg.GameSkillAfteratk).GetDataMap()[skillId]; !ok { err = fmt.Errorf("on found SkillAfteratk skillId:%d", skillId) - this.module.Error(err.Error()) + this.module.Errorln(err.Error()) } } return @@ -164,7 +164,7 @@ func (this *configureComp) GetSkillBuff(skillId int32) (result *cfg.GameSkillBuf } else { if result, ok = v.(*cfg.GameSkillBuff).GetDataMap()[skillId]; !ok { err = fmt.Errorf("on found SkillAfteratk skillId:%d", skillId) - this.module.Error(err.Error()) + this.module.Errorln(err.Error()) } } return @@ -181,7 +181,7 @@ func (this *configureComp) GetSkillPassive(skillId int32) (result *cfg.GameSkill } else { if result, ok = v.(*cfg.GameSkillPassive).GetDataMap()[skillId]; !ok { err = fmt.Errorf("on found SkillAfteratk skillId:%d", skillId) - this.module.Error(err.Error()) + this.module.Errorln(err.Error()) } } return diff --git a/modules/battle/fight/fightbase.go b/modules/battle/fight/fightbase.go index 63e1ada52..627ee709e 100644 --- a/modules/battle/fight/fightbase.go +++ b/modules/battle/fight/fightbase.go @@ -48,7 +48,7 @@ func (this *FightBase) Init() { /// 开始战斗 func (this *FightBase) StartFight() { this.fightIng = true - this.Debug("=========开始战斗=========") + this.Debugln("=========开始战斗=========") //记录战报 com := new(core.ComStartFight) com.CurWave = 1 @@ -72,7 +72,7 @@ func (this *FightBase) BeforeStart() { /// 触发队长技,队长技配置在atk表中,触发顺序无所谓 func (this *FightBase) EmitCaptainSkill() { - this.Debug("计算队长技...") + this.Debugln("计算队长技...") for _, role := range this.roles { if role.GetData().Captain && role.GetData().CaptainSkillId != 0 { _skill := role.AddSkill(role.GetData().CaptainSkillId, 1) @@ -129,26 +129,26 @@ func (this *FightBase) Rand(min, max int32) int32 { //Log----------------------------------------------------------------------------------------------------------------------- //日志接口 -func (this *FightBase) Debug(msg string, args ...log.Field) { - this.options.Log.Debug(msg, args...) +func (this *FightBase) Debug(msg string, args log.Fields) { + this.options.Log.Debug(msg, args) } -func (this *FightBase) Info(msg string, args ...log.Field) { - this.options.Log.Info(msg, args...) +func (this *FightBase) Info(msg string, args log.Fields) { + this.options.Log.Info(msg, args) } -func (this *FightBase) Print(msg string, args ...log.Field) { - this.options.Log.Print(msg, args...) +func (this *FightBase) Print(msg string, args log.Fields) { + this.options.Log.Print(msg, args) } -func (this *FightBase) Warn(msg string, args ...log.Field) { - this.options.Log.Warn(msg, args...) +func (this *FightBase) Warn(msg string, args log.Fields) { + this.options.Log.Warn(msg, args) } -func (this *FightBase) Error(msg string, args ...log.Field) { - this.options.Log.Error(msg, args...) +func (this *FightBase) Error(msg string, args log.Fields) { + this.options.Log.Error(msg, args) } -func (this *FightBase) Panic(msg string, args ...log.Field) { - this.options.Log.Panic(msg, args...) +func (this *FightBase) Panic(msg string, args log.Fields) { + this.options.Log.Panic(msg, args) } -func (this *FightBase) Fatal(msg string, args ...log.Field) { - this.options.Log.Fatal(msg, args...) +func (this *FightBase) Fatal(msg string, args log.Fields) { + this.options.Log.Fatal(msg, args) } func (this *FightBase) Debugf(format string, args ...interface{}) { diff --git a/modules/battle/modelBattle.go b/modules/battle/modelBattle.go index 9010f5409..ba2a9027b 100644 --- a/modules/battle/modelBattle.go +++ b/modules/battle/modelBattle.go @@ -365,7 +365,7 @@ func (this *modelBattleComp) createMasterRoles(comp, wheel int, fid int32) (capt } else { hero := &pb.DBHero{} if hero = this.module.ModuleHero.CreateMonster(monst.HeroId, monst.Star, v.Lv); hero == nil { - this.module.Error("on found battle req data", log.Field{Key: "HeroId", Value: monst.HeroId}) + this.module.Error("on found battle req data", log.Fields{ "HeroId": monst.HeroId}) code = pb.ErrorCode_ReqParameterError return } else { diff --git a/modules/chat/module.go b/modules/chat/module.go index c00e73a35..376d72919 100644 --- a/modules/chat/module.go +++ b/modules/chat/module.go @@ -82,7 +82,7 @@ func (this *Chat) OnInstallComp() { //Event------------------------------------------------------------------------------------------------------------ func (this *Chat) EventUserOffline(session comm.IUserSession) { if err := this.modelChat.removeCrossChannelMember(session); err != nil { - this.Debug("EventUserOffline:", log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "err", Value: err.Error()}) + this.Debug("EventUserOffline:", log.Fields{ "uid": session.GetUserId(),"err":err.Error()}) } } diff --git a/modules/friend/module.go b/modules/friend/module.go index d888087f7..70332bec0 100644 --- a/modules/friend/module.go +++ b/modules/friend/module.go @@ -71,7 +71,7 @@ func (this *Friend) ResetFriend(uid string) { "received": 0, //奖励状态重置 } if err := this.modelFriend.Change(uid, zanUpdate); err != nil { - log.Error("resetZanFriend err", log.Field{Key: "err", Value: err}) + log.Error("resetZanFriend err", log.Fields{"err": err}) } // 重置今日友情点 @@ -80,7 +80,7 @@ func (this *Friend) ResetFriend(uid string) { "friendPointOD": 0, } if err := this.ModuleUser.ChangeUserExpand(uid, update); err != nil { - log.Error("resetFriend err", log.Field{Key: "err", Value: err}) + log.Error("resetFriend err", log.Fields{"err": err}) } } @@ -100,7 +100,7 @@ func (this *Friend) GetFriendList(uid string) (uids []string) { } func (this *Friend) RpcUseAssisHero(ctx context.Context, req *pb.RPCGeneralReqA2, reply *pb.DBHero) error { - this.Debug("Rpc_ModuleFriendUseAssitHero", log.Field{Key: "req", Value: req}) + this.Debug("Rpc_ModuleFriendUseAssitHero", log.Fields{"req": req}) hero, err := this.UseAssistHero(req.Param1, req.Param2) if err != nil { return err diff --git a/modules/gateway/agent.go b/modules/gateway/agent.go index cedded6ec..909af6305 100644 --- a/modules/gateway/agent.go +++ b/modules/gateway/agent.go @@ -270,27 +270,20 @@ func (this *Agent) messageDistribution(msg *pb.UserMessage) (err error) { if len(serviceTag) == 0 { if err = this.gateway.Service().RpcCall(context.Background(), servicePath, string(comm.Rpc_GatewayRoute), req, reply); err != nil { this.gateway.Error("[UserResponse]", - log.Field{Key: "uid", Value: this.uId}, - log.Field{Key: "req", Value: req.String()}, - log.Field{Key: "err", Value: err.Error()}, + log.Fields{"uid": this.uId, "req": req.String(), "err": err.Error()}, ) return } } else { //跨集群调用 if err = this.gateway.Service().AcrossClusterRpcCall(context.Background(), serviceTag, servicePath, string(comm.Rpc_GatewayRoute), req, reply); err != nil { this.gateway.Error("[UserResponse]", - log.Field{Key: "uid", Value: this.uId}, - log.Field{Key: "req", Value: req.String()}, - log.Field{Key: "err", Value: err.Error()}, + log.Fields{"uid": this.uId, "req": req.String(), "err": err.Error()}, ) return } } this.gateway.Debug("[UserResponse]", - log.Field{Key: "uid", Value: this.uId}, - log.Field{Key: "t", Value: time.Since(stime).Milliseconds()}, - log.Field{Key: "req", Value: req.String()}, - log.Field{Key: "reply", Value: reply.String()}, + log.Fields{"uid": this.uId, "t": time.Since(stime).Milliseconds(), "req": req.String(), "reply": reply.String()}, ) if reply.Code != pb.ErrorCode_Success { data, _ := anypb.New(&pb.NotifyErrorNotifyPush{ diff --git a/modules/gateway/module.go b/modules/gateway/module.go index 5b3c9dda5..ac379b560 100644 --- a/modules/gateway/module.go +++ b/modules/gateway/module.go @@ -124,26 +124,26 @@ func (this *Gateway) SetName(name string) { } //日志接口 -func (this *Gateway) Debug(msg string, args ...log.Field) { - this.options.GetLog().Debug(msg, args...) +func (this *Gateway) Debug(msg string, args log.Fields) { + this.options.GetLog().Debug(msg, args) } -func (this *Gateway) Info(msg string, args ...log.Field) { - this.options.GetLog().Info(msg, args...) +func (this *Gateway) Info(msg string, args log.Fields) { + this.options.GetLog().Info(msg, args) } -func (this *Gateway) Print(msg string, args ...log.Field) { - this.options.GetLog().Print(msg, args...) +func (this *Gateway) Print(msg string, args log.Fields) { + this.options.GetLog().Print(msg, args) } -func (this *Gateway) Warn(msg string, args ...log.Field) { - this.options.GetLog().Warn(msg, args...) +func (this *Gateway) Warn(msg string, args log.Fields) { + this.options.GetLog().Warn(msg, args) } -func (this *Gateway) Error(msg string, args ...log.Field) { - this.options.GetLog().Error(msg, args...) +func (this *Gateway) Error(msg string, args log.Fields) { + this.options.GetLog().Error(msg, args) } -func (this *Gateway) Panic(msg string, args ...log.Field) { - this.options.GetLog().Panic(msg, args...) +func (this *Gateway) Panic(msg string, args log.Fields) { + this.options.GetLog().Panic(msg, args) } -func (this *Gateway) Fatal(msg string, args ...log.Field) { - this.options.GetLog().Fatal(msg, args...) +func (this *Gateway) Fatal(msg string, args log.Fields) { + this.options.GetLog().Fatal(msg, args) } func (this *Gateway) Debugf(format string, args ...interface{}) { diff --git a/modules/gm/module.go b/modules/gm/module.go index 0dbe02a6f..af5bb68d1 100644 --- a/modules/gm/module.go +++ b/modules/gm/module.go @@ -84,7 +84,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (code pb.ErrorC if code == pb.ErrorCode_Success { // 成功直接返回 session.SendMsg(string(this.GetType()), "cmd", &pb.GMCmdResp{IsSucc: true}) } - this.Debug("使用bingo命令", log.Field{"uid", session.GetUserId()}, log.Field{"A", datas[0]}, log.Field{"T", datas[1]}, log.Field{"N", int32(num)}) + this.Debug("使用bingo命令", log.Fields{"uid": session.GetUserId(), "A": datas[0], "T": datas[1], "N": int32(num)}) } else if len(datas) == 2 && (datas[0] == "mapid") { module1, err := this.service.GetModule(comm.ModuleMainline) if err != nil { @@ -97,7 +97,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (code pb.ErrorC } code = module1.(comm.IMainline).ModifyMainlineData(session.GetUserId(), int32(num)) - this.Debug("使用bingo命令", log.Field{"uid", session.GetUserId()}, log.Field{"0", datas[0]}, log.Field{"N", int32(num)}) + this.Debug("使用bingo命令", log.Fields{"uid": session.GetUserId(), "0": datas[0], "N": int32(num)}) } else if len(datas) == 2 && (datas[0] == "pataid") { module1, err := this.service.GetModule(comm.ModulePagoda) if err != nil { @@ -109,7 +109,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (code pb.ErrorC return } code = module1.(comm.IPagoda).ModifyPagodaFloor(session, int32(num)) - this.Debug("使用bingo命令:uid = %s ", log.Field{"uid", session.GetUserId()}, log.Field{"0", datas[0]}, log.Field{"N", int32(num)}) + this.Debug("使用bingo命令:uid = %s ", log.Fields{"uid": session.GetUserId(), "0": datas[0], "N": int32(num)}) } else if len(datas) == 1 && (datas[0] == "Iamyoudad" || datas[0] == "iamyoudad") { var ( res []*cfg.Gameatn @@ -124,7 +124,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (code pb.ErrorC this.Errorf("资源发放失败,%v", code) } } - this.Debugf("使用bingo命令", log.Field{"uid", session.GetUserId()}, datas[0], res) + this.Debugf("使用bingo命令", log.Fields{"uid": session.GetUserId()}, datas[0], res) } else if len(datas) == 3 && (datas[0] == "worldtask") { module, err := this.service.GetModule(comm.ModuleWorldtask) if err != nil { @@ -145,7 +145,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (code pb.ErrorC } func (this *GM) Rpc_ModuleGMCreateCmd(ctx context.Context, args *pb.RPCGeneralReqA2, reply *pb.EmptyResp) (err error) { - this.Debug("Rpc_ModuleGMCreateCmd", log.Field{Key: "args", Value: args.String()}) + this.Debug("Rpc_ModuleGMCreateCmd", log.Fields{"args": args.String()}) if args.Param1 == "" || args.Param2 == "" { err = errors.New("请求参数错误") } diff --git a/modules/gourmet/api_createorder.go b/modules/gourmet/api_createorder.go index 127d6b791..c12bd0247 100644 --- a/modules/gourmet/api_createorder.go +++ b/modules/gourmet/api_createorder.go @@ -22,7 +22,7 @@ func (this *apiComp) CreateOrderCheck(session comm.IUserSession, req *pb.Gourmet ///美食城创建订单 func (this *apiComp) CreateOrder(session comm.IUserSession, req *pb.GourmetCreateOrderReq) (code pb.ErrorCode, data proto.Message) { var ( - res []*cfg.Gameatn + res []*cfg.Gameatn // 订单消耗 costTime int32 szTime map[int32]int32 // 记录每个类型的订单耗时 key 是技能组type value 订单耗时 ) @@ -38,21 +38,19 @@ func (this *apiComp) CreateOrder(session comm.IUserSession, req *pb.GourmetCreat } // 记录每个食材耗时 for k, v := range _gourmet.Skill { - var _time int32 - // 计算出需要的时间 _skillCfg := this.module.configure.GetGourmetConfigData(k, v) - _time += _skillCfg.Needtime - // 高效制作技能 - for k, v := range _gourmet.SpecialSkill { - specalSkill := this.module.configure.GetGourmetConfigData(k, v) - _time += specalSkill.Needtime - } - szTime[k] = _time + szTime[k] = _skillCfg.Needtime + } + // 高效制作技能 + for k, v := range _gourmet.SpecialSkill { + specalSkill := this.module.configure.GetGourmetConfigData(k, v) + szTime[k] = specalSkill.Needtime } if !utils.IsToday(_gourmet.Ctime) { // 跨天了 _gourmet.Ctime = configure.Now().Unix() _gourmet.OrderCostTime = 0 } + // 计算消耗 for _, order := range req.Order { if order.FoodCount == 0 { continue @@ -60,6 +58,10 @@ func (this *apiComp) CreateOrder(session comm.IUserSession, req *pb.GourmetCreat if v, ok := szTime[order.FoodType]; ok { costTime += v * order.FoodCount } + if v, ok := _gourmet.Skill[order.FoodType]; ok { + conf := this.module.configure.GetGourmetConfigData(order.FoodType, v) + res = append(res, conf.DeliciousConsume...) + } } // 校验时间 @@ -97,17 +99,12 @@ func (this *apiComp) CreateOrder(session comm.IUserSession, req *pb.GourmetCreat } if v1, ok := szTime[v.FoodType]; ok { v.CookTime = v1 * v.FoodCount - costTime += v.CookTime } } if _gourmet.CookingFood != nil && _gourmet.CookingFood.ETime == 0 { _gourmet.CookingFood = nil } if _gourmet.CookingFood == nil { - if _gourmet.Ctime == 0 { - _gourmet.Ctime = configure.Now().Unix() - } - for _, v := range _gourmet.Foods { if v.FoodCount > 0 { v.FoodCount-- @@ -121,6 +118,9 @@ func (this *apiComp) CreateOrder(session comm.IUserSession, req *pb.GourmetCreat if v.FoodCount == 0 { v.CookTime = 0 } + if _gourmet.Ctime == 0 { + _gourmet.Ctime = configure.Now().Unix() + } break } } @@ -130,10 +130,6 @@ func (this *apiComp) CreateOrder(session comm.IUserSession, req *pb.GourmetCreat return } - if code = this.module.DispenseRes(session, res, true); code != pb.ErrorCode_Success { // 真正消耗 - return - } - // 校验通过 写数据 mapData := make(map[string]interface{}, 0) mapData["foods"] = _gourmet.Foods diff --git a/modules/gourmet/api_getlist.go b/modules/gourmet/api_getlist.go index 036597893..4d61f3d9c 100644 --- a/modules/gourmet/api_getlist.go +++ b/modules/gourmet/api_getlist.go @@ -3,7 +3,6 @@ package gourmet import ( "go_dreamfactory/comm" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" "google.golang.org/protobuf/proto" ) @@ -26,9 +25,7 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.GourmetGetListRe code = pb.ErrorCode_DBError return } - if _gourmet.Ctime == 0 { - _gourmet.Ctime = configure.Now().Unix() - } + // 计算订单信息 this.module.modelGourmet.CalculationGourmet(session.GetUserId(), _gourmet) session.SendMsg(string(this.module.GetType()), GourmetGetListResp, &pb.GourmetGetListResp{Data: _gourmet}) diff --git a/modules/gourmet/model_gourmet.go b/modules/gourmet/model_gourmet.go index e432ce005..b82470c66 100644 --- a/modules/gourmet/model_gourmet.go +++ b/modules/gourmet/model_gourmet.go @@ -93,9 +93,9 @@ func (this *modelGourmet) CalculationGourmet(uid string, gourmet *pb.DBGourmet) szTime[k] = _time } if gourmet.CookingFood != nil && gourmet.CookingFood.ETime > 0 { - zeroTime = utils.GetZeroTime(gourmet.CookingFood.STime) // 获取订单开始时间当天的0点 + zeroTime = utils.GetZeroTime(gourmet.CookingFood.STime) // 获取订单开始时间当天的0点 costTime = int32(configure.Now().Unix() - gourmet.CookingFood.ETime) // 当前过去的时间 - if costTime < 0 { // 没有完成 不做处理 + if costTime < 0 { // 没有完成 不做处理 return } } @@ -148,7 +148,7 @@ func (this *modelGourmet) CalculationGourmet(uid string, gourmet *pb.DBGourmet) bCooking = true // 记录下订单时间 - gourmet.Ctime = configure.Now().Unix() + gourmet.Ctime = gourmet.CookingFood.ETime mapData["ctime"] = gourmet.Ctime break } diff --git a/modules/library/module.go b/modules/library/module.go index 808f93744..cebe34f65 100644 --- a/modules/library/module.go +++ b/modules/library/module.go @@ -227,7 +227,7 @@ func (this *Library) getLibraryByObjID(uid, oid string) *pb.DBLibrary { } func (this *Library) Rpc_ModuleFetter(ctx context.Context, args *pb.RPCGeneralReqA2, reply *pb.EmptyResp) (err error) { - this.Debug("Rpc_ModuleFetter", log.Field{Key: "args", Value: args.String()}) + this.Debug("Rpc_ModuleFetter", log.Fields{"args": args.String()}) if args.Param1 == "" || args.Param2 == "" { err = errors.New("请求参数错误") } diff --git a/modules/linestory/api.go b/modules/linestory/api.go index 9195dafc8..4321b4d07 100644 --- a/modules/linestory/api.go +++ b/modules/linestory/api.go @@ -6,8 +6,9 @@ import ( ) const ( - LinestorySubTypeDostart = "dostart" //开始 - LinestorySubTypeDotask = "dotask" //做任务 + LinestorySubTypeChapter = "chapter" //章节 + LinestorySubTypeMaintask = "maintask" //主线任务 + LinestorySubTypeReceive = "receive" //领取章节奖励 ) type apiComp struct { diff --git a/modules/linestory/api_chapter.go b/modules/linestory/api_chapter.go new file mode 100644 index 000000000..2f15cd1ea --- /dev/null +++ b/modules/linestory/api_chapter.go @@ -0,0 +1,26 @@ +package linestory + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +// 支线剧情任务-章节 +func (this *apiComp) ChapterCheck(session comm.IUserSession, req *pb.LinestoryChapterReq) (code pb.ErrorCode) { + return +} + +func (this *apiComp) Chapter(session comm.IUserSession, req *pb.LinestoryChapterReq) (code pb.ErrorCode, data proto.Message) { + uid := session.GetUserId() + taskMap := this.moduleLinestory.modelLinestory.getChapters(uid) + rsp := &pb.LinestoryChapterResp{ + TaskChapter: taskMap, + } + + if err := session.SendMsg(string(this.moduleLinestory.GetType()), LinestorySubTypeChapter, rsp); err != nil { + code = pb.ErrorCode_SystemError + } + return +} diff --git a/modules/linestory/api_dotask.go b/modules/linestory/api_dotask.go deleted file mode 100644 index a6a93dd76..000000000 --- a/modules/linestory/api_dotask.go +++ /dev/null @@ -1,151 +0,0 @@ -package linestory - -import ( - "go_dreamfactory/comm" - "go_dreamfactory/lego/sys/log" - "go_dreamfactory/pb" - "go_dreamfactory/utils" - - "google.golang.org/protobuf/proto" -) - -func (this *apiComp) DotaskCheck(session comm.IUserSession, req *pb.LinestoryDotaskReq) (code pb.ErrorCode) { - if req.TaskId == 0 || req.SubtaskId == 0 { - code = pb.ErrorCode_ReqParameterError - } - return -} - -func (this *apiComp) Dotask(session comm.IUserSession, req *pb.LinestoryDotaskReq) (code pb.ErrorCode, data proto.Message) { - if code = this.DotaskCheck(session, req); code != pb.ErrorCode_Success { - return - } - - rsp := &pb.LinestoryDotaskResp{} - - defer func() { - if err := session.SendMsg(string(this.moduleLinestory.GetType()), LinestorySubTypeDotask, rsp); err != nil { - code = pb.ErrorCode_SystemError - return - } - }() - - // task conf - conf := this.moduleLinestory.configure.getLinestoryTaskCfgById(req.TaskId) - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - - // stage conf - stageConf := this.moduleLinestory.configure.getLinestoryStageCfgById(req.SubtaskId) - if stageConf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - - // 查询当前玩家的支线任务数据 - dbLinestory := &pb.DBLinestory{} - if err := this.moduleLinestory.modelLinestory.Get(session.GetUserId(), dbLinestory); err != nil { - code = pb.ErrorCode_DBError - return - } - - var curTask *pb.TaskNode //当前任务 - - if dbLinestory.Tasks == nil { - dbLinestory.Tasks = make(map[int32]*pb.TaskNode) - curTask = &pb.TaskNode{} - dbLinestory.Tasks[req.TaskId] = curTask - } else { - if v, ok := dbLinestory.Tasks[req.TaskId]; ok { - curTask = v - // 是否被禁止进入 - if v.Status == 3 { - code = pb.ErrorCode_LinestoryTaskDisabledEnter - return - } - } - } - - //校验前置 - if conf.PreTId != -1 { - if tn, ok := dbLinestory.Tasks[conf.PreTId]; !ok { - code = pb.ErrorCode_LinestoryPreTaskNoFinished - return - } else { - if tn.Status != 2 { - code = pb.ErrorCode_LinestoryPreTaskNoFinished - return - } - } - } - - // 判此任务是否是结局 - if conf.Ending == 0 && conf.Resetto != -1 { - // 重置任务 - for k, _ := range dbLinestory.Tasks { - if k >= conf.Resetto { - delete(dbLinestory.Tasks, k) - } - } - // 设置当前任务为禁止 - dbLinestory.Tasks[req.TaskId] = &pb.TaskNode{Status: 3} - } - - // 校验子任务是否完成 - if _, ok := utils.Findx(curTask.SubtaskIds, req.SubtaskId); ok { - code = pb.ErrorCode_LinestorySubTaskFinished - return - } - - // 校验子任务前置是否完成 - if stageConf.PreTId != -1 { - if _, ok := utils.Findx(curTask.SubtaskIds, stageConf.PreTId); !ok { - code = pb.ErrorCode_LinestoryPreTaskNoFinished - return - } - } - - module, err := this.service.GetModule(comm.ModuleRtask) - if err != nil { - code = pb.ErrorCode_SystemError - return - } - //校验子任务完成条件 - if m, ok := module.(comm.IRtask); ok { - for _, condiId := range stageConf.Cond { - if code = m.CheckCondi(session.GetUserId(), condiId); code != pb.ErrorCode_Success { - return - } - } - - // 全部符合条件 - curTask.SubtaskIds = append(curTask.SubtaskIds, req.SubtaskId) - if len(conf.StageTId) == len(curTask.SubtaskIds) { - curTask.Status = 2 //完成 - // 发任务奖励 - if code = this.moduleLinestory.DispenseRes(session, conf.Reward, true); code != pb.ErrorCode_Success { - log.Errorf("%v", code) - } - } else { - curTask.Status = 1 //进行中 - } - dbLinestory.Tasks[conf.Id] = curTask - } - - // 更新子任务 - update := map[string]interface{}{ - "tasks": dbLinestory.Tasks, - } - - if err := this.moduleLinestory.modelLinestory.Change(session.GetUserId(), update); err != nil { - code = pb.ErrorCode_DBError - return - } - - //派发子任务奖励 - code = this.moduleLinestory.DispenseRes(session, stageConf.Reward, true) - - return -} diff --git a/modules/linestory/api_maintask.go b/modules/linestory/api_maintask.go new file mode 100644 index 000000000..8a6b8d1df --- /dev/null +++ b/modules/linestory/api_maintask.go @@ -0,0 +1,37 @@ +package linestory + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +// 支线剧情-我的主线任务 +func (this *apiComp) MaintaskCheck(session comm.IUserSession, req *pb.LinestoryMaintaskReq) (code pb.ErrorCode) { + if req.ChapterId == 0 { + code = pb.ErrorCode_ReqParameterError + } + return +} + +func (this *apiComp) Maintask(session comm.IUserSession, req *pb.LinestoryMaintaskReq) (code pb.ErrorCode, data proto.Message) { + if code = this.MaintaskCheck(session, req); code != pb.ErrorCode_Success { + return + } + + uid := session.GetUserId() + // 我的主线任务 + list := this.moduleLinestory.modelLinestory.getMaintasks(uid, req.ChapterId) + + rsp := &pb.LinestoryMaintaskResp{ + List: list, + } + + if err := session.SendMsg(string(this.moduleLinestory.GetType()), LinestorySubTypeMaintask, rsp); err != nil { + code = pb.ErrorCode_SystemError + return + } + + return +} diff --git a/modules/linestory/api_receive.go b/modules/linestory/api_receive.go new file mode 100644 index 000000000..187cd9bcb --- /dev/null +++ b/modules/linestory/api_receive.go @@ -0,0 +1,55 @@ +package linestory + +import ( + "errors" + "go_dreamfactory/comm" + "go_dreamfactory/lego/sys/log" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +// 章节奖励领取 +func (this *apiComp) ReceiveCheck(session comm.IUserSession, req *pb.LinestoryReceiveReq) (code pb.ErrorCode) { + if req.ChapterId == 0 { + code = pb.ErrorCode_ReqParameterError + } + return +} + +func (this *apiComp) Receive(session comm.IUserSession, req *pb.LinestoryReceiveReq) (code pb.ErrorCode, data proto.Message) { + if code = this.ReceiveCheck(session, req); code != pb.ErrorCode_Success { + return + } + uid := session.GetUserId() + conf := this.moduleLinestory.configure.getChapterCfgById(req.ChapterId) + if conf == nil { + log.Errorf("config is nil uid:%v groupId:%v", uid, req.ChapterId) + code = pb.ErrorCode_ConfigNoFound + return + } + + if err := this.moduleLinestory.modelLinestory.receive(uid, req.ChapterId); err != nil { + var customErr = new(comm.CustomError) + if errors.As(err, &customErr) { + code = customErr.Code + } else { + code = pb.ErrorCode_DBError + } + this.moduleLinestory.Error("章节奖励领取失败", log.Fields{"uid": uid, "chapterId": req.ChapterId, "code": code}) + return + } + + //发奖 + if code := this.moduleLinestory.DispenseRes(session, conf.Reward, true); code != pb.ErrorCode_Success { + this.moduleLinestory.Errorf("奖励发放失败 uid:%v groupId:%v reward:%v", uid, req.ChapterId, conf.Reward) + } + + rsp := &pb.LinestoryReceiveResp{ + ChapterId: req.ChapterId, + } + if err := session.SendMsg(string(this.moduleLinestory.GetType()), LinestorySubTypeReceive, rsp); err != nil { + code = pb.ErrorCode_SystemError + } + return +} diff --git a/modules/linestory/api_start.go b/modules/linestory/api_start.go deleted file mode 100644 index c20235dca..000000000 --- a/modules/linestory/api_start.go +++ /dev/null @@ -1,77 +0,0 @@ -package linestory - -import ( - "go_dreamfactory/comm" - "go_dreamfactory/pb" - - "go.mongodb.org/mongo-driver/bson/primitive" - "go.mongodb.org/mongo-driver/mongo" - "google.golang.org/protobuf/proto" -) - -func (this *apiComp) DostartCheck(session comm.IUserSession, req *pb.LinestoryStartReq) (code pb.ErrorCode) { - return -} - -func (this *apiComp) Dostart(session comm.IUserSession, req *pb.LinestoryStartReq) (code pb.ErrorCode, data proto.Message) { - if code = this.DostartCheck(session, req); code != pb.ErrorCode_Success { - return - } - rsp := &pb.LinestoryStartResp{ - JqId: req.JqId, - } - - defer func() { - if err := session.SendMsg(string(this.moduleLinestory.GetType()), LinestorySubTypeDostart, - rsp); err != nil { - code = pb.ErrorCode_SystemError - } - }() - - conf := this.moduleLinestory.configure.getLinestoryChapterCfgById(req.JqId) - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - - module, err := this.service.GetModule(comm.ModuleRtask) - if err != nil { - code = pb.ErrorCode_SystemError - return - } - - if m, ok := module.(comm.IRtask); ok { - // 校验限定条件 - for _, condiId := range conf.Cond { - if code = m.CheckCondi(session.GetUserId(), condiId); code != pb.ErrorCode_Success { - return - } - } - } - - dbLinestory := &pb.DBLinestory{} - if err := this.moduleLinestory.modelLinestory.Get(session.GetUserId(), dbLinestory); err != nil { - if err == mongo.ErrNoDocuments { - //创建任务记录 - if err := this.moduleLinestory.modelLinestory.Add(session.GetUserId(), &pb.DBLinestory{ - Id: primitive.NewObjectID().Hex(), - Uid: session.GetUserId(), - JqId: req.JqId, - }); err != nil { - code = pb.ErrorCode_DBError - return - } - } else { - code = pb.ErrorCode_DBError - return - } - } - - if dbLinestory.Tasks != nil { - for k, _ := range dbLinestory.Tasks { - rsp.TaskIds = append(rsp.TaskIds, k) - } - } - - return -} diff --git a/modules/linestory/config.go b/modules/linestory/config.go index 43a348aa9..0410ebdd6 100644 --- a/modules/linestory/config.go +++ b/modules/linestory/config.go @@ -9,9 +9,8 @@ import ( ) const ( - gameLinestoryChapter = "game_linestorychapter.json" - gameLinestoryTask = "game_linestorytask.json" - gameLinestoryStagetask = "game_linestorystagetask.json" + gameLinestoryTimeline = "game_linestorytimeline.json" + gameLinestoryMainTask = "game_linestorymaintask.json" ) type configureComp struct { @@ -21,22 +20,21 @@ type configureComp struct { func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { err = this.MCompConfigure.Init(service, module, comp, options) err = this.LoadMultiConfigure(map[string]interface{}{ - gameLinestoryChapter: cfg.NewGameLineStoryChapter, - gameLinestoryTask: cfg.NewGameLineStoryTask, - gameLinestoryStagetask: cfg.NewGameLineStoryStageTask, + gameLinestoryTimeline: cfg.NewGameLinestoryTimeLine, + gameLinestoryMainTask: cfg.NewGameLinestoryMainTask, }) return } -func (this *configureComp) getLinestoryChapterCfg() (data *cfg.GameLineStoryChapter, err error) { +func (this *configureComp) getLinestoryTimelineCfg() (data *cfg.GameLinestoryTimeLine, err error) { var ( v interface{} ok bool ) - if v, err = this.GetConfigure(gameLinestoryChapter); err != nil { + if v, err = this.GetConfigure(gameLinestoryTimeline); err != nil { return } else { - if data, ok = v.(*cfg.GameLineStoryChapter); !ok { + if data, ok = v.(*cfg.GameLinestoryTimeLine); !ok { err = fmt.Errorf("%T no is *cfg.GameLineStoryChapter", v) return } @@ -44,15 +42,15 @@ func (this *configureComp) getLinestoryChapterCfg() (data *cfg.GameLineStoryChap return } -func (this *configureComp) getLinestoryTaskCfg() (data *cfg.GameLineStoryTask, err error) { +func (this *configureComp) getLinestoryMainTaskCfg() (data *cfg.GameLinestoryMainTask, err error) { var ( v interface{} ok bool ) - if v, err = this.GetConfigure(gameLinestoryTask); err != nil { + if v, err = this.GetConfigure(gameLinestoryMainTask); err != nil { return } else { - if data, ok = v.(*cfg.GameLineStoryTask); !ok { + if data, ok = v.(*cfg.GameLinestoryMainTask); !ok { err = fmt.Errorf("%T no is *cfg.GameLineStoryTask", v) return } @@ -60,24 +58,8 @@ func (this *configureComp) getLinestoryTaskCfg() (data *cfg.GameLineStoryTask, e return } -func (this *configureComp) getLinestoryStageCfg() (data *cfg.GameLineStoryStageTask, err error) { - var ( - v interface{} - ok bool - ) - if v, err = this.GetConfigure(gameLinestoryStagetask); err != nil { - return - } else { - if data, ok = v.(*cfg.GameLineStoryStageTask); !ok { - err = fmt.Errorf("%T no is *cfg.GameLineStoryStageTask", v) - return - } - } - return -} - -func (this *configureComp) getLinestoryChapterCfgById(id int32) (data *cfg.GameLineStoryChapterData) { - if cfg, err := this.getLinestoryChapterCfg(); err != nil { +func (this *configureComp) getChapterCfgById(id int32) (data *cfg.GameLinestoryTimeLineData) { + if cfg, err := this.getLinestoryTimelineCfg(); err != nil { log.Errorf("%v", err) return } else { @@ -88,8 +70,8 @@ func (this *configureComp) getLinestoryChapterCfgById(id int32) (data *cfg.GameL return } -func (this *configureComp) getLinestoryTaskCfgById(id int32) (data *cfg.GameLineStoryTaskData) { - if cfg, err := this.getLinestoryTaskCfg(); err != nil { +func (this *configureComp) getMainTaskCfgById(id int32) (data *cfg.GameLinestoryMainTaskData) { + if cfg, err := this.getLinestoryMainTaskCfg(); err != nil { log.Errorf("%v", err) return } else { @@ -100,13 +82,29 @@ func (this *configureComp) getLinestoryTaskCfgById(id int32) (data *cfg.GameLine return } -func (this *configureComp) getLinestoryStageCfgById(id int32) (data *cfg.GameLineStoryStageTaskData) { - if cfg, err := this.getLinestoryStageCfg(); err != nil { +func (this *configureComp) getMainTaskCfgByGroup(groupId int32) (data []*cfg.GameLinestoryMainTaskData) { + if cfg, err := this.getLinestoryMainTaskCfg(); err != nil { log.Errorf("%v", err) return } else { if cfg != nil { - data = cfg.GetDataMap()[id] + for _, v := range cfg.GetDataList() { + if v.Group == groupId { + data = append(data, v) + } + } + } + } + return +} + +func (this *configureComp) converArr(groupId int32) (taskIds []int32) { + data := this.getMainTaskCfgByGroup(groupId) + if data != nil { + for _, v := range data { + if v.Group == groupId { + taskIds = append(taskIds, v.Id) + } } } return diff --git a/modules/linestory/model_linestory.go b/modules/linestory/model_linestory.go index be20f54d9..6ccb87d6e 100644 --- a/modules/linestory/model_linestory.go +++ b/modules/linestory/model_linestory.go @@ -3,7 +3,12 @@ package linestory import ( "go_dreamfactory/comm" "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/log" "go_dreamfactory/modules" + "go_dreamfactory/pb" + + "go.mongodb.org/mongo-driver/bson/primitive" + "go.mongodb.org/mongo-driver/mongo" ) type ModelLinestory struct { @@ -19,3 +24,73 @@ func (this *ModelLinestory) Init(service core.IService, module core.IModule, com this.service = service return } + +func (this *ModelLinestory) getLinestory(uid string) *pb.DBLinestory { + ls := &pb.DBLinestory{ + Uid: uid, + } + if err := this.Get(uid, ls); err != nil { + if err == mongo.ErrNoDocuments { + ls.Id = primitive.NewObjectID().Hex() + if err := this.Add(uid, ls); err != nil { + log.Errorf("save linestory err:%v", err) + return ls + } + return ls + } else { + log.Errorf("getLinestory err:%v", err) + return ls + } + } + return ls +} + +// 获取章节节点信息 +func (this *ModelLinestory) getChapters(uid string) map[int32]*pb.TaskChapter { + ls := this.getLinestory(uid) + return ls.TaskChapter +} + +// 获取玩家支线剧情-主线任务 +func (this *ModelLinestory) getMaintasks(uid string, groupId int32) (list []*pb.TaskMain) { + // 调用世界任务接口groupId & taskId + if module, err := this.service.GetModule(comm.ModuleWorldtask); err == nil { + if iwt, ok := module.(comm.IWorldtask); ok { + // 获取玩家世界任务 + wt := iwt.GetMyWorldtask(uid) + if wt != nil { + mainTasks := this.moduleLinestory.configure.getMainTaskCfgByGroup(groupId) + for _, conf := range mainTasks { + // 遍历已完成的世界任务 + for _, task := range wt.TaskList { + if conf.Id == task.TaskId { + list = append(list, &pb.TaskMain{ + TaskId: conf.Id, + Status: 2, + }) + } + } + + } + } + } + } + return +} + +// 章节奖励领取 +func (this *ModelLinestory) receive(uid string, groupId int32) (err error) { + ls := this.getLinestory(uid) + if v, ok := ls.TaskChapter[groupId]; ok { + if v.Receive == 1 { + v.Receive = 2 + update := map[string]interface{}{ + "receive": v.Receive, + } + return this.Change(uid, update) + } else { + return comm.NewCustomError(pb.ErrorCode_LinestoryNoReceive) + } + } + return comm.NewCustomError(pb.ErrorCode_LinestoryChapterNoOpen) +} diff --git a/modules/linestory/module.go b/modules/linestory/module.go index b9aa51b17..dd4c5fed3 100644 --- a/modules/linestory/module.go +++ b/modules/linestory/module.go @@ -7,13 +7,20 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/modules" + "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" + "go_dreamfactory/utils" ) +var _ comm.ILinestory = (*ModuleLinestory)(nil) + type ModuleLinestory struct { modules.ModuleBase api *apiComp configure *configureComp modelLinestory *ModelLinestory + confTimeline *cfg.GameLinestoryTimeLine + confMaintask *cfg.GameLinestoryMainTask } func NewModule() core.IModule { @@ -35,3 +42,43 @@ func (this *ModuleLinestory) OnInstallComp() { func (this *ModuleLinestory) GetType() core.M_Modules { return comm.ModuleLinestory } + +func (this *ModuleLinestory) Start() (err error) { + err = this.ModuleBase.Start() + if this.confTimeline, err = this.configure.getLinestoryTimelineCfg(); err != nil { + return err + } + if this.confMaintask, err = this.configure.getLinestoryMainTaskCfg(); err != nil { + return err + } + return +} + +// 世界任务完成通知 +func (this *ModuleLinestory) TaskFinishNotify(uid string, taskId, groupId int32) error { + ls := this.modelLinestory.getLinestory(uid) + + if v, ok := ls.TaskChapter[groupId]; ok { + if _, ok := utils.Findx(v.TaskIds, taskId); !ok { + v.TaskIds = append(v.TaskIds, taskId) + taskIds := this.configure.converArr(groupId) + // 校验当前组下的任务是否全部完成 + if utils.ForContainer(taskIds, v.TaskIds) { + //说明组里的所有任务完成 + v.Receive = 1 + v.Status = 1 + } + } + } else { + tg := &pb.TaskChapter{} + tg.TaskIds = append(tg.TaskIds, taskId) + if ls.TaskChapter == nil { + ls.TaskChapter = make(map[int32]*pb.TaskChapter) + } + ls.TaskChapter[groupId] = tg + } + update := map[string]interface{}{ + "taskChapter": ls.TaskChapter, + } + return this.modelLinestory.Change(uid, update) +} diff --git a/modules/modulebase.go b/modules/modulebase.go index 705a422c5..e72005408 100644 --- a/modules/modulebase.go +++ b/modules/modulebase.go @@ -413,26 +413,26 @@ func (this *ModuleBase) GetDBNoduleByUid(uid, tableName string, expired time.Dur } //日志接口 -func (this *ModuleBase) Debug(msg string, args ...log.Field) { - this.options.GetLog().Debug(msg, args...) +func (this *ModuleBase) Debug(msg string, args log.Fields) { + this.options.GetLog().Debug(msg, args) } -func (this *ModuleBase) Info(msg string, args ...log.Field) { - this.options.GetLog().Info(msg, args...) +func (this *ModuleBase) Info(msg string, args log.Fields) { + this.options.GetLog().Info(msg, args) } -func (this *ModuleBase) Print(msg string, args ...log.Field) { - this.options.GetLog().Print(msg, args...) +func (this *ModuleBase) Print(msg string, args log.Fields) { + this.options.GetLog().Print(msg, args) } -func (this *ModuleBase) Warn(msg string, args ...log.Field) { - this.options.GetLog().Warn(msg, args...) +func (this *ModuleBase) Warn(msg string, args log.Fields) { + this.options.GetLog().Warn(msg, args) } -func (this *ModuleBase) Error(msg string, args ...log.Field) { - this.options.GetLog().Error(msg, args...) +func (this *ModuleBase) Error(msg string, args log.Fields) { + this.options.GetLog().Error(msg, args) } -func (this *ModuleBase) Panic(msg string, args ...log.Field) { - this.options.GetLog().Panic(msg, args...) +func (this *ModuleBase) Panic(msg string, args log.Fields) { + this.options.GetLog().Panic(msg, args) } -func (this *ModuleBase) Fatal(msg string, args ...log.Field) { - this.options.GetLog().Fatal(msg, args...) +func (this *ModuleBase) Fatal(msg string, args log.Fields) { + this.options.GetLog().Fatal(msg, args) } func (this *ModuleBase) Debugf(format string, args ...interface{}) { @@ -478,3 +478,25 @@ func (this *ModuleBase) Fatalln(args ...interface{}) { func (this *ModuleBase) Panicln(args ...interface{}) { this.options.GetLog().Panicln(args...) } + +func (this *ModuleBase) DebugWithField(msg string, fields log.Fields) { + +} +func (this *ModuleBase) InfoWithField(msg string, fields log.Fields) { + +} +func (this *ModuleBase) PrintWithField(msg string, fields log.Fields) { + +} +func (this *ModuleBase) WarnWithField(msg string, fields log.Fields) { + +} +func (this *ModuleBase) ErrorWithField(msg string, fields log.Fields) { + +} +func (this *ModuleBase) FatalWithField(msg string, fields log.Fields) { + +} +func (this *ModuleBase) PanicWithField(msg string, fields log.Fields) { + +} diff --git a/modules/moonfantasy/module.go b/modules/moonfantasy/module.go index 8b32a5f9a..d1f363d76 100644 --- a/modules/moonfantasy/module.go +++ b/modules/moonfantasy/module.go @@ -105,7 +105,7 @@ func (this *Moonfantasy) Trigger(session comm.IUserSession, source *pb.BattleRep //接收区服worker发起的秘境事件 func (this *Moonfantasy) Rpc_ModuleMoonfantasyTrigger(ctx context.Context, args *pb.RPCGeneralReqA1, reply *pb.EmptyResp) (err error) { - this.Debug("Rpc_ModuleMoonfantasyTrigger", log.Field{Key: "args", Value: args.String()}) + this.Debug("Rpc_ModuleMoonfantasyTrigger", log.Fields{"args": args.String()}) if args.Param1 == "" { err = errors.New("参数异常!") return diff --git a/modules/pagoda/module.go b/modules/pagoda/module.go index 122aa5d5c..e268eec04 100644 --- a/modules/pagoda/module.go +++ b/modules/pagoda/module.go @@ -179,6 +179,6 @@ func (this *Pagoda) CheckPoint(uid string) bool { return true } func (this *Pagoda) Rpc_ModuleSeasonPagodaReward(ctx context.Context, args *pb.EmptyReq, reply *pb.EmptyResp) { - this.Debug("Rpc_ModuleSeasonPagodaReward", log.Field{Key: "args", Value: args.String()}) + this.Debug("Rpc_ModuleSeasonPagodaReward", log.Fields{"args": args.String()}) this.modulerank.seasonSettlement() } diff --git a/modules/pay/module.go b/modules/pay/module.go index 4057c4f41..c4ea0841a 100644 --- a/modules/pay/module.go +++ b/modules/pay/module.go @@ -62,7 +62,7 @@ func (this *Pay) OnInstallComp() { //RPC----------------------------------------------------------------------------------------------------------------------- func (this *Pay) Rpc_ModulePayDelivery(ctx context.Context, args *pb.PayDeliveryReq, reply *pb.PayDeliveryResp) (err error) { - this.Debug("Rpc_ModulePayDelivery", log.Field{Key: "args", Value: args.String()}) + this.Debug("Rpc_ModulePayDelivery", log.Fields{ "args": args.String()}) var ( conf *cfg.GameRechargeData info *pb.DBUserPay diff --git a/modules/rtask/api_battlefinish.go b/modules/rtask/api_battlefinish.go index dd9bfd0be..beea13896 100644 --- a/modules/rtask/api_battlefinish.go +++ b/modules/rtask/api_battlefinish.go @@ -63,7 +63,7 @@ func (this *apiComp) BattleFinish(session comm.IUserSession, req *pb.RtaskBattle for _, v := range sideConf.EndTid { if err, ok := this.moduleRtask.modelRtask.checkCondi(session.GetUserId(), v); !ok { if err != nil { - this.moduleRtask.Error(err.Error()) + this.moduleRtask.Errorln(err.Error()) } this.moduleRtask.Debugf("条件未达成 condiID:%v rtaskId:%v subRtaskId:%v chooseID:%v", v, req.RtaskId, req.RtaskSubId, req.ChooseId) break diff --git a/modules/rtask/module.go b/modules/rtask/module.go index 9b0af7340..17c0f25c6 100644 --- a/modules/rtask/module.go +++ b/modules/rtask/module.go @@ -240,7 +240,7 @@ func (this *ModuleRtask) SendToRtask(session comm.IUserSession, rtaskType comm.T return } - this.Debug("任务事件触发", log.Field{"uid", uid}, log.Field{"taskType", rtaskType}, log.Field{"params", params}) + this.Debug("任务事件触发", log.Fields{"uid": uid, "taskType": rtaskType, "params": params}) var ( err error condiId int32 @@ -250,7 +250,7 @@ func (this *ModuleRtask) SendToRtask(session comm.IUserSession, rtaskType comm.T for _, codi := range this.configure.getRtaskCondis(int32(rtaskType)) { v, ok := this.handleMap[codi.Id] if !ok { - this.Warn("未注册事件处理器", log.Field{"uid", uid}, log.Field{"condiId", codi.Id}) + this.Warn("未注册事件处理器", log.Fields{"uid": uid, "condiId": codi.Id}) code = pb.ErrorCode_RtaskCondiNoFound return } @@ -260,7 +260,7 @@ func (this *ModuleRtask) SendToRtask(session comm.IUserSession, rtaskType comm.T } if condiId, err = v.find(v.cfg, params...); condiId == 0 { if err != nil { - this.Warn(errors.WithMessage(err, uid).Error()) + this.Warnln(errors.WithMessage(err, uid).Error()) } } else { condis = append(condis, v) @@ -413,7 +413,7 @@ func (this *ModuleRtask) RemoteCheckCondi(uid string, condiId int32, rsp *pb.DBR //接收区服worker发起的秘境事件 func (this *ModuleRtask) Rpc_ModuleRtaskSendTask(ctx context.Context, args *pb.RPCRTaskReq, reply *pb.EmptyResp) (err error) { - this.Debug("Rpc_ModuleRtaskSendTask", log.Field{Key: "args", Value: args.String()}) + this.Debug("Rpc_ModuleRtaskSendTask", log.Fields{ "args": args.String()}) if args.Uid == "" { err = errors.New("参数异常!") return diff --git a/modules/shop/api_getlist.go b/modules/shop/api_getlist.go index ca65b0bf2..42e70a0b4 100644 --- a/modules/shop/api_getlist.go +++ b/modules/shop/api_getlist.go @@ -139,7 +139,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) var _items []*cfg.GameShopitemData for _, v := range shopconf.Shopitem { if _items, err = this.module.configure.GetShopItemsConfigureByGroups(v, udata); err != nil || len(_items) == 0 { - this.module.Error("no founf shopgroup", log.Field{Key: "gid", Value: v}) + this.module.Error("no founf shopgroup", log.Fields{"gid": v}) code = pb.ErrorCode_SystemError return } diff --git a/modules/sociaty/module.go b/modules/sociaty/module.go index 81efddd2c..412cccbed 100644 --- a/modules/sociaty/module.go +++ b/modules/sociaty/module.go @@ -122,7 +122,7 @@ func (this *Sociaty) Reddot(uid string, rid ...comm.ReddotType) (reddot map[comm // 跨服获取公会 func (this *Sociaty) RpcGetSociaty(ctx context.Context, req *pb.RPCGeneralReqA1, reply *pb.DBSociaty) error { - this.Debug("Rpc_ModuleSociaty", log.Field{Key: "req", Value: req}) + this.Debug("Rpc_ModuleSociaty", log.Fields{"req": req}) sociaty := this.modelSociaty.getSociaty(req.Param1) *reply = *sociaty return nil diff --git a/modules/task/model_task.go b/modules/task/model_task.go index 196452434..647bac1fa 100644 --- a/modules/task/model_task.go +++ b/modules/task/model_task.go @@ -297,7 +297,7 @@ func (this *ModelTask) doTaskHandle(event interface{}, next func(event interface task, ok := this.checkTask(tl.Uid, conf.Key) if !ok { - this.moduleTask.Debug("任务已完成", log.Field{"uid", tl.Uid}, log.Field{"任务ID", conf.Key}) + this.moduleTask.Debug("任务已完成", log.Fields{"uid": tl.Uid, "任务ID": conf.Key}) continue } @@ -327,11 +327,7 @@ func (this *ModelTask) doTaskHandle(event interface{}, next func(event interface return } this.moduleTask.Debug("更新任务", - log.Field{"uid", tl.Uid}, - log.Field{"任务ID", conf.Key}, - log.Field{"事件ID", conf.TypeId}, - log.Field{"progress", update["progress"]}, - log.Field{"status", update["status"]}, + log.Fields{"uid": tl.Uid, "任务ID": conf.Key, "事件ID": conf.TypeId, "progress": update["progress"], "status": update["status"]}, ) } return diff --git a/modules/timer/chat.go b/modules/timer/chat.go index e4ea9a702..12cf51423 100644 --- a/modules/timer/chat.go +++ b/modules/timer/chat.go @@ -67,7 +67,7 @@ func (this *ChatComp) Start() (err error) { } cronStr := fmt.Sprintf("0 %d %d ? * %s", v1.TimeM, v1.TimeH, weekStr) - this.module.Debug("注册Chat广播公告消息", log.Field{Key: "cronStr", Value: cronStr}, log.Field{Key: "text", Value: v1.Text}) + this.module.Debug("注册Chat广播公告消息", log.Fields{"cronStr": cronStr, "text": v1.Text}) if id, err = cron.AddFunc(cronStr, this.chatNoticen(v1.Text)); err != nil { this.module.Errorf("cron.AddFunc:%s err:%v", cronStr, err) continue @@ -89,7 +89,7 @@ func (this *ChatComp) chatNoticen(content string) func() { Content: content, } data, _ := anypb.New(&pb.ChatMessagePush{Chat: msg}) - this.module.Debug("广播公告消息", log.Field{Key: "chat", Value: content}) + this.module.Debug("广播公告消息", log.Fields{"chat": content}) if err := this.module.service.RpcBroadcast(context.Background(), comm.Service_Gateway, string(comm.Rpc_GatewaySendRadioMsg), pb.UserMessage{ MainType: string(comm.ModuleChat), SubType: "message", diff --git a/modules/timer/module.go b/modules/timer/module.go index 87cb43042..215251038 100644 --- a/modules/timer/module.go +++ b/modules/timer/module.go @@ -77,26 +77,26 @@ func (this *Timer) SetName(name string) { } //日志接口 -func (this *Timer) Debug(msg string, args ...log.Field) { - this.options.GetLog().Debug(msg, args...) +func (this *Timer) Debug(msg string, args log.Fields) { + this.options.GetLog().Debug(msg, args) } -func (this *Timer) Info(msg string, args ...log.Field) { - this.options.GetLog().Info(msg, args...) +func (this *Timer) Info(msg string, args log.Fields) { + this.options.GetLog().Info(msg, args) } -func (this *Timer) Print(msg string, args ...log.Field) { - this.options.GetLog().Print(msg, args...) +func (this *Timer) Print(msg string, args log.Fields) { + this.options.GetLog().Print(msg, args) } -func (this *Timer) Warn(msg string, args ...log.Field) { - this.options.GetLog().Warn(msg, args...) +func (this *Timer) Warn(msg string, args log.Fields) { + this.options.GetLog().Warn(msg, args) } -func (this *Timer) Error(msg string, args ...log.Field) { - this.options.GetLog().Error(msg, args...) +func (this *Timer) Error(msg string, args log.Fields) { + this.options.GetLog().Error(msg, args) } -func (this *Timer) Panic(msg string, args ...log.Field) { - this.options.GetLog().Panic(msg, args...) +func (this *Timer) Panic(msg string, args log.Fields) { + this.options.GetLog().Panic(msg, args) } -func (this *Timer) Fatal(msg string, args ...log.Field) { - this.options.GetLog().Fatal(msg, args...) +func (this *Timer) Fatal(msg string, args log.Fields) { + this.options.GetLog().Fatal(msg, args) } func (this *Timer) Debugf(format string, args ...interface{}) { diff --git a/modules/viking/api_challengeover.go b/modules/viking/api_challengeover.go index e91fa32e7..ace06c603 100644 --- a/modules/viking/api_challengeover.go +++ b/modules/viking/api_challengeover.go @@ -5,7 +5,9 @@ import ( "go_dreamfactory/pb" "go_dreamfactory/sys/configure" cfg "go_dreamfactory/sys/configure/structs" + "go_dreamfactory/sys/db" "strconv" + "time" "go.mongodb.org/mongo-driver/bson/primitive" "google.golang.org/protobuf/proto" @@ -121,7 +123,9 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal mapRankData["Leadpos"] = Leadpos mapRankData["line"] = szLine mapRankData["costTime"] = costTime - this.module.modulerank.ChangeUserRank(session.GetUserId(), v.Id, mapRankData) + conn_, _ := db.Cross() + dbModel := db.NewDBModel(comm.TableVikingRank, time.Hour, conn_) + dbModel.ChangeList(session.GetUserId(), v.Id, mapRankData) objID = v.Id bFind = true break @@ -142,7 +146,9 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal CostTime: costTime, } objID = new.Id - this.module.modulerank.AddRankList(session.GetUserId(), new.Id, new) + conn_, _ := db.Cross() + dbModel := db.NewDBModel(comm.TableVikingRank, time.Hour, conn_) + dbModel.AddList(session.GetUserId(), new.Id, new) } this.module.modulerank.SetRankListData("vikingRank"+strconv.Itoa(int(req.BossId)), req.Difficulty<<16+costTime, objID) } diff --git a/modules/viking/api_ranklist.go b/modules/viking/api_ranklist.go index 14d4bbd1e..91bb7687a 100644 --- a/modules/viking/api_ranklist.go +++ b/modules/viking/api_ranklist.go @@ -5,7 +5,6 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/pb" - "go_dreamfactory/sys/db" "strconv" "github.com/go-redis/redis/v8" @@ -29,28 +28,25 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.VikingRankListR if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } + if !req.Friend { - if !this.module.IsCross() { - if conn, err := db.Local(); err == nil { - var ( - pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO()) - ) + var ( + pipe *pipe.RedisPipe = this.module.modelViking.Redis.RedisPipe(context.TODO()) + ) + rd = pipe.ZRange("vikingRank"+strconv.Itoa(int(req.BoosType)), 0, -1) - rd = pipe.ZRange("vikingRank"+strconv.Itoa(int(req.BoosType)), 0, -1) - - if _, err = pipe.Exec(); err != nil { - this.module.Errorln(err) - return - } - _dataList := rd.Val() - for _, v := range _dataList { - result := &pb.DBVikingRank{} - if err = this.module.modulerank.GetListObj(session.GetUserId(), v, result); err == nil { - szRank = append(szRank, result) - } - } + if _, err := pipe.Exec(); err != nil { + this.module.Errorln(err) + return + } + _dataList := rd.Val() + for _, v := range _dataList { + result := &pb.DBVikingRank{} + if err := this.module.modulerank.GetListObj(session.GetUserId(), v, result); err == nil { + szRank = append(szRank, result) } } + } else { uids := this.friend.GetFriendList(session.GetUserId()) for _, id := range uids { diff --git a/modules/viking/model_rank.go b/modules/viking/model_rank.go index 3feda53cf..6b7bd52f0 100644 --- a/modules/viking/model_rank.go +++ b/modules/viking/model_rank.go @@ -7,6 +7,7 @@ import ( "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/modules" "go_dreamfactory/pb" + "go_dreamfactory/sys/db" "github.com/go-redis/redis/v8" ) @@ -61,24 +62,28 @@ func (this *ModelRank) getVikingRankListByBossType(uid string, bossType int32) * return nil } +// 排行数据写跨服 func (this *ModelRank) SetRankListData(tableName string, score int32, uid string) { + if !db.IsCross() { + if conn, err := db.Cross(); err == nil { + var ( + pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO()) + menbers *redis.Z + ) - var ( - pipe *pipe.RedisPipe = this.DBModel.Redis.RedisPipe(context.TODO()) - menbers *redis.Z - ) + menbers = &redis.Z{Score: float64(score), Member: uid} - menbers = &redis.Z{Score: float64(score), Member: uid} + if cmd := pipe.ZAdd(tableName, menbers); cmd != nil { - if cmd := pipe.ZAdd(tableName, menbers); cmd != nil { - - dock, err1 := cmd.Result() - if err1 != nil { - this.moduleViking.Errorln(dock, err1) + dock, err1 := cmd.Result() + if err1 != nil { + this.moduleViking.Errorln(dock, err1) + } + } + if _, err := pipe.Exec(); err != nil { + this.moduleViking.Errorln(err) + return + } } } - if _, err := pipe.Exec(); err != nil { - this.moduleViking.Errorln(err) - return - } } diff --git a/modules/web/module.go b/modules/web/module.go index 6df3e2576..dc204759d 100644 --- a/modules/web/module.go +++ b/modules/web/module.go @@ -58,26 +58,26 @@ func (this *Web) OnInstallComp() { //日志 //日志接口 -func (this *Web) Debug(msg string, args ...log.Field) { - this.options.GetLog().Debug(msg, args...) +func (this *Web) Debug(msg string, args log.Fields) { + this.options.GetLog().Debug(msg, args) } -func (this *Web) Info(msg string, args ...log.Field) { - this.options.GetLog().Info(msg, args...) +func (this *Web) Info(msg string, args log.Fields) { + this.options.GetLog().Info(msg, args) } -func (this *Web) Print(msg string, args ...log.Field) { - this.options.GetLog().Print(msg, args...) +func (this *Web) Print(msg string, args log.Fields) { + this.options.GetLog().Print(msg, args) } -func (this *Web) Warn(msg string, args ...log.Field) { - this.options.GetLog().Warn(msg, args...) +func (this *Web) Warn(msg string, args log.Fields) { + this.options.GetLog().Warn(msg, args) } -func (this *Web) Error(msg string, args ...log.Field) { - this.options.GetLog().Error(msg, args...) +func (this *Web) Error(msg string, args log.Fields) { + this.options.GetLog().Error(msg, args) } -func (this *Web) Panic(msg string, args ...log.Field) { - this.options.GetLog().Panic(msg, args...) +func (this *Web) Panic(msg string, args log.Fields) { + this.options.GetLog().Panic(msg, args) } -func (this *Web) Fatal(msg string, args ...log.Field) { - this.options.GetLog().Fatal(msg, args...) +func (this *Web) Fatal(msg string, args log.Fields) { + this.options.GetLog().Fatal(msg, args) } func (this *Web) Debugf(format string, args ...interface{}) { diff --git a/modules/worldtask/api_finish.go b/modules/worldtask/api_finish.go index 27ce56b2a..9c0b965fb 100644 --- a/modules/worldtask/api_finish.go +++ b/modules/worldtask/api_finish.go @@ -60,6 +60,7 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe // 前置任务ID if !this.module.modelWorldtask.IsPreFinished(userTask, curTaskConf) { + this.module.Warnf("前置任务未完成 uid:%v preTaskId:%v taskId:", uid, curTaskConf.Ontxe, curTaskConf.Key) code = pb.ErrorCode_WorldtaskLastUnFinished return } diff --git a/modules/worldtask/model_worldtask.go b/modules/worldtask/model_worldtask.go index 171d87540..ebf2535e6 100644 --- a/modules/worldtask/model_worldtask.go +++ b/modules/worldtask/model_worldtask.go @@ -4,6 +4,7 @@ import ( "errors" "go_dreamfactory/comm" "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/log" "go_dreamfactory/modules" "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" @@ -86,5 +87,16 @@ func (this *ModelWorldtask) finishTask(groupId, taskId int32, task *pb.DBWorldta update["taskList"] = task.TaskList update["lastTaskIds"] = task.LastTaskIds - return this.Change(task.Uid, update) + if err := this.Change(task.Uid, update); err != nil { + return err + } + + if module, err := this.service.GetModule(comm.ModuleLinestory); err == nil { + if iLinestory, ok := module.(comm.ILinestory); ok { + if err := iLinestory.TaskFinishNotify(task.Uid, taskId, groupId); err != nil { + log.Errorf("任务完成通知失败 groupId:%v taskId:%v err:%v", groupId, taskId, err) + } + } + } + return nil } diff --git a/modules/worldtask/module.go b/modules/worldtask/module.go index 93b219217..dbf86ea85 100644 --- a/modules/worldtask/module.go +++ b/modules/worldtask/module.go @@ -129,6 +129,15 @@ func (this *Worldtask) TaskcondNotify(session comm.IUserSession, condId int32) e return nil } +// 获取我的世界任务 +func (this *Worldtask) GetMyWorldtask(uid string) *pb.DBWorldtask { + wt, err := this.modelWorldtask.getWorldtask(uid) + if err != nil { + log.Errorf("GetMyWorldtask err:%v", err) + } + return wt +} + // bingo世界任务跳跃 支持回退 func (this *Worldtask) BingoJumpTask(session comm.IUserSession, groupId, taskId int32) error { uid := session.GetUserId() diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go index 2b0799b5c..b39da82c3 100644 --- a/pb/errorcode.pb.go +++ b/pb/errorcode.pb.go @@ -20,6 +20,7 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// go:generate stringer -type ErrorCode -linecomment type ErrorCode int32 const ( @@ -182,9 +183,9 @@ const ( ErrorCode_MoonfantasyNotEnoughbattles ErrorCode = 2407 // boos 挑战次数不足 ErrorCode_BattleNoFoundRecord ErrorCode = 2501 // 未找到记录 ErrorCode_LinestoryTaskFinished ErrorCode = 2601 //任务已完成 - ErrorCode_LinestorySubTaskFinished ErrorCode = 2602 //子任务已完成 + ErrorCode_LinestoryNoReceive ErrorCode = 2602 //章节奖励不能领取 ErrorCode_LinestoryTaskDisabledEnter ErrorCode = 2603 //禁止进入 - ErrorCode_LinestoryPreTaskNoFinished ErrorCode = 2604 //前置任务未完成 + ErrorCode_LinestoryChapterNoOpen ErrorCode = 2604 //章节未开启 // hunting ErrorCode_HuntingLvErr ErrorCode = 2701 // 关卡难度不匹配 ErrorCode_HuntingBoosType ErrorCode = 2702 // BOSS 类型不对 @@ -267,7 +268,7 @@ const ( ErrorCode_WorldtaskNoComplete ErrorCode = 3804 //任务条件未完成 ErrorCode_WorldtaskFinihed ErrorCode = 3805 //任务已完成 ErrorCode_WorldtaskLastUnFinished ErrorCode = 3806 //上个任务未完成 - //academy + // academy ErrorCode_AcademyTaskNoCompleteTask ErrorCode = 3901 //未完成任务 ) @@ -418,9 +419,9 @@ var ( 2407: "MoonfantasyNotEnoughbattles", 2501: "BattleNoFoundRecord", 2601: "LinestoryTaskFinished", - 2602: "LinestorySubTaskFinished", + 2602: "LinestoryNoReceive", 2603: "LinestoryTaskDisabledEnter", - 2604: "LinestoryPreTaskNoFinished", + 2604: "LinestoryChapterNoOpen", 2701: "HuntingLvErr", 2702: "HuntingBoosType", 2703: "HuntingBuyMaxCount", @@ -638,9 +639,9 @@ var ( "MoonfantasyNotEnoughbattles": 2407, "BattleNoFoundRecord": 2501, "LinestoryTaskFinished": 2601, - "LinestorySubTaskFinished": 2602, + "LinestoryNoReceive": 2602, "LinestoryTaskDisabledEnter": 2603, - "LinestoryPreTaskNoFinished": 2604, + "LinestoryChapterNoOpen": 2604, "HuntingLvErr": 2701, "HuntingBoosType": 2702, "HuntingBuyMaxCount": 2703, @@ -746,7 +747,7 @@ var File_errorcode_proto protoreflect.FileDescriptor var file_errorcode_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2a, 0xf1, 0x26, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x6f, 0x2a, 0xe7, 0x26, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, @@ -945,120 +946,119 @@ var file_errorcode_proto_rawDesc = []byte{ 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x10, 0xc5, 0x13, 0x12, 0x1a, 0x0a, 0x15, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xa9, 0x14, - 0x12, 0x1d, 0x0a, 0x18, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x75, 0x62, - 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xaa, 0x14, 0x12, - 0x1f, 0x0a, 0x1a, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x10, 0xab, 0x14, - 0x12, 0x1f, 0x0a, 0x1a, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, - 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xac, - 0x14, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x45, 0x72, - 0x72, 0x10, 0x8d, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, - 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0x8e, 0x15, 0x12, 0x17, 0x0a, 0x12, 0x48, 0x75, - 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x10, 0x8f, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x61, - 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, - 0x90, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4d, 0x61, 0x78, - 0x4c, 0x76, 0x10, 0xf1, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xf2, 0x15, 0x12, 0x16, 0x0a, 0x11, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf3, - 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x10, 0xf4, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x4c, 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf5, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, - 0x61, 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, 0x12, 0x11, 0x0a, - 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xb9, 0x17, - 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x61, 0x6d, 0x6f, - 0x6e, 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, 0x12, 0x11, 0x0a, - 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x10, 0xbb, 0x17, - 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x52, 0x69, 0x67, - 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x10, 0xbe, 0x17, 0x12, - 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x10, 0xbf, - 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, - 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, - 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x13, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x10, 0xba, 0xea, 0x01, 0x12, 0x16, 0x0a, - 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x63, 0x68, 0x61, 0x72, 0x67, - 0x65, 0x10, 0xbb, 0xea, 0x01, 0x12, 0x17, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xbc, 0xea, 0x01, 0x12, 0x14, - 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x10, 0xbd, 0xea, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, - 0x63, 0x63, 0x75, 0x73, 0x65, 0x10, 0xbe, 0xea, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xbf, 0xea, 0x01, 0x12, 0x13, 0x0a, 0x0d, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc0, 0xea, - 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x10, 0xc1, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xc2, 0xea, 0x01, 0x12, 0x18, - 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x10, 0xc3, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x10, 0xc4, 0xea, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, - 0x10, 0xc5, 0xea, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xc6, 0xea, 0x01, - 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x10, 0xc7, 0xea, 0x01, 0x12, 0x17, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x6e, 0x65, 0x6c, 0x10, 0xc8, 0xea, 0x01, - 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x65, 0x6c, 0x6f, 0x6e, - 0x67, 0x54, 0x6f, 0x10, 0xc9, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, 0xca, 0xea, 0x01, 0x12, 0x1b, 0x0a, - 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x79, 0x4c, 0x76, 0x4e, 0x6f, - 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcb, 0xea, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x10, 0xcc, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, - 0x67, 0x68, 0x10, 0xcd, 0xea, 0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x10, 0xce, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, - 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xcf, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, - 0x10, 0xd0, 0xea, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, - 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0xd1, 0xea, 0x01, - 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, - 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d, 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, - 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x4e, 0x70, 0x63, 0x49, 0x6e, 0x43, 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, - 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, - 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a, 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, - 0x44, 0x61, 0x74, 0x61, 0x10, 0x82, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, - 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, - 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x84, 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, - 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, - 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, - 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, - 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, - 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe9, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, - 0x10, 0xc9, 0x1a, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, - 0x52, 0x65, 0x73, 0x74, 0x43, 0x44, 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, - 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, - 0x75, 0x6e, 0x64, 0x10, 0xad, 0x1b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, - 0x65, 0x67, 0x65, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, - 0x14, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, - 0x6b, 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x92, 0x1c, 0x12, 0x17, - 0x0a, 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x6e, - 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x52, 0x65, - 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, 0xf6, 0x1c, 0x12, 0x14, 0x0a, - 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x10, 0xd9, 0x1d, 0x12, 0x19, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, - 0x4c, 0x76, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xda, 0x1d, 0x12, 0x16, - 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x41, 0x63, 0x63, - 0x65, 0x70, 0x74, 0x10, 0xdb, 0x1d, 0x12, 0x18, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, - 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0xdc, 0x1d, - 0x12, 0x15, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, - 0x69, 0x68, 0x65, 0x64, 0x10, 0xdd, 0x1d, 0x12, 0x1c, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6c, 0x64, - 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x65, 0x64, 0x10, 0xde, 0x1d, 0x12, 0x1e, 0x0a, 0x19, 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, - 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, - 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x17, 0x0a, 0x12, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xaa, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x4c, 0x69, 0x6e, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x10, 0xab, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x4c, 0x69, + 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x4e, 0x6f, + 0x4f, 0x70, 0x65, 0x6e, 0x10, 0xac, 0x14, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x75, 0x6e, 0x74, 0x69, + 0x6e, 0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0x8d, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x75, + 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0x8e, 0x15, + 0x12, 0x17, 0x0a, 0x12, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x4d, 0x61, + 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x8f, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x48, 0x75, 0x6e, + 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x90, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xf1, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xf2, 0x15, 0x12, + 0x16, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf3, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf4, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf5, + 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5, 0x16, 0x12, 0x13, + 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, + 0x10, 0xb8, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, + 0x64, 0x65, 0x64, 0x10, 0xb9, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, + 0x10, 0xba, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, + 0x70, 0x6c, 0x79, 0x10, 0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4e, 0x6f, 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, + 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, + 0x73, 0x73, 0x10, 0xbe, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x51, 0x75, 0x69, 0x74, 0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x13, + 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x10, + 0xba, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, + 0x73, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x10, 0xbb, 0xea, 0x01, 0x12, 0x17, 0x0a, 0x11, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, + 0x10, 0xbc, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xbd, 0xea, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x10, 0xbe, 0xea, 0x01, 0x12, + 0x11, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xbf, + 0xea, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x10, 0xc0, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc1, 0xea, 0x01, 0x12, 0x15, 0x0a, + 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x61, 0x78, + 0x10, 0xc2, 0xea, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, + 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xc3, 0xea, 0x01, 0x12, 0x1d, + 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc4, 0xea, 0x01, 0x12, 0x1b, 0x0a, + 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc5, 0xea, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x10, 0xc6, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0xc7, 0xea, 0x01, 0x12, 0x17, 0x0a, + 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x6e, + 0x65, 0x6c, 0x10, 0xc8, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, 0x10, 0xc9, 0xea, 0x01, 0x12, 0x14, 0x0a, + 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, + 0xca, 0xea, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, + 0x70, 0x79, 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcb, 0xea, 0x01, + 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xcc, 0xea, 0x01, 0x12, 0x1d, 0x0a, + 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcd, 0xea, 0x01, 0x12, 0x1c, 0x0a, 0x16, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xce, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xcf, + 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0xd0, 0xea, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x10, 0xd1, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d, 0x18, 0x12, 0x19, 0x0a, + 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x45, + 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e, + 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x6e, 0x43, 0x64, 0x10, 0x9f, + 0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a, 0x0d, 0x54, 0x61, 0x6c, + 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x82, 0x19, 0x12, 0x19, 0x0a, + 0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x42, + 0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x61, 0x6c, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x84, 0x19, 0x12, + 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xe5, + 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x6c, 0x4d, 0x61, + 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, + 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19, 0x12, 0x16, 0x0a, 0x11, + 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe9, 0x19, 0x12, 0x19, + 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x54, 0x75, + 0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9, 0x1a, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, + 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x43, 0x44, 0x4e, 0x6f, 0x45, 0x6e, + 0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, + 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xad, 0x1b, 0x12, 0x17, 0x0a, 0x12, + 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, + 0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, 0x14, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, + 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, + 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x10, 0x92, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, + 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, + 0x0f, 0x50, 0x61, 0x79, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, + 0x10, 0xf6, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0xd9, 0x1d, 0x12, 0x19, 0x0a, 0x14, 0x57, 0x6f, 0x72, + 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x76, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, + 0x68, 0x10, 0xda, 0x1d, 0x12, 0x16, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, + 0x6b, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0xdb, 0x1d, 0x12, 0x18, 0x0a, 0x13, + 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x10, 0xdc, 0x1d, 0x12, 0x15, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, + 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x68, 0x65, 0x64, 0x10, 0xdd, 0x1d, 0x12, 0x1c, 0x0a, + 0x17, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x6e, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xde, 0x1d, 0x12, 0x1e, 0x0a, 0x19, 0x41, + 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x42, 0x06, 0x5a, 0x04, 0x2e, + 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pb/linestory_db.pb.go b/pb/linestory_db.pb.go index b6ce9188a..05c323570 100644 --- a/pb/linestory_db.pb.go +++ b/pb/linestory_db.pb.go @@ -20,77 +20,20 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type TaskNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status" bson:"status"` //状态 0未做 - // 1进行中(子任务没有全部完成) 2已做 3禁止进入 - SubtaskIds []int32 `protobuf:"varint,2,rep,packed,name=subtaskIds,proto3" json:"subtaskIds" bson:"subtasks"` //子任务 -} - -func (x *TaskNode) Reset() { - *x = TaskNode{} - if protoimpl.UnsafeEnabled { - mi := &file_linestory_linestory_db_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TaskNode) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TaskNode) ProtoMessage() {} - -func (x *TaskNode) ProtoReflect() protoreflect.Message { - mi := &file_linestory_linestory_db_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TaskNode.ProtoReflect.Descriptor instead. -func (*TaskNode) Descriptor() ([]byte, []int) { - return file_linestory_linestory_db_proto_rawDescGZIP(), []int{0} -} - -func (x *TaskNode) GetStatus() int32 { - if x != nil { - return x.Status - } - return 0 -} - -func (x *TaskNode) GetSubtaskIds() []int32 { - if x != nil { - return x.SubtaskIds - } - return nil -} - type DBLinestory struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID - Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID - JqId int32 `protobuf:"varint,3,opt,name=jqId,proto3" json:"jqId" bson:"jqId"` //剧情ID - Tasks map[int32]*TaskNode `protobuf:"bytes,4,rep,name=tasks,proto3" json:"tasks" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" bson:"tasks"` //任务 + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID + TaskChapter map[int32]*TaskChapter `protobuf:"bytes,3,rep,name=taskChapter,proto3" json:"taskChapter" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" bson:"taskChapter"` //已开启的章节 key:章节ID } func (x *DBLinestory) Reset() { *x = DBLinestory{} if protoimpl.UnsafeEnabled { - mi := &file_linestory_linestory_db_proto_msgTypes[1] + mi := &file_linestory_linestory_db_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -103,7 +46,7 @@ func (x *DBLinestory) String() string { func (*DBLinestory) ProtoMessage() {} func (x *DBLinestory) ProtoReflect() protoreflect.Message { - mi := &file_linestory_linestory_db_proto_msgTypes[1] + mi := &file_linestory_linestory_db_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -116,7 +59,7 @@ func (x *DBLinestory) ProtoReflect() protoreflect.Message { // Deprecated: Use DBLinestory.ProtoReflect.Descriptor instead. func (*DBLinestory) Descriptor() ([]byte, []int) { - return file_linestory_linestory_db_proto_rawDescGZIP(), []int{1} + return file_linestory_linestory_db_proto_rawDescGZIP(), []int{0} } func (x *DBLinestory) GetId() string { @@ -133,42 +76,161 @@ func (x *DBLinestory) GetUid() string { return "" } -func (x *DBLinestory) GetJqId() int32 { +func (x *DBLinestory) GetTaskChapter() map[int32]*TaskChapter { if x != nil { - return x.JqId + return x.TaskChapter + } + return nil +} + +// 章节 +type TaskChapter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Receive int32 `protobuf:"varint,1,opt,name=receive,proto3" json:"receive" bson:"receive"` //章节奖励领取状态 0未领 1待领取 2已领取 + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status" bson:"status"` //完成状态 0未完成 1已完成 + TaskIds []int32 `protobuf:"varint,3,rep,packed,name=taskIds,proto3" json:"taskIds" bson:"taskIds"` //完成的任务 +} + +func (x *TaskChapter) Reset() { + *x = TaskChapter{} + if protoimpl.UnsafeEnabled { + mi := &file_linestory_linestory_db_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TaskChapter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskChapter) ProtoMessage() {} + +func (x *TaskChapter) ProtoReflect() protoreflect.Message { + mi := &file_linestory_linestory_db_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskChapter.ProtoReflect.Descriptor instead. +func (*TaskChapter) Descriptor() ([]byte, []int) { + return file_linestory_linestory_db_proto_rawDescGZIP(), []int{1} +} + +func (x *TaskChapter) GetReceive() int32 { + if x != nil { + return x.Receive } return 0 } -func (x *DBLinestory) GetTasks() map[int32]*TaskNode { +func (x *TaskChapter) GetStatus() int32 { if x != nil { - return x.Tasks + return x.Status + } + return 0 +} + +func (x *TaskChapter) GetTaskIds() []int32 { + if x != nil { + return x.TaskIds } return nil } +// 主线任务 +type TaskMain struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TaskId int32 `protobuf:"varint,1,opt,name=taskId,proto3" json:"taskId" bson:"taskId"` //任务Id + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status" bson:"status"` //状态 0锁定 1已完成 +} + +func (x *TaskMain) Reset() { + *x = TaskMain{} + if protoimpl.UnsafeEnabled { + mi := &file_linestory_linestory_db_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TaskMain) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskMain) ProtoMessage() {} + +func (x *TaskMain) ProtoReflect() protoreflect.Message { + mi := &file_linestory_linestory_db_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskMain.ProtoReflect.Descriptor instead. +func (*TaskMain) Descriptor() ([]byte, []int) { + return file_linestory_linestory_db_proto_rawDescGZIP(), []int{2} +} + +func (x *TaskMain) GetTaskId() int32 { + if x != nil { + return x.TaskId + } + return 0 +} + +func (x *TaskMain) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + var File_linestory_linestory_db_proto protoreflect.FileDescriptor var file_linestory_linestory_db_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6c, 0x69, 0x6e, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42, - 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x74, 0x61, 0x73, 0x6b, 0x49, - 0x64, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x0b, 0x44, 0x42, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6a, 0x71, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x6a, 0x71, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, 0x4c, 0x69, 0x6e, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x1a, 0x43, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x73, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, + 0x01, 0x0a, 0x0b, 0x44, 0x42, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, + 0x12, 0x3f, 0x0a, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x44, 0x42, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, + 0x72, 0x1a, 0x4c, 0x0a, 0x10, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, - 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, + 0x70, 0x74, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x59, 0x0a, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x22, 0x3a, 0x0a, 0x08, 0x54, 0x61, + 0x73, 0x6b, 0x4d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -183,15 +245,16 @@ func file_linestory_linestory_db_proto_rawDescGZIP() []byte { return file_linestory_linestory_db_proto_rawDescData } -var file_linestory_linestory_db_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_linestory_linestory_db_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_linestory_linestory_db_proto_goTypes = []interface{}{ - (*TaskNode)(nil), // 0: TaskNode - (*DBLinestory)(nil), // 1: DBLinestory - nil, // 2: DBLinestory.TasksEntry + (*DBLinestory)(nil), // 0: DBLinestory + (*TaskChapter)(nil), // 1: TaskChapter + (*TaskMain)(nil), // 2: TaskMain + nil, // 3: DBLinestory.TaskChapterEntry } var file_linestory_linestory_db_proto_depIdxs = []int32{ - 2, // 0: DBLinestory.tasks:type_name -> DBLinestory.TasksEntry - 0, // 1: DBLinestory.TasksEntry.value:type_name -> TaskNode + 3, // 0: DBLinestory.taskChapter:type_name -> DBLinestory.TaskChapterEntry + 1, // 1: DBLinestory.TaskChapterEntry.value:type_name -> TaskChapter 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name @@ -206,7 +269,7 @@ func file_linestory_linestory_db_proto_init() { } if !protoimpl.UnsafeEnabled { file_linestory_linestory_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskNode); i { + switch v := v.(*DBLinestory); i { case 0: return &v.state case 1: @@ -218,7 +281,19 @@ func file_linestory_linestory_db_proto_init() { } } file_linestory_linestory_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBLinestory); i { + switch v := v.(*TaskChapter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_linestory_linestory_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TaskMain); i { case 0: return &v.state case 1: @@ -236,7 +311,7 @@ func file_linestory_linestory_db_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_linestory_linestory_db_proto_rawDesc, NumEnums: 0, - NumMessages: 3, + NumMessages: 4, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/linestory_msg.pb.go b/pb/linestory_msg.pb.go index 7c5a641c0..604b3d776 100644 --- a/pb/linestory_msg.pb.go +++ b/pb/linestory_msg.pb.go @@ -20,17 +20,15 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// 剧情开始 -type LinestoryStartReq struct { +// 支线剧情章节 +type LinestoryChapterReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - JqId int32 `protobuf:"varint,1,opt,name=jqId,proto3" json:"jqId"` //剧情ID } -func (x *LinestoryStartReq) Reset() { - *x = LinestoryStartReq{} +func (x *LinestoryChapterReq) Reset() { + *x = LinestoryChapterReq{} if protoimpl.UnsafeEnabled { mi := &file_linestory_linestory_msg_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -38,13 +36,13 @@ func (x *LinestoryStartReq) Reset() { } } -func (x *LinestoryStartReq) String() string { +func (x *LinestoryChapterReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*LinestoryStartReq) ProtoMessage() {} +func (*LinestoryChapterReq) ProtoMessage() {} -func (x *LinestoryStartReq) ProtoReflect() protoreflect.Message { +func (x *LinestoryChapterReq) ProtoReflect() protoreflect.Message { mi := &file_linestory_linestory_msg_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -56,29 +54,21 @@ func (x *LinestoryStartReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LinestoryStartReq.ProtoReflect.Descriptor instead. -func (*LinestoryStartReq) Descriptor() ([]byte, []int) { +// Deprecated: Use LinestoryChapterReq.ProtoReflect.Descriptor instead. +func (*LinestoryChapterReq) Descriptor() ([]byte, []int) { return file_linestory_linestory_msg_proto_rawDescGZIP(), []int{0} } -func (x *LinestoryStartReq) GetJqId() int32 { - if x != nil { - return x.JqId - } - return 0 -} - -type LinestoryStartResp struct { +type LinestoryChapterResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JqId int32 `protobuf:"varint,1,opt,name=jqId,proto3" json:"jqId"` - TaskIds []int32 `protobuf:"varint,2,rep,packed,name=taskIds,proto3" json:"taskIds"` //已完成的任务ID + TaskChapter map[int32]*TaskChapter `protobuf:"bytes,1,rep,name=taskChapter,proto3" json:"taskChapter" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (x *LinestoryStartResp) Reset() { - *x = LinestoryStartResp{} +func (x *LinestoryChapterResp) Reset() { + *x = LinestoryChapterResp{} if protoimpl.UnsafeEnabled { mi := &file_linestory_linestory_msg_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -86,13 +76,13 @@ func (x *LinestoryStartResp) Reset() { } } -func (x *LinestoryStartResp) String() string { +func (x *LinestoryChapterResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*LinestoryStartResp) ProtoMessage() {} +func (*LinestoryChapterResp) ProtoMessage() {} -func (x *LinestoryStartResp) ProtoReflect() protoreflect.Message { +func (x *LinestoryChapterResp) ProtoReflect() protoreflect.Message { mi := &file_linestory_linestory_msg_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -104,37 +94,29 @@ func (x *LinestoryStartResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LinestoryStartResp.ProtoReflect.Descriptor instead. -func (*LinestoryStartResp) Descriptor() ([]byte, []int) { +// Deprecated: Use LinestoryChapterResp.ProtoReflect.Descriptor instead. +func (*LinestoryChapterResp) Descriptor() ([]byte, []int) { return file_linestory_linestory_msg_proto_rawDescGZIP(), []int{1} } -func (x *LinestoryStartResp) GetJqId() int32 { +func (x *LinestoryChapterResp) GetTaskChapter() map[int32]*TaskChapter { if x != nil { - return x.JqId - } - return 0 -} - -func (x *LinestoryStartResp) GetTaskIds() []int32 { - if x != nil { - return x.TaskIds + return x.TaskChapter } return nil } -// 做任务 -type LinestoryDotaskReq struct { +// 支线剧情-我的主线任务 +type LinestoryMaintaskReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TaskId int32 `protobuf:"varint,1,opt,name=taskId,proto3" json:"taskId"` //任务ID - SubtaskId int32 `protobuf:"varint,2,opt,name=subtaskId,proto3" json:"subtaskId"` //子任务ID + ChapterId int32 `protobuf:"varint,1,opt,name=chapterId,proto3" json:"chapterId"` //章节ID } -func (x *LinestoryDotaskReq) Reset() { - *x = LinestoryDotaskReq{} +func (x *LinestoryMaintaskReq) Reset() { + *x = LinestoryMaintaskReq{} if protoimpl.UnsafeEnabled { mi := &file_linestory_linestory_msg_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -142,13 +124,13 @@ func (x *LinestoryDotaskReq) Reset() { } } -func (x *LinestoryDotaskReq) String() string { +func (x *LinestoryMaintaskReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*LinestoryDotaskReq) ProtoMessage() {} +func (*LinestoryMaintaskReq) ProtoMessage() {} -func (x *LinestoryDotaskReq) ProtoReflect() protoreflect.Message { +func (x *LinestoryMaintaskReq) ProtoReflect() protoreflect.Message { mi := &file_linestory_linestory_msg_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -160,37 +142,28 @@ func (x *LinestoryDotaskReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LinestoryDotaskReq.ProtoReflect.Descriptor instead. -func (*LinestoryDotaskReq) Descriptor() ([]byte, []int) { +// Deprecated: Use LinestoryMaintaskReq.ProtoReflect.Descriptor instead. +func (*LinestoryMaintaskReq) Descriptor() ([]byte, []int) { return file_linestory_linestory_msg_proto_rawDescGZIP(), []int{2} } -func (x *LinestoryDotaskReq) GetTaskId() int32 { +func (x *LinestoryMaintaskReq) GetChapterId() int32 { if x != nil { - return x.TaskId + return x.ChapterId } return 0 } -func (x *LinestoryDotaskReq) GetSubtaskId() int32 { - if x != nil { - return x.SubtaskId - } - return 0 -} - -type LinestoryDotaskResp struct { +type LinestoryMaintaskResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TaskId int32 `protobuf:"varint,1,opt,name=taskId,proto3" json:"taskId"` //任务ID - SubtaskId int32 `protobuf:"varint,2,opt,name=subtaskId,proto3" json:"subtaskId"` //子任务ID - ResetTaskId int32 `protobuf:"varint,3,opt,name=resetTaskId,proto3" json:"resetTaskId"` //重置任务起始ID + List []*TaskMain `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` } -func (x *LinestoryDotaskResp) Reset() { - *x = LinestoryDotaskResp{} +func (x *LinestoryMaintaskResp) Reset() { + *x = LinestoryMaintaskResp{} if protoimpl.UnsafeEnabled { mi := &file_linestory_linestory_msg_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -198,13 +171,13 @@ func (x *LinestoryDotaskResp) Reset() { } } -func (x *LinestoryDotaskResp) String() string { +func (x *LinestoryMaintaskResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*LinestoryDotaskResp) ProtoMessage() {} +func (*LinestoryMaintaskResp) ProtoMessage() {} -func (x *LinestoryDotaskResp) ProtoReflect() protoreflect.Message { +func (x *LinestoryMaintaskResp) ProtoReflect() protoreflect.Message { mi := &file_linestory_linestory_msg_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -216,28 +189,109 @@ func (x *LinestoryDotaskResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LinestoryDotaskResp.ProtoReflect.Descriptor instead. -func (*LinestoryDotaskResp) Descriptor() ([]byte, []int) { +// Deprecated: Use LinestoryMaintaskResp.ProtoReflect.Descriptor instead. +func (*LinestoryMaintaskResp) Descriptor() ([]byte, []int) { return file_linestory_linestory_msg_proto_rawDescGZIP(), []int{3} } -func (x *LinestoryDotaskResp) GetTaskId() int32 { +func (x *LinestoryMaintaskResp) GetList() []*TaskMain { if x != nil { - return x.TaskId + return x.List + } + return nil +} + +// 章节奖励领取 +type LinestoryReceiveReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChapterId int32 `protobuf:"varint,1,opt,name=chapterId,proto3" json:"chapterId"` +} + +func (x *LinestoryReceiveReq) Reset() { + *x = LinestoryReceiveReq{} + if protoimpl.UnsafeEnabled { + mi := &file_linestory_linestory_msg_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LinestoryReceiveReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LinestoryReceiveReq) ProtoMessage() {} + +func (x *LinestoryReceiveReq) ProtoReflect() protoreflect.Message { + mi := &file_linestory_linestory_msg_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LinestoryReceiveReq.ProtoReflect.Descriptor instead. +func (*LinestoryReceiveReq) Descriptor() ([]byte, []int) { + return file_linestory_linestory_msg_proto_rawDescGZIP(), []int{4} +} + +func (x *LinestoryReceiveReq) GetChapterId() int32 { + if x != nil { + return x.ChapterId } return 0 } -func (x *LinestoryDotaskResp) GetSubtaskId() int32 { - if x != nil { - return x.SubtaskId - } - return 0 +type LinestoryReceiveResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChapterId int32 `protobuf:"varint,1,opt,name=chapterId,proto3" json:"chapterId"` } -func (x *LinestoryDotaskResp) GetResetTaskId() int32 { +func (x *LinestoryReceiveResp) Reset() { + *x = LinestoryReceiveResp{} + if protoimpl.UnsafeEnabled { + mi := &file_linestory_linestory_msg_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LinestoryReceiveResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LinestoryReceiveResp) ProtoMessage() {} + +func (x *LinestoryReceiveResp) ProtoReflect() protoreflect.Message { + mi := &file_linestory_linestory_msg_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LinestoryReceiveResp.ProtoReflect.Descriptor instead. +func (*LinestoryReceiveResp) Descriptor() ([]byte, []int) { + return file_linestory_linestory_msg_proto_rawDescGZIP(), []int{5} +} + +func (x *LinestoryReceiveResp) GetChapterId() int32 { if x != nil { - return x.ResetTaskId + return x.ChapterId } return 0 } @@ -246,27 +300,36 @@ var File_linestory_linestory_msg_proto protoreflect.FileDescriptor var file_linestory_linestory_msg_proto_rawDesc = []byte{ 0x0a, 0x1d, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6c, 0x69, 0x6e, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x27, 0x0a, 0x11, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6a, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x6a, 0x71, 0x49, 0x64, 0x22, 0x42, 0x0a, 0x12, 0x4c, 0x69, 0x6e, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, - 0x0a, 0x04, 0x6a, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6a, 0x71, - 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x22, 0x4a, 0x0a, 0x12, - 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x73, 0x6b, 0x52, - 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, - 0x62, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, - 0x75, 0x62, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x6d, 0x0a, 0x13, 0x4c, 0x69, 0x6e, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x74, 0x61, - 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x75, 0x62, 0x74, - 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x74, 0x54, 0x61, - 0x73, 0x6b, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1c, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6c, 0x69, 0x6e, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x15, 0x0a, + 0x13, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, + 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, + 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x68, + 0x61, 0x70, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, + 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x1a, 0x4c, 0x0a, 0x10, 0x54, 0x61, 0x73, 0x6b, 0x43, + 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x22, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x54, + 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x34, 0x0a, 0x14, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x15, 0x4c, + 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x73, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x61, 0x69, 0x6e, 0x52, 0x04, 0x6c, + 0x69, 0x73, 0x74, 0x22, 0x33, 0x0a, 0x13, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, + 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, + 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x14, 0x4c, 0x69, 0x6e, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x42, 0x06, + 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -281,19 +344,27 @@ func file_linestory_linestory_msg_proto_rawDescGZIP() []byte { return file_linestory_linestory_msg_proto_rawDescData } -var file_linestory_linestory_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_linestory_linestory_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_linestory_linestory_msg_proto_goTypes = []interface{}{ - (*LinestoryStartReq)(nil), // 0: LinestoryStartReq - (*LinestoryStartResp)(nil), // 1: LinestoryStartResp - (*LinestoryDotaskReq)(nil), // 2: LinestoryDotaskReq - (*LinestoryDotaskResp)(nil), // 3: LinestoryDotaskResp + (*LinestoryChapterReq)(nil), // 0: LinestoryChapterReq + (*LinestoryChapterResp)(nil), // 1: LinestoryChapterResp + (*LinestoryMaintaskReq)(nil), // 2: LinestoryMaintaskReq + (*LinestoryMaintaskResp)(nil), // 3: LinestoryMaintaskResp + (*LinestoryReceiveReq)(nil), // 4: LinestoryReceiveReq + (*LinestoryReceiveResp)(nil), // 5: LinestoryReceiveResp + nil, // 6: LinestoryChapterResp.TaskChapterEntry + (*TaskMain)(nil), // 7: TaskMain + (*TaskChapter)(nil), // 8: TaskChapter } var file_linestory_linestory_msg_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name + 6, // 0: LinestoryChapterResp.taskChapter:type_name -> LinestoryChapterResp.TaskChapterEntry + 7, // 1: LinestoryMaintaskResp.list:type_name -> TaskMain + 8, // 2: LinestoryChapterResp.TaskChapterEntry.value:type_name -> TaskChapter + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name } func init() { file_linestory_linestory_msg_proto_init() } @@ -301,9 +372,10 @@ func file_linestory_linestory_msg_proto_init() { if File_linestory_linestory_msg_proto != nil { return } + file_linestory_linestory_db_proto_init() if !protoimpl.UnsafeEnabled { file_linestory_linestory_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinestoryStartReq); i { + switch v := v.(*LinestoryChapterReq); i { case 0: return &v.state case 1: @@ -315,7 +387,7 @@ func file_linestory_linestory_msg_proto_init() { } } file_linestory_linestory_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinestoryStartResp); i { + switch v := v.(*LinestoryChapterResp); i { case 0: return &v.state case 1: @@ -327,7 +399,7 @@ func file_linestory_linestory_msg_proto_init() { } } file_linestory_linestory_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinestoryDotaskReq); i { + switch v := v.(*LinestoryMaintaskReq); i { case 0: return &v.state case 1: @@ -339,7 +411,31 @@ func file_linestory_linestory_msg_proto_init() { } } file_linestory_linestory_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinestoryDotaskResp); i { + switch v := v.(*LinestoryMaintaskResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_linestory_linestory_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LinestoryReceiveReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_linestory_linestory_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LinestoryReceiveResp); i { case 0: return &v.state case 1: @@ -357,7 +453,7 @@ func file_linestory_linestory_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_linestory_linestory_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 4, + NumMessages: 7, NumExtensions: 0, NumServices: 0, }, diff --git a/services/cmd/main.go b/services/cmd/main.go index b9f13b8d5..3d7a90e7e 100644 --- a/services/cmd/main.go +++ b/services/cmd/main.go @@ -100,15 +100,15 @@ func Execute() { //生成配置 func conf() { if config, err := readergmconf(gmpath); err != nil { - log.Error("读取区服配置失败!", log.Field{Key: "err", Value: err}) + log.Error("读取区服配置失败!", log.Fields{"err": err}) } else { if ss, err := rederServiceSttings(config); err != nil { - log.Error("转换服务配置异常!", log.Field{Key: "err", Value: err}) + log.Error("转换服务配置异常!", log.Fields{"err": err}) } else { for _, v := range ss { if sid == "" || fmt.Sprintf("%s_%s", v.Tag, sid) == v.Id { if err = writeServiceConfig(fmt.Sprintf("./conf/%s.yaml", v.Id), v); err != nil { - log.Error("写入配置文件失败!", log.Field{Key: "err", Value: err}) + log.Error("写入配置文件失败!", log.Fields{"err": err}) return } } @@ -120,7 +120,7 @@ func conf() { //启动程序 func start() { if config, err := readergmconf(gmpath); err != nil { - log.Error("读取区服配置失败!", log.Field{Key: "err", Value: err}) + log.Error("读取区服配置失败!", log.Fields{"err": err}) } else { var ( maintes *core.ServiceSttings @@ -128,12 +128,12 @@ func start() { gateways []*core.ServiceSttings = make([]*core.ServiceSttings, 0) ) if ss, err := rederServiceSttings(config); err != nil { - log.Error("转换服务配置异常!", log.Field{Key: "err", Value: err}) + log.Error("转换服务配置异常!", log.Fields{"err": err}) } else { for _, v := range ss { if sid == "" || fmt.Sprintf("%s_%s", v.Tag, sid) == v.Id { if err = writeServiceConfig(fmt.Sprintf("./conf/%s.yaml", v.Id), v); err != nil { - log.Error("写入配置文件失败!", log.Field{Key: "err", Value: err}) + log.Error("写入配置文件失败!", log.Fields{"err": err}) return } switch v.Type { @@ -157,7 +157,7 @@ func start() { //优先启动 维护服 if maintes != nil { if err = startService(maintes); err != nil { - log.Error("启动服务失败!", log.Field{Key: "id", Value: maintes.Id}, log.Field{Key: "err", Value: err}) + log.Error("启动服务失败!", log.Fields{"id": maintes.Id, "err": err}) return } } @@ -166,7 +166,7 @@ func start() { // 业务服 for _, v := range workers { if err = startService(v); err != nil { - log.Error("启动服务失败!", log.Field{Key: "id", Value: v.Id}, log.Field{Key: "err", Value: err}) + log.Error("启动服务失败!", log.Fields{"id": v.Id, "err": err}) return } } @@ -174,7 +174,7 @@ func start() { // 网关服 for _, v := range gateways { if err = startService(v); err != nil { - log.Error("启动服务失败!", log.Field{Key: "id", Value: v.Id}, log.Field{Key: "err", Value: err}) + log.Error("启动服务失败!", log.Fields{"id": v.Id, "err": err}) return } } @@ -184,11 +184,11 @@ func start() { //关闭程序 func stop() { if config, err := readergmconf(gmpath); err != nil { - log.Error("读取区服配置失败!", log.Field{Key: "err", Value: err}) + log.Error("读取区服配置失败!", log.Fields{"err": err}) } else { if ss, err := rederServiceSttings(config); err != nil { - log.Error("转换服务配置异常!", log.Field{Key: "err", Value: err}) + log.Error("转换服务配置异常!", log.Fields{"err": err}) } else { for _, v := range ss { if sid == "" || fmt.Sprintf("%s_%s", v.Tag, sid) == v.Id { @@ -346,12 +346,12 @@ func startService(sseting *core.ServiceSttings) (err error) { err = fmt.Errorf("服务类型异常 stype:%s", sseting.Type) return } - log.Debug("启动外部命令", log.Field{Key: "cmd", Value: command}) + log.Debug("启动外部命令", log.Fields{"cmd": command}) cmd = exec.Command("/bin/bash", "-c", command) if output, err = cmd.CombinedOutput(); err != nil { return } - log.Debug(string(output)) + log.Debugln(string(output)) return } @@ -376,12 +376,12 @@ func stopService(sseting *core.ServiceSttings) (err error) { err = fmt.Errorf("服务类型异常 stype:%s", sseting.Type) return } - log.Debug("启动外部命令", log.Field{Key: "cmd", Value: command}) + log.Debug("启动外部命令", log.Fields{"cmd": command}) cmd = exec.Command("/bin/bash", "-c", command) if output, err = cmd.CombinedOutput(); err != nil { return } - log.Debug(string(output)) + log.Debugln(string(output)) return } diff --git a/services/comp_gateroute.go b/services/comp_gateroute.go index 76655e81d..45119ccc6 100644 --- a/services/comp_gateroute.go +++ b/services/comp_gateroute.go @@ -158,21 +158,13 @@ func (this *SCompGateRoute) ReceiveMsg(ctx context.Context, args *pb.AgentMessag } // log.Errorf("[Handle Api] t:%v m:%s req:%v reply:%v", time.Since(stime), method, msg, reply) log.Error("[Handle Api]", - log.Field{Key: "t", Value: time.Since(stime).Milliseconds()}, - log.Field{Key: "m", Value: method}, - log.Field{Key: "uid", Value: args.UserId}, - log.Field{Key: "req", Value: msg}, - log.Field{Key: "reply", Value: reply.String()}, + log.Fields{"t": time.Since(stime).Milliseconds(), "m": method, "uid": args.UserId, "req": msg, "reply": reply.String()}, ) } else { reply.Reply = session.Polls() // log.Debugf("[Handle Api] t:%v m:%s uid:%s req:%v reply:%v", time.Since(stime), method, args.UserId, msg, reply) log.Debug("[Handle Api]", - log.Field{Key: "t", Value: time.Since(stime).Milliseconds()}, - log.Field{Key: "m", Value: method}, - log.Field{Key: "uid", Value: args.UserId}, - log.Field{Key: "req", Value: msg}, - log.Field{Key: "reply", Value: reply.String()}, + log.Fields{"t": time.Since(stime).Milliseconds(), "m": method, "uid": args.UserId, "req": msg, "reply": reply.String()}, ) } } else { //未找到消息处理函数 diff --git a/services/service_test.go b/services/service_test.go index 7f904b4ad..1fed75c42 100644 --- a/services/service_test.go +++ b/services/service_test.go @@ -13,7 +13,7 @@ type TestData struct { } func (this *TestData) Log() { - sys.Error("妈妈咪呀!") + sys.Errorln("妈妈咪呀!") } var sys log.ISys diff --git a/sys/configure/configure.go b/sys/configure/configure.go index 1b448cfa2..da7fb0e01 100644 --- a/sys/configure/configure.go +++ b/sys/configure/configure.go @@ -210,7 +210,7 @@ func (this *Configure) checkConfigure() { log.Errorln(err) return } - log.Debug("UpDate Configure", log.Field{Key: "table", Value: v.Name}) + log.Debug("UpDate Configure", log.Fields{ "table": v.Name}) for _, v := range handle.events { if v != nil { go func(f func()) { diff --git a/sys/configure/structs/Game.LineStoryChapter.go b/sys/configure/structs/Game.LineStoryChapter.go deleted file mode 100644 index 8dbfa7202..000000000 --- a/sys/configure/structs/Game.LineStoryChapter.go +++ /dev/null @@ -1,42 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -package cfg - -type GameLineStoryChapter struct { - _dataMap map[int32]*GameLineStoryChapterData - _dataList []*GameLineStoryChapterData -} - -func NewGameLineStoryChapter(_buf []map[string]interface{}) (*GameLineStoryChapter, error) { - _dataList := make([]*GameLineStoryChapterData, 0, len(_buf)) - dataMap := make(map[int32]*GameLineStoryChapterData) - for _, _ele_ := range _buf { - if _v, err2 := DeserializeGameLineStoryChapterData(_ele_); err2 != nil { - return nil, err2 - } else { - _dataList = append(_dataList, _v) - dataMap[_v.Id] = _v - } - } - return &GameLineStoryChapter{_dataList:_dataList, _dataMap:dataMap}, nil -} - -func (table *GameLineStoryChapter) GetDataMap() map[int32]*GameLineStoryChapterData { - return table._dataMap -} - -func (table *GameLineStoryChapter) GetDataList() []*GameLineStoryChapterData { - return table._dataList -} - -func (table *GameLineStoryChapter) Get(key int32) *GameLineStoryChapterData { - return table._dataMap[key] -} - - diff --git a/sys/configure/structs/Game.LineStoryChapterData.go b/sys/configure/structs/Game.LineStoryChapterData.go deleted file mode 100644 index 1b2d8a1dc..000000000 --- a/sys/configure/structs/Game.LineStoryChapterData.go +++ /dev/null @@ -1,71 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -package cfg - -import "errors" - -type GameLineStoryChapterData struct { - Id int32 - Stroy int32 - Name string - Cond []int32 - Img string - Taskid []int32 -} - -const TypeId_GameLineStoryChapterData = -1620958734 - -func (*GameLineStoryChapterData) GetTypeId() int32 { - return -1620958734 -} - -func (_v *GameLineStoryChapterData)Deserialize(_buf map[string]interface{}) (err error) { - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["stroy"].(float64); !_ok_ { err = errors.New("stroy error"); return }; _v.Stroy = int32(_tempNum_) } - { var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } } - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["cond"].([]interface{}); !_ok_ { err = errors.New("cond error"); return } - - _v.Cond = make([]int32, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ int32 - { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } - _v.Cond = append(_v.Cond, _list_v_) - } - } - - { var _ok_ bool; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } } - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["taskid"].([]interface{}); !_ok_ { err = errors.New("taskid error"); return } - - _v.Taskid = make([]int32, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ int32 - { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } - _v.Taskid = append(_v.Taskid, _list_v_) - } - } - - return -} - -func DeserializeGameLineStoryChapterData(_buf map[string]interface{}) (*GameLineStoryChapterData, error) { - v := &GameLineStoryChapterData{} - if err := v.Deserialize(_buf); err == nil { - return v, nil - } else { - return nil, err - } -} diff --git a/sys/configure/structs/Game.LineStoryStageTask.go b/sys/configure/structs/Game.LineStoryStageTask.go deleted file mode 100644 index 8e7461550..000000000 --- a/sys/configure/structs/Game.LineStoryStageTask.go +++ /dev/null @@ -1,42 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -package cfg - -type GameLineStoryStageTask struct { - _dataMap map[int32]*GameLineStoryStageTaskData - _dataList []*GameLineStoryStageTaskData -} - -func NewGameLineStoryStageTask(_buf []map[string]interface{}) (*GameLineStoryStageTask, error) { - _dataList := make([]*GameLineStoryStageTaskData, 0, len(_buf)) - dataMap := make(map[int32]*GameLineStoryStageTaskData) - for _, _ele_ := range _buf { - if _v, err2 := DeserializeGameLineStoryStageTaskData(_ele_); err2 != nil { - return nil, err2 - } else { - _dataList = append(_dataList, _v) - dataMap[_v.Id] = _v - } - } - return &GameLineStoryStageTask{_dataList:_dataList, _dataMap:dataMap}, nil -} - -func (table *GameLineStoryStageTask) GetDataMap() map[int32]*GameLineStoryStageTaskData { - return table._dataMap -} - -func (table *GameLineStoryStageTask) GetDataList() []*GameLineStoryStageTaskData { - return table._dataList -} - -func (table *GameLineStoryStageTask) Get(key int32) *GameLineStoryStageTaskData { - return table._dataMap[key] -} - - diff --git a/sys/configure/structs/Game.LineStoryStageTaskData.go b/sys/configure/structs/Game.LineStoryStageTaskData.go deleted file mode 100644 index a5897270e..000000000 --- a/sys/configure/structs/Game.LineStoryStageTaskData.go +++ /dev/null @@ -1,69 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -package cfg - -import "errors" - -type GameLineStoryStageTaskData struct { - Id int32 - PreTId int32 - NextTId int32 - Cond []int32 - Reward []*Gameatn -} - -const TypeId_GameLineStoryStageTaskData = 884678024 - -func (*GameLineStoryStageTaskData) GetTypeId() int32 { - return 884678024 -} - -func (_v *GameLineStoryStageTaskData)Deserialize(_buf map[string]interface{}) (err error) { - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["preTId"].(float64); !_ok_ { err = errors.New("preTId error"); return }; _v.PreTId = int32(_tempNum_) } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["nextTId"].(float64); !_ok_ { err = errors.New("nextTId error"); return }; _v.NextTId = int32(_tempNum_) } - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["cond"].([]interface{}); !_ok_ { err = errors.New("cond error"); return } - - _v.Cond = make([]int32, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ int32 - { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } - _v.Cond = append(_v.Cond, _list_v_) - } - } - - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return } - - _v.Reward = make([]*Gameatn, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ *Gameatn - { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } } - _v.Reward = append(_v.Reward, _list_v_) - } - } - - return -} - -func DeserializeGameLineStoryStageTaskData(_buf map[string]interface{}) (*GameLineStoryStageTaskData, error) { - v := &GameLineStoryStageTaskData{} - if err := v.Deserialize(_buf); err == nil { - return v, nil - } else { - return nil, err - } -} diff --git a/sys/configure/structs/Game.LineStoryTask.go b/sys/configure/structs/Game.LineStoryTask.go deleted file mode 100644 index 4d5863d33..000000000 --- a/sys/configure/structs/Game.LineStoryTask.go +++ /dev/null @@ -1,42 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -package cfg - -type GameLineStoryTask struct { - _dataMap map[int32]*GameLineStoryTaskData - _dataList []*GameLineStoryTaskData -} - -func NewGameLineStoryTask(_buf []map[string]interface{}) (*GameLineStoryTask, error) { - _dataList := make([]*GameLineStoryTaskData, 0, len(_buf)) - dataMap := make(map[int32]*GameLineStoryTaskData) - for _, _ele_ := range _buf { - if _v, err2 := DeserializeGameLineStoryTaskData(_ele_); err2 != nil { - return nil, err2 - } else { - _dataList = append(_dataList, _v) - dataMap[_v.Id] = _v - } - } - return &GameLineStoryTask{_dataList:_dataList, _dataMap:dataMap}, nil -} - -func (table *GameLineStoryTask) GetDataMap() map[int32]*GameLineStoryTaskData { - return table._dataMap -} - -func (table *GameLineStoryTask) GetDataList() []*GameLineStoryTaskData { - return table._dataList -} - -func (table *GameLineStoryTask) Get(key int32) *GameLineStoryTaskData { - return table._dataMap[key] -} - - diff --git a/sys/configure/structs/Game.LineStoryTaskData.go b/sys/configure/structs/Game.LineStoryTaskData.go deleted file mode 100644 index 1076da9f9..000000000 --- a/sys/configure/structs/Game.LineStoryTaskData.go +++ /dev/null @@ -1,73 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -package cfg - -import "errors" - -type GameLineStoryTaskData struct { - Id int32 - PreTId int32 - StageTId []int32 - Reward []*Gameatn - Finish int32 - Ending int32 - Resetto int32 -} - -const TypeId_GameLineStoryTaskData = -2080476076 - -func (*GameLineStoryTaskData) GetTypeId() int32 { - return -2080476076 -} - -func (_v *GameLineStoryTaskData)Deserialize(_buf map[string]interface{}) (err error) { - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["preTId"].(float64); !_ok_ { err = errors.New("preTId error"); return }; _v.PreTId = int32(_tempNum_) } - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["stageTId"].([]interface{}); !_ok_ { err = errors.New("stageTId error"); return } - - _v.StageTId = make([]int32, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ int32 - { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } - _v.StageTId = append(_v.StageTId, _list_v_) - } - } - - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return } - - _v.Reward = make([]*Gameatn, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ *Gameatn - { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } } - _v.Reward = append(_v.Reward, _list_v_) - } - } - - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["finish"].(float64); !_ok_ { err = errors.New("finish error"); return }; _v.Finish = int32(_tempNum_) } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ending"].(float64); !_ok_ { err = errors.New("ending error"); return }; _v.Ending = int32(_tempNum_) } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["resetto"].(float64); !_ok_ { err = errors.New("resetto error"); return }; _v.Resetto = int32(_tempNum_) } - return -} - -func DeserializeGameLineStoryTaskData(_buf map[string]interface{}) (*GameLineStoryTaskData, error) { - v := &GameLineStoryTaskData{} - if err := v.Deserialize(_buf); err == nil { - return v, nil - } else { - return nil, err - } -} diff --git a/sys/configure/structs/Game.LinestoryMainTaskData.go b/sys/configure/structs/Game.LinestoryMainTaskData.go index 097b4d911..e18cc30ca 100644 --- a/sys/configure/structs/Game.LinestoryMainTaskData.go +++ b/sys/configure/structs/Game.LinestoryMainTaskData.go @@ -12,11 +12,10 @@ import "errors" type GameLinestoryMainTaskData struct { Id int32 - ParetnTask int32 + Group int32 SubTask int32 Name string Img string - Reward []*Gameatn Ending int32 Resetto []int32 } @@ -29,24 +28,10 @@ func (*GameLinestoryMainTaskData) GetTypeId() int32 { func (_v *GameLinestoryMainTaskData)Deserialize(_buf map[string]interface{}) (err error) { { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["paretnTask"].(float64); !_ok_ { err = errors.New("paretnTask error"); return }; _v.ParetnTask = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["group"].(float64); !_ok_ { err = errors.New("group error"); return }; _v.Group = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["subTask"].(float64); !_ok_ { err = errors.New("subTask error"); return }; _v.SubTask = int32(_tempNum_) } {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } { var _ok_ bool; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } } - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return } - - _v.Reward = make([]*Gameatn, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ *Gameatn - { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } } - _v.Reward = append(_v.Reward, _list_v_) - } - } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ending"].(float64); !_ok_ { err = errors.New("ending error"); return }; _v.Ending = int32(_tempNum_) } { var _arr_ []interface{} diff --git a/sys/configure/structs/Game.LinestoryTimeLine.go b/sys/configure/structs/Game.LinestoryTimeLine.go index 92aa91e3e..29ff6ddd3 100644 --- a/sys/configure/structs/Game.LinestoryTimeLine.go +++ b/sys/configure/structs/Game.LinestoryTimeLine.go @@ -21,7 +21,7 @@ func NewGameLinestoryTimeLine(_buf []map[string]interface{}) (*GameLinestoryTime return nil, err2 } else { _dataList = append(_dataList, _v) - dataMap[_v.Index] = _v + dataMap[_v.Group] = _v } } return &GameLinestoryTimeLine{_dataList:_dataList, _dataMap:dataMap}, nil diff --git a/sys/configure/structs/Game.LinestoryTimeLineData.go b/sys/configure/structs/Game.LinestoryTimeLineData.go index d87f625ba..1d90940cf 100644 --- a/sys/configure/structs/Game.LinestoryTimeLineData.go +++ b/sys/configure/structs/Game.LinestoryTimeLineData.go @@ -11,7 +11,7 @@ package cfg import "errors" type GameLinestoryTimeLineData struct { - Index int32 + Group int32 NodeIndex int32 Cond []int32 Name string @@ -26,7 +26,7 @@ func (*GameLinestoryTimeLineData) GetTypeId() int32 { } func (_v *GameLinestoryTimeLineData)Deserialize(_buf map[string]interface{}) (err error) { - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["index"].(float64); !_ok_ { err = errors.New("index error"); return }; _v.Index = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["group"].(float64); !_ok_ { err = errors.New("group error"); return }; _v.Group = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["nodeIndex"].(float64); !_ok_ { err = errors.New("nodeIndex error"); return }; _v.NodeIndex = int32(_tempNum_) } { var _arr_ []interface{} diff --git a/sys/db/db.go b/sys/db/db.go index d219d9de3..ed0c534b5 100644 --- a/sys/db/db.go +++ b/sys/db/db.go @@ -71,7 +71,7 @@ func (this *DB) readercrossconf(path string) (err error) { MongodbUrl: cf.LoaclDB.MongodbUrl, MongodbDatabase: cf.LoaclDB.MongodbDatabase, }); err != nil { - log.Error("comment db err!", log.Field{Key: "stag", Value: cf.AreaId}, log.Field{Key: "db", Value: cf.LoaclDB}, log.Field{Key: "err", Value: err}) + log.Error("comment db err!", log.Fields{"stag": cf.AreaId, "db": cf.LoaclDB, "err": err}) return } } else { @@ -84,7 +84,7 @@ func (this *DB) readercrossconf(path string) (err error) { MongodbUrl: v.MongodbUrl, MongodbDatabase: v.MongodbDatabase, }); err != nil { - log.Error("comment db err!", log.Field{Key: "stag", Value: k}, log.Field{Key: "db", Value: v}, log.Field{Key: "err", Value: err}) + log.Error("comment db err!", log.Fields{"stag": k, "db": v, "err": err}) return } } diff --git a/sys/db/dbconn.go b/sys/db/dbconn.go index 25dda297b..d80601fc8 100644 --- a/sys/db/dbconn.go +++ b/sys/db/dbconn.go @@ -28,14 +28,14 @@ func newDBConn(lg log.ILogger, conf DBConfig) (conn *DBConn, err error) { ) } if err != nil { - lg.Error(err.Error(), log.Field{Key: "config", Value: conf}) + lg.Error(err.Error(), log.Fields{"config": conf}) return } if conn.Mgo, err = mgo.NewSys( mgo.SetMongodbUrl(conf.MongodbUrl), mgo.SetMongodbDatabase(conf.MongodbDatabase), ); err != nil { - lg.Error(err.Error(), log.Field{Key: "config", Value: conf}) + lg.Error(err.Error(), log.Fields{"config": conf}) return } go conn.run() diff --git a/sys/db/dbmodel.go b/sys/db/dbmodel.go index bf4d007b9..3be841ff5 100644 --- a/sys/db/dbmodel.go +++ b/sys/db/dbmodel.go @@ -271,7 +271,7 @@ func (this *DBModel) Change(uid string, data map[string]interface{}, opt ...DBOp func (this *DBModel) ChangeList(uid string, _id string, data map[string]interface{}, opt ...DBOption) (err error) { //defer log.Debug("DBModel ChangeList", log.Field{Key: "TableName", Value: this.TableName}, log.Field{Key: "uid", Value: uid}, log.Field{Key: "_id", Value: _id}, log.Field{Key: "data", Value: data}) if err = this.Redis.HMSet(this.ukeylist(uid, _id), data); err != nil { - log.Error("DBModel ChangeList", log.Field{Key: "err", Value: err}) + log.Error("DBModel ChangeList", log.Fields{"err": err}) return } diff --git a/utils/compare.go b/utils/compare.go new file mode 100644 index 000000000..9779f6cc3 --- /dev/null +++ b/utils/compare.go @@ -0,0 +1,38 @@ +package utils + +// 比较切片 比较每个位置的元素 +func ForEqual(x, y []int32) bool { + if len(x) != len(y) { + return false + } + + if (x == nil) != (y == nil) { + return false + } + + for i, v := range x { + if v != y[i] { + return false + } + } + + return true +} + +func ForContainer(x, y []int32) bool { + if len(x) != len(y) { + return false + } + + if (x == nil) != (y == nil) { + return false + } + + for _, v := range x { + if _, ok := Findx(y, v); !ok { + return false + } + } + + return true +} diff --git a/utils/math_test.go b/utils/math_test.go deleted file mode 100644 index d4b585bf7..000000000 --- a/utils/math_test.go +++ /dev/null @@ -1 +0,0 @@ -package utils diff --git a/utils/utils_test.go b/utils/utils_test.go index 85e8735dd..42a04bd06 100644 --- a/utils/utils_test.go +++ b/utils/utils_test.go @@ -76,3 +76,9 @@ func BenchmarkInt32ToString(b *testing.B) { func TestMatrxing(t *testing.T) { utils.MatrixingHour("2022-10-11 00:00:00") } + +func TestCompre(t *testing.T){ + a:=[]int32{1,2,4,5} + b:=[]int32{1,2,4} + fmt.Println(utils.ForContainer(a,b)) +} \ No newline at end of file