diff --git a/bin/json/game_msgdistrib.json b/bin/json/game_msgdistrib.json index f517fd9d0..8f4a883ee 100644 --- a/bin/json/game_msgdistrib.json +++ b/bin/json/game_msgdistrib.json @@ -88,5 +88,17 @@ "open": true, "routrules": "~/worker", "describe": "维京排行榜数据" + }, + { + "msgid": "hunting.ranklist", + "open": true, + "routrules": "~/worker", + "describe": "狩猎排行榜数据" + }, + { + "msgid": "enchant.ranklist", + "open": true, + "routrules": "~/worker", + "describe": "附魔副本排行榜数据" } ] \ No newline at end of file diff --git a/bin/json/game_opencond.json b/bin/json/game_opencond.json index 48dfc4ce0..482e9e382 100644 --- a/bin/json/game_opencond.json +++ b/bin/json/game_opencond.json @@ -1364,5 +1364,31 @@ "text": "功能暂未开启" }, "uiid": 0 + }, + { + "id": "mainline_elite", + "name": { + "key": "num_2031", + "text": "主线关卡-困难" + }, + "main": [ + { + "key": "platlv", + "param": 5 + }, + { + "key": "maxmapid", + "param": 1 + } + ], + "optional": "", + "wkqbx": 0, + "kqbx": 0, + "img": "zc_icon_01", + "prompt": { + "key": "opencond_prompt_mainline_elite", + "text": "功能暂未开启" + }, + "uiid": 0 } ] \ No newline at end of file diff --git a/bin/json/game_worldtask.json b/bin/json/game_worldtask.json index 3eb1ed632..0086d5c1f 100644 --- a/bin/json/game_worldtask.json +++ b/bin/json/game_worldtask.json @@ -1,1733 +1,4 @@ [ - { - "key": 10100, - "lock": 1, - "ontxe": 9999, - "id_after": 0, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 1001 - ], - "completetask": 0, - "auto_accept": 0, - "overtips": 1, - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 100 - } - ] - }, - { - "key": 10101, - "lock": 1, - "ontxe": 10100, - "id_after": 10102, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "邦尼兔组件名入场", - "150" - ], - "getafter_event": [ - 2, - 1002 - ], - "completetask": 0, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10102, - "lock": 1, - "ontxe": 10101, - "id_after": 10103, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "dreamwork_restaurant_01", - "美食馆-波比组件名", - "701" - ], - "getafter_event": [ - 2, - 1003 - ], - "completetask": 171, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10103, - "lock": 1, - "ontxe": 10102, - "id_after": 10104, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "dreamwork_restaurant_01", - "美食馆-波比组件名", - "701" - ], - "getafter_event": [ - 2, - 1051 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10104, - "lock": 1, - "ontxe": 10103, - "id_after": 10105, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "dreamwork_restaurant_01", - "美食馆-波比组件名", - "701" - ], - "getafter_event": [ - 2, - 1005 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 100 - }, - { - "a": "item", - "t": "30001", - "n": 1 - } - ] - }, - { - "key": 10105, - "lock": 1, - "ontxe": 10104, - "id_after": 10106, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 1006 - ], - "completetask": 118, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10106, - "lock": 1, - "ontxe": 10105, - "id_after": 10107, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 1007 - ], - "completetask": 175, - "auto_accept": 1, - "overtips": 1, - "reword": [ - { - "a": "hero", - "t": "24004", - "n": 1 - } - ] - }, - { - "key": 10107, - "lock": 1, - "ontxe": 10106, - "id_after": 10108, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 1008 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10108, - "lock": 1, - "ontxe": 10107, - "id_after": 10109, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 1009 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10109, - "lock": 1, - "ontxe": 10108, - "id_after": 10110, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "戈伯组件名", - "153" - ], - "getafter_event": [ - 2, - 10010 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10110, - "lock": 1, - "ontxe": 10109, - "id_after": 101101, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_smithy_01", - "戈伯铁匠铺组件名", - "703" - ], - "getafter_event": [ - 2, - 10012 - ], - "completetask": 0, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 101101, - "lock": 1, - "ontxe": 10110, - "id_after": 101102, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "黑雾门右屏1", - "153" - ], - "getafter_event": [ - 2, - 101 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101102, - "lock": 1, - "ontxe": 101101, - "id_after": 10111, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "黑雾门右屏1", - "153" - ], - "getafter_event": [ - 5, - 10001 - ], - "completetask": 183, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10111, - "lock": 1, - "ontxe": 101102, - "id_after": 101111, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "男主角铁匠铺出来模型", - "153" - ], - "getafter_event": [ - 2, - 10013 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101111, - "lock": 1, - "ontxe": 10111, - "id_after": 10112, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "黑雾门右屏2", - "153" - ], - "getafter_event": [ - 5, - 10002 - ], - "completetask": 184, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10112, - "lock": 1, - "ontxe": 101111, - "id_after": 10113, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥组件名", - "153" - ], - "getafter_event": [ - 2, - 10099 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10113, - "lock": 1, - "ontxe": 10112, - "id_after": 101131, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_ boundary_02", - "贫嘴驴组件名", - "704" - ], - "getafter_event": [ - 2, - 10014 - ], - "completetask": 0, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 101131, - "lock": 1, - "ontxe": 10113, - "id_after": 101132, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥图书馆外", - "153" - ], - "getafter_event": [ - 2, - 102 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101132, - "lock": 1, - "ontxe": 101131, - "id_after": 10114, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "黑雾门右屏3", - "153" - ], - "getafter_event": [ - 5, - 10003 - ], - "completetask": 185, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10114, - "lock": 1, - "ontxe": 101132, - "id_after": 10115, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "test_library", - "贫嘴驴组件名", - "704" - ], - "getafter_event": [ - 2, - 10015 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10115, - "lock": 1, - "ontxe": 10114, - "id_after": 10116, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_02night", - "瓜哥夜晚组件名", - "153" - ], - "getafter_event": [ - 2, - 10016 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10116, - "lock": 1, - "ontxe": 10115, - "id_after": 10117, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_02night", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10017 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10117, - "lock": 1, - "ontxe": 10116, - "id_after": 10118, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10018 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10118, - "lock": 1, - "ontxe": 10117, - "id_after": 10119, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10019 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10119, - "lock": 1, - "ontxe": 10118, - "id_after": 10120, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥维京区", - "151" - ], - "getafter_event": [ - 2, - 10020 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10120, - "lock": 1, - "ontxe": 10119, - "id_after": 10121, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥维京区", - "151" - ], - "getafter_event": [ - 2, - 10021 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [ - { - "a": "hero", - "t": "24002", - "n": 1 - } - ] - }, - { - "key": 10121, - "lock": 1, - "ontxe": 10120, - "id_after": 101211, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥维京区", - "151" - ], - "getafter_event": [ - 2, - 10022 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101211, - "lock": 1, - "ontxe": 10121, - "id_after": 10122, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "风车黑雾门", - "151" - ], - "getafter_event": [ - 5, - 10004 - ], - "completetask": 186, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10122, - "lock": 1, - "ontxe": 101211, - "id_after": 10123, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥维京区", - "151" - ], - "getafter_event": [ - 2, - 10023 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10123, - "lock": 1, - "ontxe": 10122, - "id_after": 10124, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥维京区", - "151" - ], - "getafter_event": [ - 2, - 10024 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10124, - "lock": 1, - "ontxe": 10123, - "id_after": 101241, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆瓜哥2", - "702" - ], - "getafter_event": [ - 2, - 10025 - ], - "completetask": 0, - "auto_accept": 0, - "overtips": 1, - "reword": [ - { - "a": "hero", - "t": "24003", - "n": 1 - } - ] - }, - { - "key": 101241, - "lock": 1, - "ontxe": 10124, - "id_after": 10125, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "关卡羊1", - "702" - ], - "getafter_event": [ - 5, - 10005 - ], - "completetask": 195, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10125, - "lock": 1, - "ontxe": 101241, - "id_after": 10126, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆瓜哥", - "702" - ], - "getafter_event": [ - 2, - 10026 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10126, - "lock": 1, - "ontxe": 10125, - "id_after": 101261, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆瓜哥", - "702" - ], - "getafter_event": [ - 2, - 10027 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101261, - "lock": 1, - "ontxe": 10126, - "id_after": 10127, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "艾雷特关卡1", - "702" - ], - "getafter_event": [ - 5, - 10006 - ], - "completetask": 196, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10127, - "lock": 1, - "ontxe": 101261, - "id_after": 101271, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆瓜哥", - "702" - ], - "getafter_event": [ - 2, - 10028 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101271, - "lock": 1, - "ontxe": 10127, - "id_after": 10128, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "艾雷特关卡2", - "702" - ], - "getafter_event": [ - 5, - 10007 - ], - "completetask": 197, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10128, - "lock": 1, - "ontxe": 101271, - "id_after": 10129, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆瓜哥", - "702" - ], - "getafter_event": [ - 2, - 10029 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10129, - "lock": 1, - "ontxe": 10128, - "id_after": 10130, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆瓜哥", - "702" - ], - "getafter_event": [ - 2, - 10030 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10130, - "lock": 1, - "ontxe": 10129, - "id_after": 101301, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆瓜哥", - "702" - ], - "getafter_event": [ - 2, - 10031 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101301, - "lock": 1, - "ontxe": 10130, - "id_after": 10131, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆黑门2", - "702" - ], - "getafter_event": [ - 5, - 10007 - ], - "completetask": 201, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10131, - "lock": 1, - "ontxe": 101301, - "id_after": 10132, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥维京区", - "151" - ], - "getafter_event": [ - 2, - 10033 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10132, - "lock": 1, - "ontxe": 10131, - "id_after": 10133, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10034 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10133, - "lock": 1, - "ontxe": 10132, - "id_after": 10134, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10035 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10134, - "lock": 1, - "ontxe": 10133, - "id_after": 10135, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10036 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10135, - "lock": 1, - "ontxe": 10134, - "id_after": 10136, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10037 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10136, - "lock": 1, - "ontxe": 10135, - "id_after": 10137, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10038 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10137, - "lock": 1, - "ontxe": 10136, - "id_after": 10138, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆阿宝", - "702" - ], - "getafter_event": [ - 2, - 10039 - ], - "completetask": 179, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10138, - "lock": 1, - "ontxe": 10137, - "id_after": 10139, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆阿宝", - "702" - ], - "getafter_event": [ - 2, - 10040 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10139, - "lock": 1, - "ontxe": 10138, - "id_after": 10140, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10041 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10140, - "lock": 1, - "ontxe": 10139, - "id_after": 10141, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10042 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10141, - "lock": 1, - "ontxe": 10140, - "id_after": 101141, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10043 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101141, - "lock": 1, - "ontxe": 10141, - "id_after": 10142, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01", - "现代区黑雾门", - "152" - ], - "getafter_event": [ - 5, - 10007 - ], - "completetask": 202, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10142, - "lock": 1, - "ontxe": 101141, - "id_after": 10143, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10044 - ], - "completetask": 181, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10143, - "lock": 1, - "ontxe": 10142, - "id_after": 10144, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10045 - ], - "completetask": 182, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10144, - "lock": 1, - "ontxe": 10143, - "id_after": 10145, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10046 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10145, - "lock": 1, - "ontxe": 10144, - "id_after": 10146, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10047 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10146, - "lock": 1, - "ontxe": 10145, - "id_after": 10147, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10048 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10147, - "lock": 1, - "ontxe": 10146, - "id_after": 10148, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "波比组件名", - "704" - ], - "getafter_event": [ - 2, - 10049 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10148, - "lock": 1, - "ontxe": 10147, - "id_after": 10149, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "波比组件名", - "704" - ], - "getafter_event": [ - 2, - 10050 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10149, - "lock": 1, - "ontxe": 10148, - "id_after": 10150, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "波比组件名", - "704" - ], - "getafter_event": [ - 2, - 10051 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10150, - "lock": 1, - "ontxe": 10149, - "id_after": 10151, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "波比组件名", - "704" - ], - "getafter_event": [ - 2, - 10052 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10151, - "lock": 1, - "ontxe": 10150, - "id_after": 10152, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10053 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10152, - "lock": 1, - "ontxe": 10151, - "id_after": 10153, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10054 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10153, - "lock": 1, - "ontxe": 10152, - "id_after": 10154, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10055 - ], - "completetask": 0, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10154, - "lock": 1, - "ontxe": 10153, - "id_after": 10155, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10056 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10155, - "lock": 1, - "ontxe": 10154, - "id_after": 10156, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10057 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10156, - "lock": 1, - "ontxe": 10155, - "id_after": 10157, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10058 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10157, - "lock": 1, - "ontxe": 10156, - "id_after": 10158, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10059 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10158, - "lock": 1, - "ontxe": 10157, - "id_after": 10159, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10060 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10159, - "lock": 1, - "ontxe": 10158, - "id_after": 10160, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10061 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10160, - "lock": 1, - "ontxe": 10159, - "id_after": 10161, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10062 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10161, - "lock": 1, - "ontxe": 10160, - "id_after": 10162, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10063 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10162, - "lock": 1, - "ontxe": 10161, - "id_after": 10163, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10064 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10163, - "lock": 1, - "ontxe": 10162, - "id_after": 10164, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10065 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10164, - "lock": 1, - "ontxe": 10163, - "id_after": 10165, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10066 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10165, - "lock": 1, - "ontxe": 10164, - "id_after": 0, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10067 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, { "key": 30001, "lock": 1, @@ -1974,7 +245,7 @@ "key": 20010, "lock": 1, "ontxe": 0, - "id_after": 20020, + "id_after": 20011, "group": 2, "des": 2, "icon": "", @@ -1988,7 +259,7 @@ 401 ], "completetask": 0, - "auto_accept": 0, + "auto_accept": 1, "overtips": 1, "reword": [ { @@ -1999,9 +270,31 @@ ] }, { - "key": 20020, + "key": 20011, "lock": 1, "ontxe": 20010, + "id_after": 20020, + "group": 2, + "des": 2, + "icon": "", + "npc": [ + "scenes_boundary_01_recordtask", + "0新手引导-杰克-中轴城", + "150" + ], + "getafter_event": [ + 2, + 402 + ], + "completetask": 0, + "auto_accept": 0, + "overtips": 0, + "reword": [] + }, + { + "key": 20020, + "lock": 1, + "ontxe": 20011, "id_after": 20030, "group": 2, "des": 2, @@ -2013,7 +306,7 @@ ], "getafter_event": [ 2, - 401 + 403 ], "completetask": 0, "auto_accept": 0, @@ -2106,7 +399,13 @@ "completetask": 0, "auto_accept": 0, "overtips": 1, - "reword": [] + "reword": [ + { + "a": "hero", + "t": "14003", + "n": 1 + } + ] }, { "key": 20070, @@ -2145,7 +444,7 @@ ], "getafter_event": [ 2, - 411 + 422 ], "completetask": 0, "auto_accept": 0, @@ -2162,14 +461,14 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "新手引导-瓜哥-右屏圣树", "153" ], "getafter_event": [ 2, - 411 + 412 ], - "completetask": 0, + "completetask": 174, "auto_accept": 0, "overtips": 1, "reword": [] @@ -2184,15 +483,15 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "新手引导-瓜哥-右屏圣树", "153" ], "getafter_event": [ 2, - 411 + 413 ], "completetask": 0, - "auto_accept": 0, + "auto_accept": 1, "overtips": 1, "reword": [] }, @@ -2206,14 +505,14 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "新手引导-圣树下的黑洞", "153" ], "getafter_event": [ - 2, - 411 + 5, + 10008 ], - "completetask": 0, + "completetask": 198, "auto_accept": 0, "overtips": 1, "reword": [] @@ -2228,12 +527,12 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "新手引导-圣树下的犀牛守卫", "153" ], "getafter_event": [ 2, - 411 + 416 ], "completetask": 0, "auto_accept": 0, @@ -2255,7 +554,7 @@ ], "getafter_event": [ 2, - 411 + 420 ], "completetask": 0, "auto_accept": 0, @@ -2272,12 +571,12 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "0新手引导-杰克-中轴城", "153" ], "getafter_event": [ 2, - 411 + 422 ], "completetask": 0, "auto_accept": 0, @@ -2294,14 +593,14 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "0新手引导-杰克-中轴城", "153" ], "getafter_event": [ 2, - 411 + 423 ], - "completetask": 0, + "completetask": 118, "auto_accept": 0, "overtips": 1, "reword": [] @@ -2316,12 +615,12 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "新手引导-布兰奇-中轴城", "153" ], "getafter_event": [ 2, - 411 + 425 ], "completetask": 0, "auto_accept": 0, @@ -2338,12 +637,12 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "0新手引导-杰克-中轴城", "153" ], "getafter_event": [ 2, - 411 + 426 ], "completetask": 0, "auto_accept": 0, @@ -2365,7 +664,7 @@ ], "getafter_event": [ 2, - 411 + 427 ], "completetask": 0, "auto_accept": 0, diff --git a/cmd/v2/lib/common/utils.go b/cmd/v2/lib/common/utils.go index 32031cdfe..cbe4c50b0 100644 --- a/cmd/v2/lib/common/utils.go +++ b/cmd/v2/lib/common/utils.go @@ -234,3 +234,10 @@ func FormatFloatCeil(num float64, decimal int) (float64, error) { res := strconv.FormatFloat(math.Ceil(num*d)/d, 'f', -1, 64) return strconv.ParseFloat(res, 64) } + +func LastChars(str string, count int) string { + if len(str) <= count { + return str + } + return str[len(str)-count:] +} \ No newline at end of file diff --git a/cmd/v2/lib/common/utils_test.go b/cmd/v2/lib/common/utils_test.go index 180d48755..65744275c 100644 --- a/cmd/v2/lib/common/utils_test.go +++ b/cmd/v2/lib/common/utils_test.go @@ -59,3 +59,7 @@ func TestDiv(t *testing.T) { num, _ = FormatFloatFloor(0.2295, 2) fmt.Println(reflect.TypeOf(num), num) } + +func TestSub(t *testing.T){ + fmt.Println(LastChars("23af2", 6)) +} \ No newline at end of file diff --git a/cmd/v2/ui/protocol.go b/cmd/v2/ui/protocol.go index d0cbfd3d1..4ffc79776 100644 --- a/cmd/v2/ui/protocol.go +++ b/cmd/v2/ui/protocol.go @@ -112,7 +112,7 @@ var ( ff(comm.ModuleRtask, rtask.RtaskSubTypeGetrecord): &formview.RtaskRecordView{}, // linestory ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter): &formview.LinestoryMineView{}, - ff(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp): &formview.FetterstoryView{}, + ff(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp): &formview.FetterstoryView{}, // gourmet ff(comm.ModuleGourmet, "getranduser"): &formview.GourmentGetRandView{}, // sociaty @@ -121,6 +121,7 @@ var ( ff(comm.ModuleSociaty, sociaty.SociatySubTypeMine): &formview.SociatyMineView{}, ff(comm.ModuleSociaty, sociaty.SociatySubTypeTasklist): &formview.SociatyTasklistView{}, ff(comm.ModuleSociaty, sociaty.SociatySubTypeRank): &formview.SociatyRankView{}, + ff(comm.ModuleSociaty, "boss"): &formview.SociatyBossView{}, // troll ff(comm.ModuleTroll, "getlist"): &formview.TrollGetlistView{}, // growtask @@ -248,6 +249,7 @@ var ( ff(comm.ModuleSociaty, sociaty.SociatySubTypeMine), ff(comm.ModuleSociaty, sociaty.SociatySubTypeTasklist), ff(comm.ModuleSociaty, sociaty.SociatySubTypeRank), + ff(comm.ModuleSociaty, "boss"), }, "troll": { ff(comm.ModuleTroll, "getlist"), @@ -894,6 +896,13 @@ var ( SubType: sociaty.SociatySubTypeRank, Enabled: true, }, + ff(comm.ModuleSociaty, "boss"): { + NavLabel: "BOSS", + Desc: "BOSS", + MainType: string(comm.ModuleSociaty), + SubType: "boss", + Enabled: true, + }, //troll string(comm.ModuleTroll): { NavLabel: "巨兽", diff --git a/cmd/v2/ui/views/hero_list.go b/cmd/v2/ui/views/hero_list.go index 4cc46dc20..e2c6d5ce8 100644 --- a/cmd/v2/ui/views/hero_list.go +++ b/cmd/v2/ui/views/hero_list.go @@ -45,11 +45,11 @@ func (this *HeroListView) CreateView(t *model.TestCase) fyne.CanvasObject { buttonBar := container.NewHBox(refreshBtn) c := container.NewBorder(buttonBar, nil, nil, nil, this.itemList.ItemList) - this.dataListener() + this.DataListener() return c } -func (this *HeroListView) dataListener() { +func (this *HeroListView) DataListener() { if this.flag { return } diff --git a/cmd/v2/ui/views/sociaty_boss.go b/cmd/v2/ui/views/sociaty_boss.go new file mode 100644 index 000000000..636fe5994 --- /dev/null +++ b/cmd/v2/ui/views/sociaty_boss.go @@ -0,0 +1,244 @@ +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/hero" + "go_dreamfactory/modules/sociaty" + "go_dreamfactory/pb" + + "fyne.io/fyne/v2" + "fyne.io/fyne/v2/container" + "fyne.io/fyne/v2/dialog" + "fyne.io/fyne/v2/widget" + "github.com/sirupsen/logrus" +) + +type SociatyBossView struct { + BaseformView + + itemList common.ItemList + heroListFlag bool + teamFlag bool + heroList func() + sociatyId string + teams map[int32]*pb.ChallengeTeams +} + +func (s *SociatyBossView) CreateView(t *model.TestCase) fyne.CanvasObject { + s.teams = make(map[int32]*pb.ChallengeTeams) + + loadSociaty := func() { + if err := service.GetPttService().SendToClient( + t.MainType, + sociaty.SociatySubTypeMine, + &pb.SociatyMineReq{}, + ); err != nil { + logrus.Error(err) + return + } + } + defer loadSociaty() + + buzhenBtn := widget.NewButton("布阵", s.buzhen) + challengeBtn := widget.NewButton("挑战", s.challenge) + btns := container.NewHBox(buzhenBtn, challengeBtn) + c := container.NewBorder(btns, nil, nil, nil) + + s.listenTeams() + return c +} + +//加载team数据 +func (s *SociatyBossView) listenTeams() { + if s.teamFlag { + return + } + s.obs.AddListener(observer.EVENT_REQ_RSP, observer.Listener{ + OnNotify: func(d interface{}, args ...interface{}) { + data := d.(*pb.UserMessage) + if !(data.MainType == string(comm.ModuleSociaty) && + data.SubType == sociaty.SociatySubTypeMine) { + return + } + rsp := &pb.SociatyMineResp{} + + if !comm.ProtoUnmarshal(data, rsp) { + logrus.Error("unmarshal err") + return + } + + if rsp.Sociaty != nil { + s.sociatyId = rsp.Sociaty.Id + s.teams = rsp.Teams + } + + }, + }) + s.teamFlag = true +} + +// 挑战 +func (s *SociatyBossView) challenge() { + +} + +//布阵 +func (s *SociatyBossView) buzhen() { + //英雄列表 + s.itemList = *common.NewItemList() + s.itemList.ItemList = s.itemList.CreateDefaultCheckList() + + s.heroList = func() { + if err := service.GetPttService().SendToClient(string(comm.ModuleHero), "list", &pb.HeroListReq{}); err != nil { + logrus.Error(err) + return + } + } + defer s.heroList() + s.HeroDataListener() + + //队伍数据 + + addHero1 := widget.NewButton("添加至一队", nil) + addHero2 := widget.NewButton("添加至二队", nil) + addHero3 := widget.NewButton("添加至三队", nil) + saveBuzhen := widget.NewButton("保存布阵", nil) + + btns := container.NewHBox(addHero1, addHero2, addHero3, saveBuzhen) + content := container.NewGridWithRows(3) + team1 := container.NewGridWithColumns(5) + //refresh team1 + team1Box := container.NewHBox(widget.NewLabel("一队:"), team1) + if t, ok := s.teams[1]; ok { + for _, i := range t.Infos { + team1.AddObject(widget.NewLabel(common.LastChars(i.HeroId, 4))) + } + } + + team2 := container.NewGridWithColumns(5) + team2Box := container.NewHBox(widget.NewLabel("二队:"), team2) + team3 := container.NewGridWithColumns(5) + team3Box := container.NewHBox(widget.NewLabel("三队:"), team3) + + content.AddObject(team1Box) + content.AddObject(team2Box) + content.AddObject(team3Box) + + // 添加一队英雄 + addHero1.OnTapped = func() { + team1 = container.NewGridWithColumns(5) + if t, ok := s.teams[1]; ok { + for _, i := range t.Infos { + team1.AddObject(widget.NewLabel(common.LastChars(i.HeroId, 4))) + } + } + teams := []*pb.ChallengeTeamInfo{} + for _, id := range s.itemList.SelItemIds { + team1.AddObject(widget.NewLabel(common.LastChars(id, 4))) + teams = append(teams, &pb.ChallengeTeamInfo{ + HeroId: id, + }) + } + if s.teams == nil { + s.teams = make(map[int32]*pb.ChallengeTeams) + } + s.teams[1] = &pb.ChallengeTeams{Infos: teams} + } + + // 添加二队英雄 + addHero2.OnTapped = func() { + team2 = container.NewGridWithColumns(5) + if t, ok := s.teams[2]; ok { + for _, i := range t.Infos { + team2.AddObject(widget.NewLabel(common.LastChars(i.HeroId, 4))) + } + } + teams := []*pb.ChallengeTeamInfo{} + for _, id := range s.itemList.SelItemIds { + team2.AddObject(widget.NewLabel(common.LastChars(id, 4))) + teams = append(teams, &pb.ChallengeTeamInfo{ + HeroId: id, + }) + } + if s.teams == nil { + s.teams = make(map[int32]*pb.ChallengeTeams) + } + s.teams[2] = &pb.ChallengeTeams{Infos: teams} + } + + // 添加三队英雄 + addHero3.OnTapped = func() { + team3 = container.NewGridWithColumns(5) + if t, ok := s.teams[3]; ok { + for _, i := range t.Infos { + team3.AddObject(widget.NewLabel(common.LastChars(i.HeroId, 4))) + } + } + teams := []*pb.ChallengeTeamInfo{} + for _, id := range s.itemList.SelItemIds { + team3.AddObject(widget.NewLabel(common.LastChars(id, 4))) + teams = append(teams, &pb.ChallengeTeamInfo{ + HeroId: id, + }) + } + if s.teams == nil { + s.teams = make(map[int32]*pb.ChallengeTeams) + } + s.teams[3] = &pb.ChallengeTeams{Infos: teams} + } + + // 保存阵容 + saveBuzhen.OnTapped = func() { + if err := service.GetPttService().SendToClient(string(comm.ModuleSociaty), + sociaty.SociatySubTypeFormation, &pb.SociatyBFormationReq{ + SociatyId: s.sociatyId, + Teams: s.teams, + }); err != nil { + logrus.Error(err) + return + } + } + + split := container.NewHSplit(s.itemList.ItemList, content) + split.Offset = 0.55 + layout := container.NewBorder(btns, nil, nil, nil, split) + dconf := dialog.NewCustom("布阵", "关闭", layout, s.w) + dconf.Resize(fyne.NewSize(800, 500)) + dconf.Show() +} + +func (this *SociatyBossView) HeroDataListener() { + if this.heroListFlag { + 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.ModuleHero) && + data.SubType == hero.HeroSubTypeList) { + return + } + rsp := &pb.HeroListResp{} + + if !comm.ProtoUnmarshal(data, rsp) { + logrus.Error("unmarshal err") + return + } + + for i, v := range rsp.List { + item := common.Item{ + Id: v.Id, + Text: fmt.Sprintf("%d ID:%v Star:%d Lv:%d Type:%d Count:%d", + i+1, v.HeroID, v.Star, v.Lv, v.CardType, v.SameCount), + } + this.itemList.AddItem(item) + } + }, + }) + this.heroListFlag = true +} diff --git a/cmd/v2/ui/views/task_activelist.go b/cmd/v2/ui/views/task_activelist.go index 7005fd3d5..8e4f9b759 100644 --- a/cmd/v2/ui/views/task_activelist.go +++ b/cmd/v2/ui/views/task_activelist.go @@ -38,6 +38,7 @@ func (this *TaskActiveListView) CreateView(t *model.TestCase) fyne.CanvasObject // task active list button taskListBtn := widget.NewButtonWithIcon("活跃度", theme.ConfirmIcon(), func() { + this.itemList.Reset() if err := service.GetPttService().SendToClient(t.MainType, t.SubType, &pb.TaskActiveListReq{ TaskTag: cast.ToInt32(tagSelect.Selected), }); err != nil { diff --git a/comm/const.go b/comm/const.go index 9603a2d1c..11076b185 100644 --- a/comm/const.go +++ b/comm/const.go @@ -183,6 +183,8 @@ const ( TableSociatyTask = "sociatytask" // 公会日志 TableSociatyLog = "sociatylog" + // 公会BOSS + TableSociatyBoss = "sociatybsoss" ///充值数据表 TablePay = "payorder" diff --git a/modules/enchant/api_buy.go b/modules/enchant/api_buy.go index f7d956e63..e13129d37 100644 --- a/modules/enchant/api_buy.go +++ b/modules/enchant/api_buy.go @@ -3,9 +3,6 @@ package enchant import ( "go_dreamfactory/comm" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" - cfg "go_dreamfactory/sys/configure/structs" - "go_dreamfactory/utils" "google.golang.org/protobuf/proto" ) @@ -19,119 +16,9 @@ func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.EnchantBuyReq) return } +// 协议废除 走通用购买逻辑 func (this *apiComp) Buy(session comm.IUserSession, req *pb.EnchantBuyReq) (code pb.ErrorCode, data proto.Message) { - var ( - curByCount int32 - costRes *cfg.Gameatn // 门票atn 类型 只取T - mapData map[string]interface{} - szCostRes []*cfg.Gameatn // 购买累计消耗 - curCount int32 // 当前门票数量 - addCount int32 //获得数量 - ) - mapData = make(map[string]interface{}, 0) - code = this.BuyCheck(session, req) - if code != pb.ErrorCode_Success { - return // 参数校验失败直接返回 - } - list, err := this.module.modelEnchant.getEnchantList(session.GetUserId()) - if err != nil { - code = pb.ErrorCode_DBError - return - } - // 校验是不是今天 - if !utils.IsToday(list.CTime) { - list.CTime = configure.Now().Unix() - list.BuyCount = 0 - mapData["cTime"] = list.CTime - mapData["buyCount"] = list.BuyCount - } else { - curByCount = list.BuyCount - } - curByCount += req.Count // 当前需要购买的数量 - if this.configure.GetMaxBuyChallengeCount() < curByCount { - code = pb.ErrorCode_EnchantBuyMaxCount - return - } - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - costRes = conf.EnchantbossCos - if costRes == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 - curCount = amount - if amount < conf.EnchantbossMax { - if list.RecoveryTime == 0 { - list.RecoveryTime = configure.Now().Unix() - } - for { // 计算恢复时间 - if list.RecoveryTime+int64(conf.EnchantbossRecovery*60) <= configure.Now().Unix() { - curCount++ - list.RecoveryTime += int64(conf.EnchantbossRecovery * 60) - if curCount >= conf.EnchantbossMax { - list.RecoveryTime = 0 - break - } - } else { - break - } - } - if curCount-amount > 0 { - addCount = curCount - amount - } - } else { - list.RecoveryTime = 0 - } - addCount += req.Count - if amount+addCount > conf.EnchantbossMax { - code = pb.ErrorCode_EnchantBuyMaxCount - return - } - mapData["recoveryTime"] = list.RecoveryTime - - for i := list.BuyCount + 1; i <= curByCount; i++ { - _cfg := this.configure.GetBuyChallengeCount(i) - if _cfg == nil { - code = pb.ErrorCode_EnchantBuyMaxCount - return - } - szCostRes = append(szCostRes, _cfg.Need...) - } - sz := make([]*cfg.Gameatn, 0) - for _, v := range szCostRes { - bFound := false - for _, v1 := range sz { - if v.A == v1.A && v.T == v1.T { - v1.N += v.N - bFound = true - break - } - } - if !bFound { - sz = append(sz, v) - } - } - //消耗 - if code = this.module.ConsumeRes(session, sz, true); code != pb.ErrorCode_Success { - return - } - res := &cfg.Gameatn{ - A: "item", - T: costRes.T, - N: addCount, - } - if code = this.module.DispenseRes(session, []*cfg.Gameatn{res}, true); code != pb.ErrorCode_Success { - return - } - list.BuyCount = curByCount - mapData["buyCount"] = curByCount - code = this.module.ModifyEnchantData(session.GetUserId(), mapData) - - session.SendMsg(string(this.module.GetType()), EnchantBuyResp, &pb.EnchantBuyResp{Data: list}) + session.SendMsg(string(this.module.GetType()), EnchantBuyResp, &pb.EnchantBuyResp{}) return } diff --git a/modules/enchant/api_challenge.go b/modules/enchant/api_challenge.go index cac07b4cd..544019ec5 100644 --- a/modules/enchant/api_challenge.go +++ b/modules/enchant/api_challenge.go @@ -3,7 +3,6 @@ package enchant import ( "go_dreamfactory/comm" "go_dreamfactory/pb" - cfg "go_dreamfactory/sys/configure/structs" "google.golang.org/protobuf/proto" ) @@ -30,26 +29,21 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.EnchantChallen code = pb.ErrorCode_PagodaNotFound return } - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - costRes := conf.EnchantbossCos - if costRes == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - if code = this.module.CheckRes(session, []*cfg.Gameatn{costRes}); code != pb.ErrorCode_Success { - code = pb.ErrorCode_EnchantNoChallengeCount - return - } cfgData := this.module.configure.GetEnchantBossConfigData(req.BossType) if cfgData == nil { code = pb.ErrorCode_ConfigNoFound return } + if len(cfgData) <= 0 { + code = pb.ErrorCode_ConfigNoFound + return + } + if code = this.module.CheckRes(session, cfgData[0].PsConsume); code != pb.ErrorCode_Success { + + code = pb.ErrorCode_ItemsNoEnough + return + } _, ok := enchant.Boss[req.BossType] if !ok { // 类型校验 enchant.Boss[req.BossType] = 0 diff --git a/modules/enchant/api_challengeover.go b/modules/enchant/api_challengeover.go index 85db026b8..a1aa44f30 100644 --- a/modules/enchant/api_challengeover.go +++ b/modules/enchant/api_challengeover.go @@ -3,8 +3,6 @@ package enchant import ( "go_dreamfactory/comm" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" - cfg "go_dreamfactory/sys/configure/structs" "google.golang.org/protobuf/proto" ) @@ -37,21 +35,6 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.EnchantCha code = pb.ErrorCode_PagodaNotFound return } - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - costRes := conf.EnchantbossCos - if costRes == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - - if code = this.module.CheckRes(session, []*cfg.Gameatn{costRes}); code != pb.ErrorCode_Success { - code = pb.ErrorCode_EnchantNoChallengeCount - return - } cfgEnchant := this.module.configure.GetEnchantBossConfigData(req.BossType) if cfgEnchant == nil { @@ -59,25 +42,30 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.EnchantCha return } - // 校验门票数量够不够 - if code = this.module.ConsumeRes(session, []*cfg.Gameatn{costRes}, true); code != pb.ErrorCode_Success { - return - } // check code, bWin = this.module.battle.CheckBattleReport(session, req.Report) if code != pb.ErrorCode_Success { return } - amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 - - if amount < conf.EnchantbossMax { // 挑战卷 小于副本最大存储数的时候开始恢复 - enchant.RecoveryTime = configure.Now().Unix() - mapData["recoveryTime"] = enchant.RecoveryTime + if !bWin { // 战斗失败了 直接返回 + if code = this.module.ConsumeRes(session, cfgEnchant[0].PsMg, true); code != pb.ErrorCode_Success { + return + } + session.SendMsg(string(this.module.GetType()), EnchantChallengeOverResp, &pb.EnchantChallengeOverResp{Data: enchant}) + return } - if bWin { - this.module.CheckRank(session.GetUserId(), req.BossType, enchant, req.Report, req.Score) + if code = this.module.ConsumeRes(session, cfgEnchant[0].PsConsume, true); code != pb.ErrorCode_Success { + return } + key := req.BossType + if enchant.BossTime[key] > req.Report.Costtime || enchant.BossTime[key] == 0 { + enchant.BossTime[key] = req.Report.Costtime + mapData["bossTime"] = enchant.BossTime // 更新时间 + userinfo := this.module.ModuleUser.GetUser(session.GetUserId()) + this.module.CheckRank(session.GetUserId(), req.BossType, req.Report, userinfo, req.Score) + } + //this.module.CheckRank(session.GetUserId(), req.BossType, enchant, req.Report, req.Score) enchant.Boss[req.BossType] = req.Score // 获得的积分 // 发放通关随机奖励 for _, v := range cfgEnchant { @@ -94,6 +82,11 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.EnchantCha mapData["bossTime"] = enchant.BossTime mapData["boss"] = enchant.Boss code = this.module.ModifyEnchantData(session.GetUserId(), mapData) + if session.GetUserId() != "" { // 恢复时间 + if userexpand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId()); err == nil { + enchant.RecoveryTime = userexpand.Recovertimeunifiedticket + } + } session.SendMsg(string(this.module.GetType()), EnchantChallengeOverResp, &pb.EnchantChallengeOverResp{Data: enchant}) return diff --git a/modules/enchant/api_getlist.go b/modules/enchant/api_getlist.go index 25b202d74..2c28f8228 100644 --- a/modules/enchant/api_getlist.go +++ b/modules/enchant/api_getlist.go @@ -4,9 +4,6 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/mgo" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" - cfg "go_dreamfactory/sys/configure/structs" - "go_dreamfactory/utils" "go.mongodb.org/mongo-driver/bson/primitive" "google.golang.org/protobuf/proto" @@ -19,14 +16,10 @@ func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.EnchantGetL } func (this *apiComp) GetList(session comm.IUserSession, req *pb.EnchantGetListReq) (code pb.ErrorCode, data proto.Message) { - var ( - mapData map[string]interface{} - curCount int32 - ) - mapData = make(map[string]interface{}, 0) - code = this.GetListCheck(session, req) - if code != pb.ErrorCode_Success { - return // 参数校验失败直接返回 + + // 刷新挑战卷 + if code = this.module.ModuleItems.RecoverTicket(session); code != pb.ErrorCode_Success { + return } list, err := this.module.modelEnchant.getEnchantList(session.GetUserId()) @@ -41,81 +34,13 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.EnchantGetListRe for k := range _cfg { list.BossTime[k] = 0 } - this.module.modelEnchant.Add(session.GetUserId(), list) - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - iCont := conf.EnchantbossInitial - atn := conf.EnchantbossCos - if iCont > 0 { - res := &cfg.Gameatn{ - A: atn.A, - T: atn.T, - N: iCont, - } - this.module.DispenseRes(session, []*cfg.Gameatn{res}, true) - } - } else if err != nil { - code = pb.ErrorCode_DBError - return } - // 校验 是不是当天 - if !utils.IsToday(list.CTime) { - list.CTime = configure.Now().Unix() - list.BuyCount = 0 - mapData["cTime"] = list.CTime - mapData["buyCount"] = list.BuyCount - - } - // 检查恢复时间 - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - costRes := conf.EnchantbossCos - if costRes == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 - curCount = amount - if amount < conf.EnchantbossMax { - if list.RecoveryTime == 0 { - list.RecoveryTime = configure.Now().Unix() + if session.GetUserId() != "" { // 恢复时间 + if userexpand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId()); err == nil { + list.RecoveryTime = userexpand.Recovertimeunifiedticket } - for { // 计算恢复时间 - if list.RecoveryTime+int64(conf.EnchantbossRecovery*60) <= configure.Now().Unix() { - curCount++ - list.RecoveryTime += int64(conf.EnchantbossRecovery * 60) - if curCount >= conf.EnchantbossMax { - list.RecoveryTime = 0 - break - } - } else { - break - } - } - - addCount := curCount - amount - if addCount > 0 { - res := &cfg.Gameatn{ - A: "item", - T: costRes.T, - N: addCount, - } - if code = this.module.DispenseRes(session, []*cfg.Gameatn{res}, true); code != pb.ErrorCode_Success { - return - } - } - } else { - list.RecoveryTime = 0 } - mapData["recoveryTime"] = list.RecoveryTime - code = this.module.ModifyEnchantData(session.GetUserId(), mapData) //修改内存信息 session.SendMsg(string(this.module.GetType()), EnchantGetListResp, &pb.EnchantGetListResp{Data: list}) return diff --git a/modules/enchant/api_ranklist.go b/modules/enchant/api_ranklist.go index 11fae6262..fde9690b9 100644 --- a/modules/enchant/api_ranklist.go +++ b/modules/enchant/api_ranklist.go @@ -5,6 +5,7 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/pb" + "go_dreamfactory/sys/db" "strconv" "github.com/go-redis/redis/v8" @@ -26,11 +27,13 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.EnchantRankList if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } + conn, _ := db.Local() + dbModel := db.NewDBModel(comm.TableEnchantRank, 0, conn) if !req.Friend { var ( pipe *pipe.RedisPipe = this.module.modelEnchant.Redis.RedisPipe(context.TODO()) ) - rd = pipe.ZRange("enchantRank"+strconv.Itoa(int(req.BoosType)), 0, -1) + rd = pipe.ZRange("enchantRank"+strconv.Itoa(int(req.BoosType)), 0, comm.MaxRankList) if _, err := pipe.Exec(); err != nil { this.module.Errorln(err) @@ -39,7 +42,8 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.EnchantRankList _dataList := rd.Val() for _, v := range _dataList { result := &pb.DBEnchantRank{} - if err := this.module.modulerank.GetListObj(session.GetUserId(), v, result); err == nil { + + if err := dbModel.Redis.HGetAll(v, result); err == nil { szRank = append(szRank, result) } } diff --git a/modules/enchant/module.go b/modules/enchant/module.go index 205d90282..cd2894d93 100644 --- a/modules/enchant/module.go +++ b/modules/enchant/module.go @@ -1,14 +1,16 @@ package enchant import ( + "context" "go_dreamfactory/comm" "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/modules" "go_dreamfactory/pb" "go_dreamfactory/sys/db" "strconv" - "time" + "github.com/go-redis/redis/v8" "go.mongodb.org/mongo-driver/bson/primitive" ) @@ -76,79 +78,80 @@ func (this *Enchant) CheckUserBaseEnchantInfo(uid string) (data []*pb.DBEnchantR } return } -func (this *Enchant) CheckRank(uid string, boosID int32, Enchant *pb.DBEnchant, report *pb.BattleReport, score int64) { +func (this *Enchant) CheckRank(uid string, boosID int32, report *pb.BattleReport, userinfo *pb.DBUser, score int64) { + conn_, _ := db.Cross() // 获取跨服数据库对象 + + model := db.NewDBModel(comm.TableEnchantRank, 0, conn_) + costTime := report.Costtime - - if Enchant.BossTime[boosID] > costTime || Enchant.BossTime[boosID] == 0 { // 刷新记录 - Enchant.BossTime[boosID] = costTime - szLine := make([]*pb.LineUp, 0) - Leadpos := 0 - if report != nil && report.Info != nil && len(report.Info.Redflist) > 0 { - costTime = report.Costtime - Leadpos = int(report.Info.Redflist[0].Leadpos) - for _, v := range report.Info.Redflist[0].Team { - if v != nil { - szLine = append(szLine, &pb.LineUp{ - Cid: v.HeroID, - Star: v.Star, - Lv: v.Lv, - }) - } + szLine := make([]*pb.LineUp, len(report.Info.Redflist[0].Team)) + Leadpos := 0 + if report != nil && report.Info != nil && len(report.Info.Redflist) > 0 { + costTime = report.Costtime + Leadpos = int(report.Info.Redflist[0].Leadpos) + for _, v := range report.Info.Redflist[0].Team { + if v != nil { + szLine = append(szLine, &pb.LineUp{ + Cid: v.HeroID, + Star: v.Star, + Lv: v.Lv, + }) } } - // 写入排行榜 - objID := "" - bFind := false - ranks := this.modulerank.getEnchantRankList(uid) - for _, v := range ranks { - if v.Bosstype == boosID { - mapRankData := make(map[string]interface{}, 0) - - mapRankData["bosstype"] = boosID - mapRankData["Leadpos"] = Leadpos - mapRankData["line"] = szLine - mapRankData["costTime"] = costTime - mapRankData["score"] = score - conn_, _ := db.Cross() - dbModel := db.NewDBModel(comm.TableEnchantRank, time.Hour, conn_) - dbModel.ChangeList(uid, v.Id, mapRankData) - objID = v.Id - bFind = true - break - } - } - if !bFind { - userinfo := this.ModuleUser.GetUser(uid) - new := &pb.DBEnchantRank{ - Id: primitive.NewObjectID().Hex(), - Uid: uid, - Bosstype: boosID, - Nickname: userinfo.Name, - Lv: userinfo.Lv, - Leadpos: int32(Leadpos), - Line: szLine, - CostTime: costTime, - Score: score, - } - objID = new.Id - conn_, _ := db.Cross() - dbModel := db.NewDBModel(comm.TableEnchantRank, time.Hour, conn_) - dbModel.AddList(uid, new.Id, new) - } - this.modulerank.SetRankListData("EnchantRank"+strconv.Itoa(int(boosID)), score, objID) } -} + // 写入排行榜 + objID := "" + bFind := false + ranks := this.modulerank.getEnchantRankList(uid) + for _, v := range ranks { + if v.Bosstype == boosID { + mapRankData := make(map[string]interface{}, 0) + mapRankData["bosstype"] = boosID + mapRankData["Leadpos"] = Leadpos + mapRankData["line"] = szLine + mapRankData["costTime"] = costTime + mapRankData["score"] = score -//红点查询 -func (this *Enchant) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]bool) { - reddot = make(map[comm.ReddotType]bool) - for _, v := range rid { - switch v { - case comm.Reddot32: - reddot[comm.Reddot32] = this.modelEnchant.checkReddot32(session.GetUserId()) + model.ChangeList(uid, v.Id, mapRankData) + objID = v.Id + bFind = true break - } } - return + if !bFind { + userinfo := this.ModuleUser.GetUser(uid) + new := &pb.DBEnchantRank{ + Id: primitive.NewObjectID().Hex(), + Uid: uid, + Bosstype: boosID, + Nickname: userinfo.Name, + Lv: userinfo.Lv, + Leadpos: int32(Leadpos), + Line: szLine, + CostTime: costTime, + Score: score, + } + objID = new.Id + model.AddList(uid, new.Id, new) + } + var ( + pipe *pipe.RedisPipe = conn_.Redis.RedisPipe(context.TODO()) + menbers *redis.Z + tableName string + ) + tableName = "enchantRank" + strconv.Itoa(int(boosID)) + strKey := "enchantRank:" + uid + "-" + objID + menbers = &redis.Z{Score: float64(costTime), Member: strKey} + + if cmd := pipe.ZAdd(tableName, menbers); cmd != nil { + + dock, err1 := cmd.Result() + if err1 != nil { + this.Errorln(dock, err1) + } + } + if _, err := pipe.Exec(); err != nil { + this.Errorln(err) + return + } } diff --git a/modules/gm/module.go b/modules/gm/module.go index b34bf5d5b..52ce54393 100644 --- a/modules/gm/module.go +++ b/modules/gm/module.go @@ -158,7 +158,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (code pb.ErrorC code = module1.(comm.IHero).GetAllMaxHero(session) this.Debug("使用bingo命令:uid = %s ", log.Field{Key: "uid", Value: session.GetUserId()}, - log.Field{Key: "0", Value: datas[1]}, + log.Field{Key: "0", Value: datas[0]}, ) } else if len(datas) == 2 && (datas[0] == "season") { // 赛季塔跳转 module1, err := this.service.GetModule(comm.ModulePagoda) @@ -193,7 +193,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (code pb.ErrorC code = module1.(comm.IHunting).CompleteAllLevel(session) this.Debug("使用bingo命令:uid = %s ", log.Field{Key: "uid", Value: session.GetUserId()}, - log.Field{Key: "0", Value: datas[1]}) + log.Field{Key: "0", Value: datas[0]}) } else if len(datas) == 3 && (datas[0] == "mainline") { module1, err := this.service.GetModule(comm.ModuleMainline) if err != nil { diff --git a/modules/hunting/api_buy.go b/modules/hunting/api_buy.go index 0951c91e9..5223b29b7 100644 --- a/modules/hunting/api_buy.go +++ b/modules/hunting/api_buy.go @@ -3,9 +3,6 @@ package hunting import ( "go_dreamfactory/comm" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" - cfg "go_dreamfactory/sys/configure/structs" - "go_dreamfactory/utils" "google.golang.org/protobuf/proto" ) @@ -20,121 +17,7 @@ func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.HuntingBuyReq) } func (this *apiComp) Buy(session comm.IUserSession, req *pb.HuntingBuyReq) (code pb.ErrorCode, data proto.Message) { - var ( - curByCount int32 - costRes *cfg.Gameatn // 门票atn 类型 只取T - mapData map[string]interface{} - szCostRes []*cfg.Gameatn // 购买累计消耗 - curCount int32 // 当前门票数量 - addCount int32 //获得数量 - PrivilegeBuyCount int32 // 特权购买次数 - ) - mapData = make(map[string]interface{}, 0) - code = this.BuyCheck(session, req) - if code != pb.ErrorCode_Success { - return // 参数校验失败直接返回 - } - list, err := this.module.modelHunting.getHuntingList(session.GetUserId()) - if err != nil { - code = pb.ErrorCode_DBError - return - } - // 校验是不是今天 - if !utils.IsToday(list.CTime) { - list.CTime = configure.Now().Unix() - list.BuyCount = 0 - mapData["cTime"] = list.CTime - mapData["buyCount"] = list.BuyCount - } else { - curByCount = list.BuyCount - } - - PrivilegeBuyCount = this.module.ModulePrivilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType4) - curByCount += req.Count // 当前需要购买的数量 - if this.configure.GetMaxBuyChallengeCount()+PrivilegeBuyCount < curByCount { - code = pb.ErrorCode_HuntingBuyMaxCount - return - } - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - costRes = conf.HuntingCos - if costRes == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 - curCount = amount - if amount < conf.HuntingNum { - if list.RecoveryTime == 0 { - list.RecoveryTime = configure.Now().Unix() - } - for { // 计算恢复时间 - if list.RecoveryTime+int64(conf.HuntingRecovery*60) <= configure.Now().Unix() { - curCount++ - list.RecoveryTime += int64(conf.HuntingRecovery * 60) - if curCount >= conf.HuntingNum { - list.RecoveryTime = 0 - break - } - } else { - break - } - } - if curCount-amount > 0 { - addCount = curCount - amount - } - } else { - list.RecoveryTime = 0 - } - addCount += req.Count - if amount+addCount > conf.HuntingNum { - code = pb.ErrorCode_HuntingBuyMaxCount - return - } - mapData["recoveryTime"] = list.RecoveryTime - - for i := list.BuyCount + 1; i <= curByCount; i++ { - _cfg := this.configure.GetBuyChallengeCount(i) - if _cfg == nil { - // 取最后一条 - _cfg = this.configure.GetLastBuyChallenge() - } - szCostRes = append(szCostRes, _cfg.Need...) - } - sz := make([]*cfg.Gameatn, 0) - for _, v := range szCostRes { - bFound := false - for _, v1 := range sz { - if v.A == v1.A && v.T == v1.T { - v1.N += v.N - bFound = true - break - } - } - if !bFound { - sz = append(sz, v) - } - } - //消耗 - if code = this.module.ConsumeRes(session, sz, true); code != pb.ErrorCode_Success { - return - } - res := &cfg.Gameatn{ - A: "item", - T: costRes.T, - N: addCount, - } - if code = this.module.DispenseRes(session, []*cfg.Gameatn{res}, true); code != pb.ErrorCode_Success { - return - } - list.BuyCount = curByCount - mapData["buyCount"] = curByCount - code = this.module.ModifyHuntingData(session.GetUserId(), mapData) - - session.SendMsg(string(this.module.GetType()), HuntingBuyResp, &pb.HuntingBuyResp{Data: list}) + session.SendMsg(string(this.module.GetType()), HuntingBuyResp, &pb.HuntingBuyResp{}) return } diff --git a/modules/hunting/api_challengeover.go b/modules/hunting/api_challengeover.go index 1f198d74e..4b79fd0ad 100644 --- a/modules/hunting/api_challengeover.go +++ b/modules/hunting/api_challengeover.go @@ -101,6 +101,11 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha mapData["bossTime"] = hunting.BossTime code = this.module.ModifyHuntingData(session.GetUserId(), mapData) + if session.GetUserId() != "" { // 恢复时间 + if userexpand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId()); err == nil { + hunting.RecoveryTime = userexpand.Recovertimeunifiedticket + } + } session.SendMsg(string(this.module.GetType()), HuntingChallengeOverResp, &pb.HuntingChallengeOverResp{Data: hunting}) // 随机任务统计 @@ -108,7 +113,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha this.module.ModuleRtask.SendToRtask(session, comm.Rtype82, req.BossType) // 狩猎副本掉落觉醒材料 for _, v := range reward { - if _conf, err := this.configure.GetItemConfigureData(v.T); err == nil { + if _conf, err := this.module.configure.GetItemConfigureData(v.T); err == nil { if _conf.Usetype == 8 { this.module.ModuleRtask.SendToRtask(session, comm.Rtype154, v.N) } @@ -116,7 +121,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha } if newChallenge && bWin { for _, v := range cfgHunting.Firstprize { - if _conf, err := this.configure.GetItemConfigureData(v.T); err == nil { + if _conf, err := this.module.configure.GetItemConfigureData(v.T); err == nil { if _conf.Usetype == 8 { this.module.ModuleRtask.SendToRtask(session, comm.Rtype154, v.N) } diff --git a/modules/hunting/api_getlist.go b/modules/hunting/api_getlist.go index 0c96149aa..a8fde745f 100644 --- a/modules/hunting/api_getlist.go +++ b/modules/hunting/api_getlist.go @@ -4,9 +4,6 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/mgo" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" - cfg "go_dreamfactory/sys/configure/structs" - "go_dreamfactory/utils" "strconv" "go.mongodb.org/mongo-driver/bson/primitive" @@ -20,16 +17,15 @@ func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.HuntingGetL } func (this *apiComp) GetList(session comm.IUserSession, req *pb.HuntingGetListReq) (code pb.ErrorCode, data proto.Message) { - var ( - mapData map[string]interface{} - curCount int32 - ) - mapData = make(map[string]interface{}, 0) + code = this.GetListCheck(session, req) if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } - + // 刷新挑战卷 + if code = this.module.ModuleItems.RecoverTicket(session); code != pb.ErrorCode_Success { + return + } list, err := this.module.modelHunting.getHuntingList(session.GetUserId()) if mgo.MongodbNil == err { list = &pb.DBHunting{ @@ -46,80 +42,13 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.HuntingGetListRe } this.module.modelHunting.Add(session.GetUserId(), list) - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - iCont := conf.HuntingNum - atn := conf.HuntingCos - if iCont > 0 { - res := &cfg.Gameatn{ - A: atn.A, - T: atn.T, - N: iCont, - } - this.module.DispenseRes(session, []*cfg.Gameatn{res}, true) - } - } else if err != nil { - - code = pb.ErrorCode_DBError - return - } - // 校验 是不是当天 - if !utils.IsToday(list.CTime) { - list.CTime = configure.Now().Unix() - list.BuyCount = 0 - mapData["cTime"] = list.CTime - mapData["buyCount"] = list.BuyCount } - // 检查恢复时间 - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - costRes := conf.HuntingCos - if costRes == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 - curCount = amount - if amount < conf.HuntingNum { - if list.RecoveryTime == 0 { - list.RecoveryTime = configure.Now().Unix() + if session.GetUserId() != "" { // 恢复时间 + if userexpand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId()); err == nil { + list.RecoveryTime = userexpand.Recovertimeunifiedticket } - for { // 计算恢复时间 - if list.RecoveryTime+int64(conf.HuntingRecovery*60) <= configure.Now().Unix() { - curCount++ - list.RecoveryTime += int64(conf.HuntingRecovery * 60) - if curCount >= conf.HuntingNum { - list.RecoveryTime = 0 - break - } - } else { - break - } - } - - addCount := curCount - amount - if addCount > 0 { - res := &cfg.Gameatn{ - A: "item", - T: costRes.T, - N: addCount, - } - if code = this.module.DispenseRes(session, []*cfg.Gameatn{res}, true); code != pb.ErrorCode_Success { - return - } - } - } else { - list.RecoveryTime = 0 } - mapData["recoveryTime"] = list.RecoveryTime - code = this.module.ModifyHuntingData(session.GetUserId(), mapData) //修改内存信息 session.SendMsg(string(this.module.GetType()), HuntingGetListResp, &pb.HuntingGetListResp{Data: list}) return } diff --git a/modules/hunting/api_ranklist.go b/modules/hunting/api_ranklist.go index 9a791bbbc..13ec32e4e 100644 --- a/modules/hunting/api_ranklist.go +++ b/modules/hunting/api_ranklist.go @@ -5,6 +5,7 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/pb" + "go_dreamfactory/sys/db" "strconv" "github.com/go-redis/redis/v8" @@ -26,11 +27,13 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankList if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } + conn, _ := db.Local() + dbModel := db.NewDBModel(comm.TableHuntingRank, 0, conn) if !req.Friend { var ( - pipe *pipe.RedisPipe = this.module.modelHunting.Redis.RedisPipe(context.TODO()) + pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO()) ) - rd = pipe.ZRange("huntingRank"+strconv.Itoa(int(req.BoosType)), 0, -1) + rd = pipe.ZRevRange("huntingRank"+strconv.Itoa(int(req.BoosType)), 0, comm.MaxRankList) if _, err := pipe.Exec(); err != nil { this.module.Errorln(err) @@ -39,11 +42,11 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankList _dataList := rd.Val() for _, v := range _dataList { result := &pb.DBHuntingRank{} - if err := this.module.modulerank.GetListObj(session.GetUserId(), v, result); err == nil { + + if err := dbModel.Redis.HGetAll(v, result); err == nil { szRank = append(szRank, result) } } - } else { uids := this.friend.GetFriendList(session.GetUserId()) for _, id := range uids { diff --git a/modules/hunting/module.go b/modules/hunting/module.go index 02bb45307..11bb3da41 100644 --- a/modules/hunting/module.go +++ b/modules/hunting/module.go @@ -86,7 +86,7 @@ func (this *Hunting) CheckRank(uid string, boosID int32, difficulty int32, repor model := db.NewDBModel(comm.TableHuntingRank, time.Hour, conn_) costTime := report.Costtime - szLine := make([]*pb.LineUp, 5) + szLine := make([]*pb.LineUp, len(report.Info.Redflist[0].Team)) Leadpos := 0 if report != nil && report.Info != nil && len(report.Info.Redflist) > 0 { costTime = report.Costtime @@ -147,7 +147,8 @@ func (this *Hunting) CheckRank(uid string, boosID int32, difficulty int32, repor ) score = int64(difficulty)<<31 + int64(math.MaxInt32-costTime) tableName = "huntingRank" + strconv.Itoa(int(boosID)) - menbers = &redis.Z{Score: float64(score), Member: objID} + strKey := "huntingRank:" + uid + "-" + objID + menbers = &redis.Z{Score: float64(score), Member: strKey} if cmd := pipe.ZAdd(tableName, menbers); cmd != nil { diff --git a/modules/sociaty/api.go b/modules/sociaty/api.go index f98c43043..9a894c31d 100644 --- a/modules/sociaty/api.go +++ b/modules/sociaty/api.go @@ -33,6 +33,8 @@ const ( SociatySubTypeTasklist = "tasklist" SociatySubTypeLog = "log" SociatySubTypeAgreePush = "agree" + SociatySubTypeRecord = "record" + SociatySubTypeFormation = "formation" ) type apiComp struct { diff --git a/modules/sociaty/api_cross_Formation.go b/modules/sociaty/api_cross_Formation.go new file mode 100644 index 000000000..c390631ff --- /dev/null +++ b/modules/sociaty/api_cross_Formation.go @@ -0,0 +1,43 @@ +package sociaty + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/sys/log" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +// 设置阵容 +func (this *apiComp) FormationCheck(session comm.IUserSession, req *pb.SociatyBFormationReq) (code pb.ErrorCode) { + return +} + +func (this *apiComp) Formation(session comm.IUserSession, req *pb.SociatyBFormationReq) (code pb.ErrorCode, data proto.Message) { + if code = this.FormationCheck(session, req); code != pb.ErrorCode_Success { + return + } + + uid := session.GetUserId() + sociaty := this.module.modelSociaty.getUserSociaty(uid) + if sociaty != nil && sociaty.Id == "" { + code = pb.ErrorCode_SociatyNoFound + this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) + return + } + + if err := this.module.modelSociatyBoss.setFormation(sociaty, uid, req.Teams); err != nil { + this.module.Error("设置阵容", log.Field{Key: "uid", Value: uid}) + code = pb.ErrorCode_DBError + return + } + + rsp := &pb.SociatyBFormationResp{ + SociatyId: sociaty.Id, + } + + if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeFormation, rsp); err != nil { + code = pb.ErrorCode_SystemError + } + return +} diff --git a/modules/sociaty/api_cross_breceive.go b/modules/sociaty/api_cross_breceive.go new file mode 100644 index 000000000..d66ecc3c6 --- /dev/null +++ b/modules/sociaty/api_cross_breceive.go @@ -0,0 +1,16 @@ +package sociaty + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +func (this *apiComp) BreceiveCheck(session comm.IUserSession, req *pb.SociatyBReceiveReq) (code pb.ErrorCode) { + return +} + +func (this *apiComp) Breceive(session comm.IUserSession, req *pb.SociatyBReceiveReq) (code pb.ErrorCode, data proto.Message) { + return +} diff --git a/modules/sociaty/api_cross_challenge.go b/modules/sociaty/api_cross_challenge.go new file mode 100644 index 000000000..b43e28a8f --- /dev/null +++ b/modules/sociaty/api_cross_challenge.go @@ -0,0 +1,16 @@ +package sociaty + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.SociatyBChallengeReq) (code pb.ErrorCode) { + return +} + +func (this *apiComp) Challenge(session comm.IUserSession, req *pb.SociatyBChallengeReq) (code pb.ErrorCode, data proto.Message) { + return +} diff --git a/modules/sociaty/api_cross_mine.go b/modules/sociaty/api_cross_mine.go index f9f2bbe1a..61a38fbcd 100644 --- a/modules/sociaty/api_cross_mine.go +++ b/modules/sociaty/api_cross_mine.go @@ -58,7 +58,7 @@ func (this *apiComp) Mine(session comm.IUserSession, req *pb.SociatyMineReq) (co // 今日首次进入公会 if utils.IsFirstTody(sociatyTask.LastUpdateTime) { //更新昨日签到数 - this.module.modelSociaty.updateSign(sociaty) + this.module.modelSociaty.clearSigned(sociaty) // 删除任务 if err := this.module.modelSociatyTask.deleTask(sociaty.Id, uid); err == nil { // 初始新的公会任务 @@ -90,6 +90,11 @@ func (this *apiComp) Mine(session comm.IUserSession, req *pb.SociatyMineReq) (co ) } } + + if sm := this.module.modelSociaty.getMemberInfo(sociaty, uid); sm != nil { + rsp.Teams = sm.Teams + } + rsp.Sociaty = sociaty rsp.Master = master diff --git a/modules/sociaty/model_sociaty.go b/modules/sociaty/model_sociaty.go index 9a5f30b30..0b13c3518 100644 --- a/modules/sociaty/model_sociaty.go +++ b/modules/sociaty/model_sociaty.go @@ -468,6 +468,16 @@ func (this *ModelSociaty) getMemberIds(sociaty *pb.DBSociaty) (ids []string) { return } +// 获取成员信息 +func (this *ModelSociaty) getMemberInfo(sociaty *pb.DBSociaty, uid string) *pb.SociatyMember { + for _, s := range sociaty.Members { + if s.Uid == uid { + return s + } + } + return nil +} + // 同意 func (this *ModelSociaty) agree(uid string, sociaty *pb.DBSociaty) error { if this.isMember(uid, sociaty) { @@ -951,7 +961,8 @@ func (this *ModelSociaty) memberClear(sociaty *pb.DBSociaty) error { return nil } -func (s *ModelSociaty) updateSign(sociaty *pb.DBSociaty) error { +// 清理签到数据 +func (s *ModelSociaty) clearSigned(sociaty *pb.DBSociaty) error { lastSignCount := len(sociaty.SignIds) update := map[string]interface{}{ "lastSignCount": lastSignCount, diff --git a/modules/sociaty/model_sociatyboss.go b/modules/sociaty/model_sociatyboss.go new file mode 100644 index 000000000..0dcb8ef0d --- /dev/null +++ b/modules/sociaty/model_sociatyboss.go @@ -0,0 +1,57 @@ +package sociaty + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/core" + "go_dreamfactory/modules" + "go_dreamfactory/pb" +) + +type ModelSociatyBoss struct { + modules.MCompModel + moduleSociaty *Sociaty + service core.IService +} + +func (this *ModelSociatyBoss) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + this.TableName = comm.TableSociatyBoss + err = this.MCompModel.Init(service, module, comp, options) + this.moduleSociaty = module.(*Sociaty) + this.service = service + return +} + +// 设置阵容 +func (s *ModelSociatyBoss) setFormation(sociaty *pb.DBSociaty, uid string, teams map[int32]*pb.ChallengeTeams) error { + if !s.moduleSociaty.modelSociaty.isMember(uid, sociaty) { + return comm.NewCustomError(pb.ErrorCode_SociatyBelongTo) + } + for _, m := range sociaty.Members { + if m.Uid == uid { + m.Teams = teams + } + } + + update := map[string]interface{}{ + "members": sociaty.Members, + } + return s.moduleSociaty.modelSociaty.updateSociaty(sociaty.Id, update) +} + +//挑战 +func (s *ModelSociatyBoss) challenge(session comm.IUserSession) error { + + iBattle, err := s.moduleSociaty.service.GetModule(comm.ModuleBattle) + if err != nil { + return err + } + + if b, y := iBattle.(comm.IBattle); y { + b.CreatePveBattle(session, &pb.BattlePVEReq{ + Ptype: pb.PlayType_sociaty, + Title: "公会BOSS", + Format: &pb.BattleFormation{}, + }) + } + return nil +} diff --git a/modules/sociaty/module.go b/modules/sociaty/module.go index 2a194f2fa..ab1579c96 100644 --- a/modules/sociaty/module.go +++ b/modules/sociaty/module.go @@ -29,6 +29,7 @@ type Sociaty struct { modelSociaty *ModelSociaty modelSociatyTask *ModelSociatyTask modelSociatyLog *ModelSociatyLog + modelSociatyBoss *ModelSociatyBoss configure *configureComp globalConf *cfg.GameGlobalData sociatyActivityConf *cfg.GameGuildActivity @@ -57,6 +58,7 @@ func (this *Sociaty) OnInstallComp() { this.modelSociaty = this.RegisterComp(new(ModelSociaty)).(*ModelSociaty) this.modelSociatyTask = this.RegisterComp(new(ModelSociatyTask)).(*ModelSociatyTask) this.modelSociatyLog = this.RegisterComp(new(ModelSociatyLog)).(*ModelSociatyLog) + this.modelSociatyBoss = this.RegisterComp(new(ModelSociatyBoss)).(*ModelSociatyBoss) this.configure = this.RegisterComp(new(configureComp)).(*configureComp) } diff --git a/modules/task/model_active.go b/modules/task/model_active.go index acb79dec4..706f6f0ee 100644 --- a/modules/task/model_active.go +++ b/modules/task/model_active.go @@ -91,6 +91,11 @@ func (this *ModelTaskActive) getActiveListByTag(uid string, taskTag comm.TaskTag // 查询完成的且未领取的任务 发现未领取返回true func (this *ModelTaskActive) noReceiveTaskActive(uid string, taskTag comm.TaskTag) (bool, error) { + // 获取玩家活跃度 + expand, err := this.moduleTask.ModuleUser.GetUserExpand(uid) + if err != nil { + return false, err + } task := &pb.DBActivity{} if err := this.Get(uid, task); err != nil { this.moduleTask.Errorf("getTaskActivityList err %v", err) @@ -99,7 +104,19 @@ func (this *ModelTaskActive) noReceiveTaskActive(uid string, taskTag comm.TaskTa for _, v := range task.ActivityList { if v.Tag == int32(taskTag) && v.Received == 0 { - return true, nil + conf := this.moduleTask.configure.getTaskActiveById(v.TaskId) + if conf != nil && expand != nil { + switch taskTag { + case comm.TASK_DAILY: + if expand.Activeday >= conf.Active { + return true, nil + } + case comm.TASK_WEEKLY: + if expand.Activeweek >= conf.Active { + return true, nil + } + } + } } } return false, nil @@ -129,8 +146,8 @@ func (this *ModelTaskActive) clearTask(uid string, taskTag ...comm.TaskTag) { this.moduleTask.Errorf("least one param for taskTag") return } - data := this.getActiveListByTag(uid, taskTag[0]) - for i:=0; i= conf.VikingNum { - list.RecoveryTime = 0 - break - } - } else { - break - } - } - if curCount-amount > 0 { - addCount = curCount - amount - - } - } else { - list.RecoveryTime = 0 - } - addCount += req.Count - if amount+addCount > conf.VikingNum { - code = pb.ErrorCode_VikingBuyMaxCount - return - } - mapData["recoveryTime"] = list.RecoveryTime // 更新刷新时间 - curByCount += req.Count // 当前需要购买的数量 - - if this.configure.GetMaxBuyChallengeCount()+PrivilegeBuyCount < curByCount { - code = pb.ErrorCode_VikingBuyMaxCount - return - } - - // 消耗资源整合 - for i := list.BuyCount + 1; i <= curByCount; i++ { - _cfg := this.configure.GetBuyChallengeCount(i) - if _cfg == nil { - // 取最后一条 - _cfg = this.configure.GetLastBuyChallenge() - } - szcostRes = append(szcostRes, _cfg.Need...) - } - sz := make([]*cfg.Gameatn, 0) - for _, v := range szcostRes { - bFound := false - for _, v1 := range sz { - if v.A == v1.A && v.T == v1.T { - v1.N += v.N - bFound = true - } - } - if !bFound { - sz = append(sz, v) - } - } - //消耗 - if code = this.module.ConsumeRes(session, sz, true); code != pb.ErrorCode_Success { - return - } - res := &cfg.Gameatn{ - A: "item", - T: costRes.T, - N: addCount, - } - if code = this.module.DispenseRes(session, []*cfg.Gameatn{res}, true); code != pb.ErrorCode_Success { - return - } - list.BuyCount = curByCount - mapData["buyCount"] = curByCount - code = this.module.ModifyVikingData(session.GetUserId(), mapData) - session.SendMsg(string(this.module.GetType()), VikingBuyResp, &pb.VikingBuyResp{Data: list}) + session.SendMsg(string(this.module.GetType()), VikingBuyResp, &pb.VikingBuyResp{}) return } diff --git a/modules/viking/api_challengeover.go b/modules/viking/api_challengeover.go index 0df9e5add..4332925a5 100644 --- a/modules/viking/api_challengeover.go +++ b/modules/viking/api_challengeover.go @@ -129,6 +129,12 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal // } // } code = this.module.ModifyVikingData(session.GetUserId(), mapData) + + if session.GetUserId() != "" { // 恢复时间 + if userexpand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId()); err == nil { + viking.RecoveryTime = userexpand.Recovertimeunifiedticket + } + } session.SendMsg(string(this.module.GetType()), VikingChallengeOverResp, &pb.VikingChallengeOverResp{ Data: viking, Asset: atno, diff --git a/modules/viking/api_getlist.go b/modules/viking/api_getlist.go index 884cd0b9f..d4a52250f 100644 --- a/modules/viking/api_getlist.go +++ b/modules/viking/api_getlist.go @@ -4,9 +4,6 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/mgo" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" - cfg "go_dreamfactory/sys/configure/structs" - "go_dreamfactory/utils" "strconv" "go.mongodb.org/mongo-driver/bson/primitive" @@ -20,16 +17,14 @@ func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.VikingGetLi } func (this *apiComp) GetList(session comm.IUserSession, req *pb.VikingGetListReq) (code pb.ErrorCode, data proto.Message) { - var ( - mapData map[string]interface{} - curCount int32 - ) - mapData = make(map[string]interface{}, 0) code = this.GetListCheck(session, req) if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } - + // 刷新挑战卷 + if code = this.module.ModuleItems.RecoverTicket(session); code != pb.ErrorCode_Success { + return + } list, err := this.module.modelViking.getVikingList(session.GetUserId()) if mgo.MongodbNil == err { list = &pb.DBViking{ @@ -46,78 +41,12 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.VikingGetListReq } this.module.modelViking.Add(session.GetUserId(), list) - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - iCont := conf.VikingNum - atn := conf.VikingExpeditionCos - if iCont > 0 { - res := &cfg.Gameatn{ - A: atn.A, - T: atn.T, - N: iCont, - } - this.module.DispenseRes(session, []*cfg.Gameatn{res}, true) + } + if session.GetUserId() != "" { // 恢复时间 + if userexpand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId()); err == nil { + list.RecoveryTime = userexpand.Recovertimeunifiedticket } } - - // 校验 是不是当天 - if !utils.IsToday(list.CTime) { - list.CTime = configure.Now().Unix() - list.BuyCount = 0 - mapData["cTime"] = list.CTime - mapData["buyCount"] = list.BuyCount - - } - // 检查恢复时间 - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - costRes := conf.VikingExpeditionCos - if costRes == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 - curCount = amount - // 道具上限 - if amount < conf.VikingNum { - if list.RecoveryTime == 0 { - list.RecoveryTime = configure.Now().Unix() - } - for { // 计算恢复时间 - if list.RecoveryTime+int64(conf.VikingExpeditionRecoveryTime*60) <= configure.Now().Unix() { - curCount++ - list.RecoveryTime += int64(conf.VikingExpeditionRecoveryTime * 60) - if curCount >= conf.VikingNum { - list.RecoveryTime = 0 - break - } - } else { - break - } - } - addCount := curCount - amount - if addCount > 0 { - res := &cfg.Gameatn{ - A: "item", - T: costRes.T, - N: addCount, - } - if code = this.module.DispenseRes(session, []*cfg.Gameatn{res}, true); code != pb.ErrorCode_Success { - return - } - } - } else { - list.RecoveryTime = 0 - } - mapData["recoveryTime"] = list.RecoveryTime - code = this.module.ModifyVikingData(session.GetUserId(), mapData) //修改内存信息 - session.SendMsg(string(this.module.GetType()), VikingGetListResp, &pb.VikingGetListResp{Data: list}) return } diff --git a/modules/viking/api_ranklist.go b/modules/viking/api_ranklist.go index 82ad09dab..b71250fa6 100644 --- a/modules/viking/api_ranklist.go +++ b/modules/viking/api_ranklist.go @@ -30,11 +30,12 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.VikingRankListR return // 参数校验失败直接返回 } conn, _ := db.Local() + dbModel := db.NewDBModel(comm.TableVikingRank, 0, conn) if !req.Friend { var ( pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO()) ) - rd = pipe.ZRange("vikingRank"+strconv.Itoa(int(req.BoosType)), 0, -1) + rd = pipe.ZRevRange("vikingRank"+strconv.Itoa(int(req.BoosType)), 0, comm.MaxRankList) if _, err := pipe.Exec(); err != nil { this.module.Errorln(err) @@ -42,13 +43,10 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.VikingRankListR } _dataList := rd.Val() for _, v := range _dataList { - result := make([]*pb.DBVikingRank, 0) - if err := this.module.modulerank.GetList(v, &result); err == nil { - for _, v2 := range result { - if v2.Bosstype == req.BoosType { - szRank = append(szRank, v2) - } - } + result := &pb.DBVikingRank{} + + if err := dbModel.Redis.HGetAll(v, result); err == nil { + szRank = append(szRank, result) } } diff --git a/modules/viking/module.go b/modules/viking/module.go index e0c03a43f..fc0e29dd5 100644 --- a/modules/viking/module.go +++ b/modules/viking/module.go @@ -12,12 +12,10 @@ import ( "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/modules" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" cfg "go_dreamfactory/sys/configure/structs" "go_dreamfactory/sys/db" "math" "strconv" - "time" "github.com/go-redis/redis/v8" "go.mongodb.org/mongo-driver/bson/primitive" @@ -91,10 +89,10 @@ func (this *Viking) CheckUserBaseVikingInfo(uid string) (data []*pb.DBVikingRank func (this *Viking) CheckRank(uid string, boosID int32, difficulty int32, report *pb.BattleReport, userinfo *pb.DBUser) { conn_, _ := db.Cross() // 获取跨服数据库对象 - model := db.NewDBModel(comm.TableVikingRank, time.Hour, conn_) + model := db.NewDBModel(comm.TableVikingRank, 0, conn_) costTime := report.Costtime - szLine := make([]*pb.LineUp, 5) + szLine := make([]*pb.LineUp, len(report.Info.Redflist[0].Team)) Leadpos := 0 if report != nil && report.Info != nil && len(report.Info.Redflist) > 0 { costTime = report.Costtime @@ -155,7 +153,8 @@ func (this *Viking) CheckRank(uid string, boosID int32, difficulty int32, report ) score = int64(difficulty)<<31 + int64(math.MaxInt32-costTime) tableName = "vikingRank" + strconv.Itoa(int(boosID)) - menbers = &redis.Z{Score: float64(score), Member: objID} + strKey := "vikingrank:" + uid + "-" + objID // 自定义key + menbers = &redis.Z{Score: float64(score), Member: strKey} if cmd := pipe.ZAdd(tableName, menbers); cmd != nil { @@ -261,22 +260,12 @@ func (this *Viking) AutoBattleOver(session comm.IUserSession, Report *pb.BattleR if code = this.ConsumeRes(session, []*cfg.Gameatn{costRes}, true); code != pb.ErrorCode_Success { return } - amount := int32(this.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 viking, err := this.modelViking.getVikingList(session.GetUserId()) if err != nil { code = pb.ErrorCode_VikingBoosType return } - conf := this.configure.GetGlobalConf() - if conf != nil { - if amount < conf.VikingNum && viking.RecoveryTime == 0 { - mapData := make(map[string]interface{}, 0) - viking.RecoveryTime = configure.Now().Unix() - mapData["recoveryTime"] = viking.RecoveryTime - code = this.ModifyVikingData(session.GetUserId(), mapData) - } - } code, bWin := this.battle.CheckBattleReport(session, Report) if !bWin { // 战斗失败了 直接返回 code = pb.ErrorCode_BattleNoWin diff --git a/pb/sociaty_db.pb.go b/pb/sociaty_db.pb.go index 7af79c145..fb87a81a7 100644 --- a/pb/sociaty_db.pb.go +++ b/pb/sociaty_db.pb.go @@ -321,10 +321,12 @@ type SociatyMember struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid" bson:"uid"` //成员ID - Job SociatyJob `protobuf:"varint,2,opt,name=job,proto3,enum=SociatyJob" json:"job" bson:"job"` //职位 - Ctime int64 `protobuf:"varint,3,opt,name=ctime,proto3" json:"ctime" bson:"ctime"` //入会时间 - Contribution int32 `protobuf:"varint,4,opt,name=contribution,proto3" json:"contribution" bson:"contribution"` //贡献值 + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid" bson:"uid"` //成员ID + Job SociatyJob `protobuf:"varint,2,opt,name=job,proto3,enum=SociatyJob" json:"job" bson:"job"` //职位 + Ctime int64 `protobuf:"varint,3,opt,name=ctime,proto3" json:"ctime" bson:"ctime"` //入会时间 + Contribution int32 `protobuf:"varint,4,opt,name=contribution,proto3" json:"contribution" bson:"contribution"` //贡献值 + ChallengeTicket int32 `protobuf:"varint,5,opt,name=challengeTicket,proto3" json:"challengeTicket" bson:"challengeTicket"` //挑战券 + Teams map[int32]*ChallengeTeams `protobuf:"bytes,6,rep,name=teams,proto3" json:"teams" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" bson:"teams"` // 公会BOSS 队伍 } func (x *SociatyMember) Reset() { @@ -387,6 +389,20 @@ func (x *SociatyMember) GetContribution() int32 { return 0 } +func (x *SociatyMember) GetChallengeTicket() int32 { + if x != nil { + return x.ChallengeTicket + } + return 0 +} + +func (x *SociatyMember) GetTeams() map[int32]*ChallengeTeams { + if x != nil { + return x.Teams + } + return nil +} + // 日志 type SociatyLog struct { state protoimpl.MessageState @@ -698,7 +714,7 @@ func (x *SociatyActivity) GetStatus() int32 { return 0 } -//排行榜 +//任务活跃度排行榜 type DBSociatyRank struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -778,6 +794,197 @@ func (x *DBSociatyRank) GetCtime() int64 { return 0 } +// 挑战队伍 +type ChallengeTeamInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HeroId string `protobuf:"bytes,1,opt,name=heroId,proto3" json:"heroId" bson:"heroId"` //英雄ID +} + +func (x *ChallengeTeamInfo) Reset() { + *x = ChallengeTeamInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_db_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChallengeTeamInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChallengeTeamInfo) ProtoMessage() {} + +func (x *ChallengeTeamInfo) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_db_proto_msgTypes[9] + 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 ChallengeTeamInfo.ProtoReflect.Descriptor instead. +func (*ChallengeTeamInfo) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_db_proto_rawDescGZIP(), []int{9} +} + +func (x *ChallengeTeamInfo) GetHeroId() string { + if x != nil { + return x.HeroId + } + return "" +} + +type ChallengeTeams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Infos []*ChallengeTeamInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos" bson:"teamInfo"` //队伍 +} + +func (x *ChallengeTeams) Reset() { + *x = ChallengeTeams{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_db_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChallengeTeams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChallengeTeams) ProtoMessage() {} + +func (x *ChallengeTeams) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_db_proto_msgTypes[10] + 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 ChallengeTeams.ProtoReflect.Descriptor instead. +func (*ChallengeTeams) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_db_proto_rawDescGZIP(), []int{10} +} + +func (x *ChallengeTeams) GetInfos() []*ChallengeTeamInfo { + if x != nil { + return x.Infos + } + return nil +} + +// 成员公会BOSS历史记录 +type DBSociatyBossRecord struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SociatyId string `protobuf:"bytes,1,opt,name=sociatyId,proto3" json:"sociatyId" bson:"sociatyId"` //公会ID + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //玩家ID + Integral int32 `protobuf:"varint,3,opt,name=integral,proto3" json:"integral" bson:"integral"` //公会BOSS挑战积分 + Evaluate int32 `protobuf:"varint,4,opt,name=evaluate,proto3" json:"evaluate" bson:"evaluate"` //评价 + Teams map[int32]*ChallengeTeams `protobuf:"bytes,5,rep,name=teams,proto3" json:"teams" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" bson:"teams"` //挑战队伍 + Duration int32 `protobuf:"varint,6,opt,name=duration,proto3" json:"duration" bson:"duration"` //战斗耗时 + Rtime int64 `protobuf:"varint,7,opt,name=rtime,proto3" json:"rtime" bson:"rtime"` //记录时间 +} + +func (x *DBSociatyBossRecord) Reset() { + *x = DBSociatyBossRecord{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_db_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DBSociatyBossRecord) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DBSociatyBossRecord) ProtoMessage() {} + +func (x *DBSociatyBossRecord) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_db_proto_msgTypes[11] + 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 DBSociatyBossRecord.ProtoReflect.Descriptor instead. +func (*DBSociatyBossRecord) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_db_proto_rawDescGZIP(), []int{11} +} + +func (x *DBSociatyBossRecord) GetSociatyId() string { + if x != nil { + return x.SociatyId + } + return "" +} + +func (x *DBSociatyBossRecord) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +func (x *DBSociatyBossRecord) GetIntegral() int32 { + if x != nil { + return x.Integral + } + return 0 +} + +func (x *DBSociatyBossRecord) GetEvaluate() int32 { + if x != nil { + return x.Evaluate + } + return 0 +} + +func (x *DBSociatyBossRecord) GetTeams() map[int32]*ChallengeTeams { + if x != nil { + return x.Teams + } + return nil +} + +func (x *DBSociatyBossRecord) GetDuration() int32 { + if x != nil { + return x.Duration + } + return 0 +} + +func (x *DBSociatyBossRecord) GetRtime() int64 { + if x != nil { + return x.Rtime + } + return 0 +} + var File_sociaty_sociaty_db_proto protoreflect.FileDescriptor var file_sociaty_sociaty_db_proto_rawDesc = []byte{ @@ -818,60 +1025,96 @@ var file_sociaty_sociaty_db_proto_rawDesc = []byte{ 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x63, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x7a, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4a, - 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, - 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x3c, 0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x22, - 0x4d, 0x0a, 0x0c, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x12, - 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, - 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0xc7, - 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, - 0x12, 0x28, 0x0a, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, - 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x0c, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, - 0x74, 0x79, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 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, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x22, 0x39, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x69, 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, 0x22, 0x83, - 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x6c, 0x76, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, - 0x74, 0x69, 0x6d, 0x65, 0x2a, 0x50, 0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4a, - 0x6f, 0x62, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x4f, 0x4a, 0x4f, 0x42, 0x10, 0x00, 0x12, 0x0a, 0x0a, - 0x06, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x44, 0x4d, - 0x49, 0x4e, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x49, 0x43, 0x45, 0x50, 0x52, 0x45, 0x53, - 0x49, 0x44, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x53, 0x49, - 0x44, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xa0, 0x02, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x03, 0x6a, 0x6f, 0x62, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x22, + 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x05, + 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x54, 0x65, 0x61, 0x6d, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x1a, 0x49, 0x0a, + 0x0a, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3c, 0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x4d, 0x0a, 0x0c, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x52, + 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0xc7, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x34, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, + 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, + 0x59, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 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, 0x12, 0x1a, + 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x22, 0x39, 0x0a, 0x0f, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 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, 0x22, 0x83, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x2b, 0x0a, 0x11, 0x43, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0x3a, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x69, 0x6e, + 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, + 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xb1, 0x02, 0x0a, 0x13, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x42, 0x6f, 0x73, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, + 0x6f, 0x73, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x49, 0x0a, + 0x0a, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x50, 0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x4a, 0x6f, 0x62, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x4f, 0x4a, 0x4f, 0x42, 0x10, + 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, + 0x05, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x49, 0x43, 0x45, + 0x50, 0x52, 0x45, 0x53, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x50, + 0x52, 0x45, 0x53, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -887,31 +1130,41 @@ func file_sociaty_sociaty_db_proto_rawDescGZIP() []byte { } var file_sociaty_sociaty_db_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_sociaty_sociaty_db_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_sociaty_sociaty_db_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_sociaty_sociaty_db_proto_goTypes = []interface{}{ - (SociatyJob)(0), // 0: SociatyJob - (*DBSociaty)(nil), // 1: DBSociaty - (*ApplyRecord)(nil), // 2: ApplyRecord - (*SociatyMember)(nil), // 3: SociatyMember - (*SociatyLog)(nil), // 4: SociatyLog - (*DBSociatyLog)(nil), // 5: DBSociatyLog - (*DBSociatyTask)(nil), // 6: DBSociatyTask - (*SociatyTask)(nil), // 7: SociatyTask - (*SociatyActivity)(nil), // 8: SociatyActivity - (*DBSociatyRank)(nil), // 9: DBSociatyRank + (SociatyJob)(0), // 0: SociatyJob + (*DBSociaty)(nil), // 1: DBSociaty + (*ApplyRecord)(nil), // 2: ApplyRecord + (*SociatyMember)(nil), // 3: SociatyMember + (*SociatyLog)(nil), // 4: SociatyLog + (*DBSociatyLog)(nil), // 5: DBSociatyLog + (*DBSociatyTask)(nil), // 6: DBSociatyTask + (*SociatyTask)(nil), // 7: SociatyTask + (*SociatyActivity)(nil), // 8: SociatyActivity + (*DBSociatyRank)(nil), // 9: DBSociatyRank + (*ChallengeTeamInfo)(nil), // 10: ChallengeTeamInfo + (*ChallengeTeams)(nil), // 11: ChallengeTeams + (*DBSociatyBossRecord)(nil), // 12: DBSociatyBossRecord + nil, // 13: SociatyMember.TeamsEntry + nil, // 14: DBSociatyBossRecord.TeamsEntry } var file_sociaty_sociaty_db_proto_depIdxs = []int32{ - 2, // 0: DBSociaty.applyRecord:type_name -> ApplyRecord - 3, // 1: DBSociaty.members:type_name -> SociatyMember - 0, // 2: SociatyMember.job:type_name -> SociatyJob - 4, // 3: DBSociatyLog.list:type_name -> SociatyLog - 7, // 4: DBSociatyTask.taskList:type_name -> SociatyTask - 8, // 5: DBSociatyTask.activityList:type_name -> SociatyActivity - 6, // [6:6] is the sub-list for method output_type - 6, // [6:6] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 2, // 0: DBSociaty.applyRecord:type_name -> ApplyRecord + 3, // 1: DBSociaty.members:type_name -> SociatyMember + 0, // 2: SociatyMember.job:type_name -> SociatyJob + 13, // 3: SociatyMember.teams:type_name -> SociatyMember.TeamsEntry + 4, // 4: DBSociatyLog.list:type_name -> SociatyLog + 7, // 5: DBSociatyTask.taskList:type_name -> SociatyTask + 8, // 6: DBSociatyTask.activityList:type_name -> SociatyActivity + 10, // 7: ChallengeTeams.infos:type_name -> ChallengeTeamInfo + 14, // 8: DBSociatyBossRecord.teams:type_name -> DBSociatyBossRecord.TeamsEntry + 11, // 9: SociatyMember.TeamsEntry.value:type_name -> ChallengeTeams + 11, // 10: DBSociatyBossRecord.TeamsEntry.value:type_name -> ChallengeTeams + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_sociaty_sociaty_db_proto_init() } @@ -1028,6 +1281,42 @@ func file_sociaty_sociaty_db_proto_init() { return nil } } + file_sociaty_sociaty_db_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChallengeTeamInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_db_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChallengeTeams); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_db_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DBSociatyBossRecord); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1035,7 +1324,7 @@ func file_sociaty_sociaty_db_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_sociaty_sociaty_db_proto_rawDesc, NumEnums: 1, - NumMessages: 9, + NumMessages: 14, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/sociaty_msg.pb.go b/pb/sociaty_msg.pb.go index fcfcd9ab6..cd3930405 100644 --- a/pb/sociaty_msg.pb.go +++ b/pb/sociaty_msg.pb.go @@ -561,8 +561,9 @@ type SociatyMineResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Sociaty *DBSociaty `protobuf:"bytes,1,opt,name=sociaty,proto3" json:"sociaty"` //公会信息 - Master *SociatyMemberInfo `protobuf:"bytes,2,opt,name=master,proto3" json:"master"` // 会长 + Sociaty *DBSociaty `protobuf:"bytes,1,opt,name=sociaty,proto3" json:"sociaty"` //公会信息 + Master *SociatyMemberInfo `protobuf:"bytes,2,opt,name=master,proto3" json:"master"` // 会长 + Teams map[int32]*ChallengeTeams `protobuf:"bytes,3,rep,name=teams,proto3" json:"teams" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //公会BOSS 队伍 } func (x *SociatyMineResp) Reset() { @@ -611,6 +612,13 @@ func (x *SociatyMineResp) GetMaster() *SociatyMemberInfo { return nil } +func (x *SociatyMineResp) GetTeams() map[int32]*ChallengeTeams { + if x != nil { + return x.Teams + } + return nil +} + //成员信息 type SociatyMemberInfo struct { state protoimpl.MessageState @@ -2540,6 +2548,8 @@ type SociatyRankReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + RankType int32 `protobuf:"varint,1,opt,name=rankType,proto3" json:"rankType"` // 1个人2公会成员3全服 } func (x *SociatyRankReq) Reset() { @@ -2574,6 +2584,13 @@ func (*SociatyRankReq) Descriptor() ([]byte, []int) { return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{49} } +func (x *SociatyRankReq) GetRankType() int32 { + if x != nil { + return x.RankType + } + return 0 +} + type SociatyRankResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2725,6 +2742,599 @@ func (x *SociatyPAgreePush) GetSociatyId() string { return "" } +// 公会BOSS 布阵 +type SociatyBFormationReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SociatyId string `protobuf:"bytes,1,opt,name=sociatyId,proto3" json:"sociatyId"` + Teams map[int32]*ChallengeTeams `protobuf:"bytes,2,rep,name=teams,proto3" json:"teams" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //队伍信息,队伍编号1 2 3,从1开始 +} + +func (x *SociatyBFormationReq) Reset() { + *x = SociatyBFormationReq{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBFormationReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBFormationReq) ProtoMessage() {} + +func (x *SociatyBFormationReq) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[53] + 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 SociatyBFormationReq.ProtoReflect.Descriptor instead. +func (*SociatyBFormationReq) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{53} +} + +func (x *SociatyBFormationReq) GetSociatyId() string { + if x != nil { + return x.SociatyId + } + return "" +} + +func (x *SociatyBFormationReq) GetTeams() map[int32]*ChallengeTeams { + if x != nil { + return x.Teams + } + return nil +} + +type SociatyBFormationResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SociatyId string `protobuf:"bytes,1,opt,name=sociatyId,proto3" json:"sociatyId"` + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` +} + +func (x *SociatyBFormationResp) Reset() { + *x = SociatyBFormationResp{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBFormationResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBFormationResp) ProtoMessage() {} + +func (x *SociatyBFormationResp) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[54] + 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 SociatyBFormationResp.ProtoReflect.Descriptor instead. +func (*SociatyBFormationResp) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{54} +} + +func (x *SociatyBFormationResp) GetSociatyId() string { + if x != nil { + return x.SociatyId + } + return "" +} + +func (x *SociatyBFormationResp) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +// 公会BOSS挑战 +type SociatyBChallengeReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SociatyBChallengeReq) Reset() { + *x = SociatyBChallengeReq{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBChallengeReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBChallengeReq) ProtoMessage() {} + +func (x *SociatyBChallengeReq) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[55] + 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 SociatyBChallengeReq.ProtoReflect.Descriptor instead. +func (*SociatyBChallengeReq) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{55} +} + +type SociatyBChallengeResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SociatyId string `protobuf:"bytes,1,opt,name=sociatyId,proto3" json:"sociatyId"` + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` +} + +func (x *SociatyBChallengeResp) Reset() { + *x = SociatyBChallengeResp{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBChallengeResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBChallengeResp) ProtoMessage() {} + +func (x *SociatyBChallengeResp) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[56] + 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 SociatyBChallengeResp.ProtoReflect.Descriptor instead. +func (*SociatyBChallengeResp) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{56} +} + +func (x *SociatyBChallengeResp) GetSociatyId() string { + if x != nil { + return x.SociatyId + } + return "" +} + +func (x *SociatyBChallengeResp) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +// 公会BOSS 阵容推荐 +type SociatyBFormationRecoReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cate int32 `protobuf:"varint,1,opt,name=cate,proto3" json:"cate"` // 1全服排行 2好友排行 +} + +func (x *SociatyBFormationRecoReq) Reset() { + *x = SociatyBFormationRecoReq{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBFormationRecoReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBFormationRecoReq) ProtoMessage() {} + +func (x *SociatyBFormationRecoReq) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[57] + 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 SociatyBFormationRecoReq.ProtoReflect.Descriptor instead. +func (*SociatyBFormationRecoReq) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{57} +} + +func (x *SociatyBFormationRecoReq) GetCate() int32 { + if x != nil { + return x.Cate + } + return 0 +} + +type SociatyBFormationRecoResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Teams map[int32]*ChallengeTeams `protobuf:"bytes,1,rep,name=teams,proto3" json:"teams" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *SociatyBFormationRecoResp) Reset() { + *x = SociatyBFormationRecoResp{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBFormationRecoResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBFormationRecoResp) ProtoMessage() {} + +func (x *SociatyBFormationRecoResp) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[58] + 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 SociatyBFormationRecoResp.ProtoReflect.Descriptor instead. +func (*SociatyBFormationRecoResp) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{58} +} + +func (x *SociatyBFormationRecoResp) GetTeams() map[int32]*ChallengeTeams { + if x != nil { + return x.Teams + } + return nil +} + +// 公会BOSS 领取奖励 +type SociatyBReceiveReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SociatyId string `protobuf:"bytes,1,opt,name=sociatyId,proto3" json:"sociatyId"` + TaskId int32 `protobuf:"varint,2,opt,name=taskId,proto3" json:"taskId"` +} + +func (x *SociatyBReceiveReq) Reset() { + *x = SociatyBReceiveReq{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBReceiveReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBReceiveReq) ProtoMessage() {} + +func (x *SociatyBReceiveReq) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[59] + 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 SociatyBReceiveReq.ProtoReflect.Descriptor instead. +func (*SociatyBReceiveReq) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{59} +} + +func (x *SociatyBReceiveReq) GetSociatyId() string { + if x != nil { + return x.SociatyId + } + return "" +} + +func (x *SociatyBReceiveReq) GetTaskId() int32 { + if x != nil { + return x.TaskId + } + return 0 +} + +type SociatyBReceiveResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SociatyId string `protobuf:"bytes,1,opt,name=sociatyId,proto3" json:"sociatyId"` + TaskId int32 `protobuf:"varint,2,opt,name=taskId,proto3" json:"taskId"` +} + +func (x *SociatyBReceiveResp) Reset() { + *x = SociatyBReceiveResp{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBReceiveResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBReceiveResp) ProtoMessage() {} + +func (x *SociatyBReceiveResp) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[60] + 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 SociatyBReceiveResp.ProtoReflect.Descriptor instead. +func (*SociatyBReceiveResp) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{60} +} + +func (x *SociatyBReceiveResp) GetSociatyId() string { + if x != nil { + return x.SociatyId + } + return "" +} + +func (x *SociatyBReceiveResp) GetTaskId() int32 { + if x != nil { + return x.TaskId + } + return 0 +} + +//公会BOSS 排名 +type SociatyBRankReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RankType int32 `protobuf:"varint,1,opt,name=rankType,proto3" json:"rankType"` //排名分类 1个人排名2公会成员3全服排名 +} + +func (x *SociatyBRankReq) Reset() { + *x = SociatyBRankReq{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBRankReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBRankReq) ProtoMessage() {} + +func (x *SociatyBRankReq) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[61] + 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 SociatyBRankReq.ProtoReflect.Descriptor instead. +func (*SociatyBRankReq) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{61} +} + +func (x *SociatyBRankReq) GetRankType() int32 { + if x != nil { + return x.RankType + } + return 0 +} + +type SociatyRankInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` //昵称 + Head string `protobuf:"bytes,2,opt,name=head,proto3" json:"head"` //头像 + Lv int32 `protobuf:"varint,3,opt,name=lv,proto3" json:"lv"` //等级 + SociatyName string `protobuf:"bytes,4,opt,name=sociatyName,proto3" json:"sociatyName"` //公会名称 + Ranking int32 `protobuf:"varint,5,opt,name=ranking,proto3" json:"ranking"` //名次 + Evaluate int64 `protobuf:"varint,6,opt,name=evaluate,proto3" json:"evaluate"` //积分 +} + +func (x *SociatyRankInfo) Reset() { + *x = SociatyRankInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyRankInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyRankInfo) ProtoMessage() {} + +func (x *SociatyRankInfo) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[62] + 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 SociatyRankInfo.ProtoReflect.Descriptor instead. +func (*SociatyRankInfo) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{62} +} + +func (x *SociatyRankInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *SociatyRankInfo) GetHead() string { + if x != nil { + return x.Head + } + return "" +} + +func (x *SociatyRankInfo) GetLv() int32 { + if x != nil { + return x.Lv + } + return 0 +} + +func (x *SociatyRankInfo) GetSociatyName() string { + if x != nil { + return x.SociatyName + } + return "" +} + +func (x *SociatyRankInfo) GetRanking() int32 { + if x != nil { + return x.Ranking + } + return 0 +} + +func (x *SociatyRankInfo) GetEvaluate() int64 { + if x != nil { + return x.Evaluate + } + return 0 +} + +type SociatyBRankResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rank []*SociatyRankInfo `protobuf:"bytes,1,rep,name=rank,proto3" json:"rank"` +} + +func (x *SociatyBRankResp) Reset() { + *x = SociatyBRankResp{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBRankResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBRankResp) ProtoMessage() {} + +func (x *SociatyBRankResp) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[63] + 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 SociatyBRankResp.ProtoReflect.Descriptor instead. +func (*SociatyBRankResp) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{63} +} + +func (x *SociatyBRankResp) GetRank() []*SociatyRankInfo { + if x != nil { + return x.Rank + } + return nil +} + var File_sociaty_sociaty_msg_proto protoreflect.FileDescriptor var file_sociaty_sociaty_msg_proto_rawDesc = []byte{ @@ -2769,165 +3379,237 @@ var file_sociaty_sociaty_msg_proto_rawDesc = []byte{ 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x69, 0x6e, 0x65, 0x52, - 0x65, 0x71, 0x22, 0x63, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x69, 0x6e, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x52, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x06, 0x6d, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x06, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x22, 0xa2, 0x01, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, - 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, - 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x1d, 0x0a, 0x03, 0x6a, - 0x6f, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x66, - 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0b, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x33, 0x0a, 0x13, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, + 0x65, 0x71, 0x22, 0xe1, 0x01, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x69, + 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x52, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x06, + 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x06, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4d, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x54, + 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa2, 0x01, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, + 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x1d, 0x0a, 0x03, 0x6a, 0x6f, + 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x66, 0x66, + 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, + 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x33, 0x0a, 0x13, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, + 0x22, 0x3e, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, + 0x22, 0x2f, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, - 0x64, 0x22, 0x3e, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, - 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x6c, 0x69, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, - 0x74, 0x22, 0x2f, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, - 0x79, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x49, 0x64, 0x22, 0x42, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, - 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x63, 0x6f, 0x69, - 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x63, 0x6f, - 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x35, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, - 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x48, 0x0a, - 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x6e, - 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x10, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, - 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, - 0x22, 0x24, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, - 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x53, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x22, - 0x13, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, - 0x75, 0x69, 0x74, 0x52, 0x65, 0x71, 0x22, 0x41, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x51, 0x75, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x11, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x71, 0x12, 0x18, - 0x0a, 0x07, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, - 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x13, - 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x22, 0x3c, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x6c, 0x69, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, - 0x74, 0x22, 0x2e, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, - 0x64, 0x22, 0x4d, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, - 0x22, 0x31, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x63, 0x68, - 0x61, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, - 0x73, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, - 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x03, 0x6a, 0x6f, 0x62, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x70, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x03, 0x6a, - 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x22, 0x31, - 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, - 0x64, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, - 0x52, 0x65, 0x71, 0x22, 0x41, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, - 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x64, 0x22, 0x42, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x63, 0x6f, 0x69, 0x61, + 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x63, 0x6f, 0x69, + 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x35, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1c, + 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x48, 0x0a, 0x16, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x0f, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x22, 0x31, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x03, 0x6c, 0x6f, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x22, 0x14, 0x0a, 0x12, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x22, 0x37, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, - 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x11, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 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, 0x22, 0x4a, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 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, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x49, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x3f, 0x0a, 0x17, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x2b, 0x0a, - 0x19, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4a, 0x0a, 0x1a, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x22, 0x35, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x72, - 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x22, - 0x33, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x50, 0x44, 0x69, 0x73, 0x6d, 0x69, - 0x73, 0x73, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x50, - 0x41, 0x67, 0x72, 0x65, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x2a, 0x42, 0x0a, 0x11, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x07, - 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x4e, 0x44, 0x49, - 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x10, 0x02, 0x12, - 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x42, 0x06, 0x5a, - 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x10, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, + 0x24, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, + 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x22, 0x13, + 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, + 0x69, 0x74, 0x52, 0x65, 0x71, 0x22, 0x41, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x51, 0x75, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, + 0x07, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x13, 0x0a, + 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x22, 0x3c, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, + 0x22, 0x2e, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, + 0x22, 0x4d, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x22, + 0x31, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x63, 0x68, 0x61, + 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x49, 0x64, 0x22, 0x50, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, + 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4a, + 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x70, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x03, 0x6a, 0x6f, + 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x22, 0x31, 0x0a, + 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, + 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x52, + 0x65, 0x71, 0x22, 0x41, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x0f, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x22, 0x31, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4c, 0x6f, 0x67, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x22, 0x14, 0x0a, 0x12, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, + 0x37, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, + 0x73, 0x6b, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 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, 0x22, 0x4a, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 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, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, + 0x64, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x3f, 0x0a, 0x17, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x19, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4a, 0x0a, 0x1a, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x22, 0x35, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x61, + 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x22, 0x33, 0x0a, 0x13, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x50, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x50, 0x75, 0x73, + 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, + 0x43, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x50, 0x41, 0x67, 0x72, 0x65, 0x65, + 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x49, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x42, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, + 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x74, + 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x42, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x65, + 0x61, 0x6d, 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, + 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x47, + 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x42, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x22, + 0x47, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x43, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2e, 0x0a, 0x18, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x42, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, + 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x63, 0x61, 0x74, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x19, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x42, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x63, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3b, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x65, + 0x61, 0x6d, 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, + 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4a, + 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x13, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x42, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, + 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x61, + 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, + 0x61, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x6c, 0x76, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x1a, + 0x0a, 0x08, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x08, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x22, 0x38, 0x0a, 0x10, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, + 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, + 0x72, 0x61, 0x6e, 0x6b, 0x2a, 0x42, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, + 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, + 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x10, 0x01, 0x12, 0x0b, 0x0a, + 0x07, 0x4e, 0x4f, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x50, + 0x50, 0x4c, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2943,7 +3625,7 @@ func file_sociaty_sociaty_msg_proto_rawDescGZIP() []byte { } var file_sociaty_sociaty_msg_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_sociaty_sociaty_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 53) +var file_sociaty_sociaty_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 67) var file_sociaty_sociaty_msg_proto_goTypes = []interface{}{ (SociatyListFilter)(0), // 0: SociatyListFilter (*SociatyCreateReq)(nil), // 1: SociatyCreateReq @@ -2999,33 +3681,55 @@ var file_sociaty_sociaty_msg_proto_goTypes = []interface{}{ (*SociatyRankResp)(nil), // 51: SociatyRankResp (*SociatyPDismissPush)(nil), // 52: SociatyPDismissPush (*SociatyPAgreePush)(nil), // 53: SociatyPAgreePush - (*DBSociaty)(nil), // 54: DBSociaty - (SociatyJob)(0), // 55: SociatyJob - (*DBSociatyLog)(nil), // 56: DBSociatyLog - (*SociatyTask)(nil), // 57: SociatyTask - (*SociatyActivity)(nil), // 58: SociatyActivity - (*DBSociatyRank)(nil), // 59: DBSociatyRank + (*SociatyBFormationReq)(nil), // 54: SociatyBFormationReq + (*SociatyBFormationResp)(nil), // 55: SociatyBFormationResp + (*SociatyBChallengeReq)(nil), // 56: SociatyBChallengeReq + (*SociatyBChallengeResp)(nil), // 57: SociatyBChallengeResp + (*SociatyBFormationRecoReq)(nil), // 58: SociatyBFormationRecoReq + (*SociatyBFormationRecoResp)(nil), // 59: SociatyBFormationRecoResp + (*SociatyBReceiveReq)(nil), // 60: SociatyBReceiveReq + (*SociatyBReceiveResp)(nil), // 61: SociatyBReceiveResp + (*SociatyBRankReq)(nil), // 62: SociatyBRankReq + (*SociatyRankInfo)(nil), // 63: SociatyRankInfo + (*SociatyBRankResp)(nil), // 64: SociatyBRankResp + nil, // 65: SociatyMineResp.TeamsEntry + nil, // 66: SociatyBFormationReq.TeamsEntry + nil, // 67: SociatyBFormationRecoResp.TeamsEntry + (*DBSociaty)(nil), // 68: DBSociaty + (SociatyJob)(0), // 69: SociatyJob + (*DBSociatyLog)(nil), // 70: DBSociatyLog + (*SociatyTask)(nil), // 71: SociatyTask + (*SociatyActivity)(nil), // 72: SociatyActivity + (*DBSociatyRank)(nil), // 73: DBSociatyRank + (*ChallengeTeams)(nil), // 74: ChallengeTeams } var file_sociaty_sociaty_msg_proto_depIdxs = []int32{ 0, // 0: SociatyListReq.filter:type_name -> SociatyListFilter - 54, // 1: SociatyListResp.list:type_name -> DBSociaty - 54, // 2: SociatySearchResp.list:type_name -> DBSociaty - 54, // 3: SociatyMineResp.sociaty:type_name -> DBSociaty + 68, // 1: SociatyListResp.list:type_name -> DBSociaty + 68, // 2: SociatySearchResp.list:type_name -> DBSociaty + 68, // 3: SociatyMineResp.sociaty:type_name -> DBSociaty 11, // 4: SociatyMineResp.master:type_name -> SociatyMemberInfo - 55, // 5: SociatyMemberInfo.job:type_name -> SociatyJob - 11, // 6: SociatyApplyListResp.list:type_name -> SociatyMemberInfo - 11, // 7: SociatyMembersResp.list:type_name -> SociatyMemberInfo - 55, // 8: SociatySettingJobReq.job:type_name -> SociatyJob - 55, // 9: SociatySettingJobResp.job:type_name -> SociatyJob - 56, // 10: SociatyLogResp.log:type_name -> DBSociatyLog - 57, // 11: SociatyTaskListResp.list:type_name -> SociatyTask - 58, // 12: SociatyActivityListResp.list:type_name -> SociatyActivity - 59, // 13: SociatyRankResp.rank:type_name -> DBSociatyRank - 14, // [14:14] is the sub-list for method output_type - 14, // [14:14] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 65, // 5: SociatyMineResp.teams:type_name -> SociatyMineResp.TeamsEntry + 69, // 6: SociatyMemberInfo.job:type_name -> SociatyJob + 11, // 7: SociatyApplyListResp.list:type_name -> SociatyMemberInfo + 11, // 8: SociatyMembersResp.list:type_name -> SociatyMemberInfo + 69, // 9: SociatySettingJobReq.job:type_name -> SociatyJob + 69, // 10: SociatySettingJobResp.job:type_name -> SociatyJob + 70, // 11: SociatyLogResp.log:type_name -> DBSociatyLog + 71, // 12: SociatyTaskListResp.list:type_name -> SociatyTask + 72, // 13: SociatyActivityListResp.list:type_name -> SociatyActivity + 73, // 14: SociatyRankResp.rank:type_name -> DBSociatyRank + 66, // 15: SociatyBFormationReq.teams:type_name -> SociatyBFormationReq.TeamsEntry + 67, // 16: SociatyBFormationRecoResp.teams:type_name -> SociatyBFormationRecoResp.TeamsEntry + 63, // 17: SociatyBRankResp.rank:type_name -> SociatyRankInfo + 74, // 18: SociatyMineResp.TeamsEntry.value:type_name -> ChallengeTeams + 74, // 19: SociatyBFormationReq.TeamsEntry.value:type_name -> ChallengeTeams + 74, // 20: SociatyBFormationRecoResp.TeamsEntry.value:type_name -> ChallengeTeams + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name } func init() { file_sociaty_sociaty_msg_proto_init() } @@ -3671,6 +4375,138 @@ func file_sociaty_sociaty_msg_proto_init() { return nil } } + file_sociaty_sociaty_msg_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBFormationReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBFormationResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBChallengeReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBChallengeResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBFormationRecoReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBFormationRecoResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBReceiveReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBReceiveResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBRankReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyRankInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBRankResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -3678,7 +4514,7 @@ func file_sociaty_sociaty_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_sociaty_sociaty_msg_proto_rawDesc, NumEnums: 1, - NumMessages: 53, + NumMessages: 67, NumExtensions: 0, NumServices: 0, },