上传问卷调查代码

This commit is contained in:
liwei 2023-07-21 16:45:26 +08:00
parent 8433020849
commit 562367e410
17 changed files with 3382 additions and 7356 deletions

View File

@ -23,13 +23,12 @@
"key": "English_01",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 1,
"plantrue": [
1
]
"plantrue": 1
},
{
"id": 2,
@ -55,13 +54,12 @@
"key": "English_02",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 1,
"plantrue": [
1
]
"plantrue": 1
},
{
"id": 3,
@ -87,13 +85,12 @@
"key": "English_03",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 1,
"plantrue": [
1
]
"plantrue": 1
},
{
"id": 4,
@ -119,13 +116,12 @@
"key": "English_04",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 1,
"plantrue": [
1
]
"plantrue": 1
},
{
"id": 5,
@ -151,13 +147,12 @@
"key": "English_05",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 1,
"plantrue": [
1
]
"plantrue": 1
},
{
"id": 6,
@ -183,13 +178,12 @@
"key": "English_06",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 1,
"plantrue": [
1
]
"plantrue": 1
},
{
"id": 7,
@ -215,13 +209,12 @@
"key": "English_07",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 1,
"plantrue": [
1
]
"plantrue": 1
},
{
"id": 8,
@ -247,13 +240,12 @@
"key": "English_08",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 1,
"plantrue": [
1
]
"plantrue": 1
},
{
"id": 9,
@ -279,13 +271,12 @@
"key": "English_09",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 1,
"plantrue": [
1
]
"plantrue": 1
},
{
"id": 10,
@ -311,13 +302,12 @@
"key": "English_10",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 1,
"plantrue": [
1
]
"plantrue": 1
},
{
"id": 11,
@ -343,14 +333,12 @@
"key": "English_11",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": [
1,
2
]
"plantrue": 3
},
{
"id": 12,
@ -376,14 +364,12 @@
"key": "English_12",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": [
1,
2
]
"plantrue": 3
},
{
"id": 13,
@ -409,14 +395,12 @@
"key": "English_13",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": [
1,
2
]
"plantrue": 3
},
{
"id": 14,
@ -442,14 +426,12 @@
"key": "English_14",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": [
1,
2
]
"plantrue": 3
},
{
"id": 15,
@ -475,14 +457,12 @@
"key": "English_15",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": [
1,
2
]
"plantrue": 3
},
{
"id": 16,
@ -508,14 +488,12 @@
"key": "English_16",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": [
1,
2
]
"plantrue": 3
},
{
"id": 17,
@ -541,14 +519,12 @@
"key": "English_17",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": [
1,
2
]
"plantrue": 3
},
{
"id": 18,
@ -574,14 +550,12 @@
"key": "English_18",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": [
1,
2
]
"plantrue": 3
},
{
"id": 19,
@ -607,13 +581,11 @@
"key": "English_19",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": [
1,
2
]
"plantrue": 3
}
]

View File

@ -33,15 +33,15 @@
"consumeB": [
{
"a": "attr",
"t": "gold",
"n": 10
"t": "diamond",
"n": 200
}
],
"consumeB10": [
{
"a": "attr",
"t": "gold",
"n": 100
"t": "diamond",
"n": 2000
}
],
"attgr_display": [
@ -100,15 +100,15 @@
"consumeB": [
{
"a": "attr",
"t": "gold",
"n": 10
"t": "diamond",
"n": 200
}
],
"consumeB10": [
{
"a": "attr",
"t": "gold",
"n": 100
"t": "diamond",
"n": 2000
}
],
"attgr_display": [
@ -158,15 +158,15 @@
"consumeB": [
{
"a": "attr",
"t": "gold",
"n": 10
"t": "diamond",
"n": 200
}
],
"consumeB10": [
{
"a": "attr",
"t": "gold",
"n": 100
"t": "diamond",
"n": 2000
}
],
"attgr_display": [
@ -216,15 +216,15 @@
"consumeB": [
{
"a": "attr",
"t": "gold",
"n": 10
"t": "diamond",
"n": 200
}
],
"consumeB10": [
{
"a": "attr",
"t": "gold",
"n": 100
"t": "diamond",
"n": 2000
}
],
"attgr_display": [
@ -274,15 +274,15 @@
"consumeB": [
{
"a": "attr",
"t": "gold",
"n": 10
"t": "diamond",
"n": 200
}
],
"consumeB10": [
{
"a": "attr",
"t": "gold",
"n": 100
"t": "diamond",
"n": 2000
}
],
"attgr_display": [
@ -332,15 +332,15 @@
"consumeB": [
{
"a": "attr",
"t": "gold",
"n": 10
"t": "diamond",
"n": 200
}
],
"consumeB10": [
{
"a": "attr",
"t": "gold",
"n": 100
"t": "diamond",
"n": 2000
}
],
"attgr_display": [
@ -390,15 +390,15 @@
"consumeB": [
{
"a": "attr",
"t": "gold",
"n": 10
"t": "diamond",
"n": 200
}
],
"consumeB10": [
{
"a": "attr",
"t": "gold",
"n": 100
"t": "diamond",
"n": 2000
}
],
"attgr_display": [

View File

@ -28,7 +28,7 @@
}
],
"drop": 10001000,
"heroexp": 60,
"heroexp": 200,
"bossmodel": 53001,
"boss": [
401003
@ -84,7 +84,7 @@
}
],
"drop": 10002000,
"heroexp": 88,
"heroexp": 242,
"bossmodel": 53001,
"boss": [
401006
@ -145,7 +145,7 @@
}
],
"drop": 10003000,
"heroexp": 120,
"heroexp": 288,
"bossmodel": 53001,
"boss": [
401009
@ -206,7 +206,7 @@
}
],
"drop": 10004000,
"heroexp": 156,
"heroexp": 338,
"bossmodel": 53001,
"boss": [
401012
@ -267,7 +267,7 @@
}
],
"drop": 10005000,
"heroexp": 196,
"heroexp": 392,
"bossmodel": 53001,
"boss": [
401015
@ -328,7 +328,7 @@
}
],
"drop": 10006000,
"heroexp": 240,
"heroexp": 450,
"bossmodel": 53001,
"boss": [
401018
@ -394,7 +394,7 @@
}
],
"drop": 10007000,
"heroexp": 288,
"heroexp": 512,
"bossmodel": 53001,
"boss": [
401021
@ -460,7 +460,7 @@
}
],
"drop": 10008000,
"heroexp": 340,
"heroexp": 578,
"bossmodel": 53001,
"boss": [
401024
@ -526,7 +526,7 @@
}
],
"drop": 10009000,
"heroexp": 450,
"heroexp": 648,
"bossmodel": 53001,
"boss": [
401027
@ -592,7 +592,7 @@
}
],
"drop": 10010000,
"heroexp": 570,
"heroexp": 722,
"bossmodel": 53001,
"boss": [
401030
@ -658,7 +658,7 @@
}
],
"drop": 10011000,
"heroexp": 700,
"heroexp": 800,
"bossmodel": 53001,
"boss": [
401033
@ -780,7 +780,7 @@
}
],
"drop": 20001000,
"heroexp": 60,
"heroexp": 200,
"bossmodel": 51004,
"boss": [
402003
@ -836,7 +836,7 @@
}
],
"drop": 20002000,
"heroexp": 88,
"heroexp": 242,
"bossmodel": 51004,
"boss": [
402006
@ -897,7 +897,7 @@
}
],
"drop": 20003000,
"heroexp": 120,
"heroexp": 288,
"bossmodel": 51004,
"boss": [
402009
@ -958,7 +958,7 @@
}
],
"drop": 20004000,
"heroexp": 156,
"heroexp": 338,
"bossmodel": 51004,
"boss": [
402012
@ -1019,7 +1019,7 @@
}
],
"drop": 20005000,
"heroexp": 196,
"heroexp": 392,
"bossmodel": 51004,
"boss": [
402015
@ -1080,7 +1080,7 @@
}
],
"drop": 20006000,
"heroexp": 240,
"heroexp": 450,
"bossmodel": 51004,
"boss": [
402018
@ -1146,7 +1146,7 @@
}
],
"drop": 20007000,
"heroexp": 288,
"heroexp": 512,
"bossmodel": 51004,
"boss": [
402021
@ -1212,7 +1212,7 @@
}
],
"drop": 20008000,
"heroexp": 340,
"heroexp": 578,
"bossmodel": 51004,
"boss": [
402024
@ -1278,7 +1278,7 @@
}
],
"drop": 20009000,
"heroexp": 450,
"heroexp": 648,
"bossmodel": 51004,
"boss": [
402027
@ -1344,7 +1344,7 @@
}
],
"drop": 20010000,
"heroexp": 570,
"heroexp": 722,
"bossmodel": 51004,
"boss": [
402030
@ -1410,7 +1410,7 @@
}
],
"drop": 20011000,
"heroexp": 700,
"heroexp": 800,
"bossmodel": 51004,
"boss": [
402033
@ -1532,7 +1532,7 @@
}
],
"drop": 30001000,
"heroexp": 60,
"heroexp": 200,
"bossmodel": 51005,
"boss": [
403003
@ -1588,7 +1588,7 @@
}
],
"drop": 30002000,
"heroexp": 88,
"heroexp": 242,
"bossmodel": 51005,
"boss": [
403006
@ -1649,7 +1649,7 @@
}
],
"drop": 30003000,
"heroexp": 120,
"heroexp": 288,
"bossmodel": 51005,
"boss": [
403009
@ -1710,7 +1710,7 @@
}
],
"drop": 30004000,
"heroexp": 156,
"heroexp": 338,
"bossmodel": 51005,
"boss": [
403012
@ -1771,7 +1771,7 @@
}
],
"drop": 30005000,
"heroexp": 196,
"heroexp": 392,
"bossmodel": 51005,
"boss": [
403015
@ -1832,7 +1832,7 @@
}
],
"drop": 30006000,
"heroexp": 240,
"heroexp": 450,
"bossmodel": 51005,
"boss": [
403018
@ -1898,7 +1898,7 @@
}
],
"drop": 30007000,
"heroexp": 288,
"heroexp": 512,
"bossmodel": 51005,
"boss": [
403021
@ -1964,7 +1964,7 @@
}
],
"drop": 30008000,
"heroexp": 340,
"heroexp": 578,
"bossmodel": 51005,
"boss": [
403024
@ -2030,7 +2030,7 @@
}
],
"drop": 30009000,
"heroexp": 450,
"heroexp": 648,
"bossmodel": 51005,
"boss": [
403027
@ -2096,7 +2096,7 @@
}
],
"drop": 30010000,
"heroexp": 570,
"heroexp": 722,
"bossmodel": 51005,
"boss": [
403030
@ -2162,7 +2162,7 @@
}
],
"drop": 30011000,
"heroexp": 700,
"heroexp": 800,
"bossmodel": 51005,
"boss": [
403033
@ -2284,7 +2284,7 @@
}
],
"drop": 40001000,
"heroexp": 127,
"heroexp": 200,
"bossmodel": 51002,
"boss": [
404003
@ -2340,7 +2340,7 @@
}
],
"drop": 40002000,
"heroexp": 128,
"heroexp": 242,
"bossmodel": 51002,
"boss": [
404006
@ -2401,7 +2401,7 @@
}
],
"drop": 40003000,
"heroexp": 129,
"heroexp": 288,
"bossmodel": 51002,
"boss": [
404009
@ -2462,7 +2462,7 @@
}
],
"drop": 40004000,
"heroexp": 130,
"heroexp": 338,
"bossmodel": 51002,
"boss": [
404012
@ -2523,7 +2523,7 @@
}
],
"drop": 40005000,
"heroexp": 131,
"heroexp": 392,
"bossmodel": 51002,
"boss": [
404015
@ -2584,7 +2584,7 @@
}
],
"drop": 40006000,
"heroexp": 132,
"heroexp": 450,
"bossmodel": 51002,
"boss": [
404018
@ -2650,7 +2650,7 @@
}
],
"drop": 40007000,
"heroexp": 133,
"heroexp": 512,
"bossmodel": 51002,
"boss": [
404021
@ -2716,7 +2716,7 @@
}
],
"drop": 40008000,
"heroexp": 134,
"heroexp": 578,
"bossmodel": 51002,
"boss": [
404024
@ -2782,7 +2782,7 @@
}
],
"drop": 40009000,
"heroexp": 135,
"heroexp": 648,
"bossmodel": 51002,
"boss": [
404027
@ -2848,7 +2848,7 @@
}
],
"drop": 40010000,
"heroexp": 136,
"heroexp": 722,
"bossmodel": 51002,
"boss": [
404030
@ -2914,7 +2914,7 @@
}
],
"drop": 40011000,
"heroexp": 137,
"heroexp": 800,
"bossmodel": 51002,
"boss": [
404033
@ -2980,7 +2980,7 @@
}
],
"drop": 40012000,
"heroexp": 138,
"heroexp": 800,
"bossmodel": 51002,
"boss": [
404036

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
{
"id": "10001",
"job": 0,
"race": 3,
"race": 2,
"type": 1,
"name": {
"key": "item_pandamas_jx_name_1",
@ -27,7 +27,7 @@
"key": "item_pandamas_jx_description_1",
"text": "训练直觉守护者时训练时长提升20%"
},
"duration": 36,
"duration": 200,
"exp": 0,
"probability": 0,
"ants": [],
@ -64,7 +64,7 @@
"key": "item_pandamas_jx_description_2",
"text": "训练真诚守护者时训练时长提升20%"
},
"duration": 36,
"duration": 200,
"exp": 0,
"probability": 0,
"ants": [],
@ -76,7 +76,7 @@
{
"id": "10003",
"job": 0,
"race": 2,
"race": 3,
"type": 1,
"name": {
"key": "item_pandamas_jx_name_3",
@ -101,7 +101,7 @@
"key": "item_pandamas_jx_description_3",
"text": "训练共情守护者时训练时长提升20%"
},
"duration": 36,
"duration": 200,
"exp": 0,
"probability": 0,
"ants": [],
@ -138,7 +138,7 @@
"key": "item_pandamas_jx_description_4",
"text": "训练责任守护者时训练时长提升20%"
},
"duration": 36,
"duration": 200,
"exp": 0,
"probability": 0,
"ants": [],
@ -150,7 +150,7 @@
{
"id": "10005",
"job": 0,
"race": 3,
"race": 2,
"type": 1,
"name": {
"key": "item_pandamas_jx_name_5",
@ -224,7 +224,7 @@
{
"id": "10007",
"job": 0,
"race": 2,
"race": 3,
"type": 1,
"name": {
"key": "item_pandamas_jx_name_7",
@ -490,7 +490,7 @@
{
"id": "20001",
"job": 0,
"race": 3,
"race": 2,
"type": 2,
"name": {
"key": "item_pandamas_jx_name_13",
@ -575,7 +575,7 @@
{
"id": "20003",
"job": 0,
"race": 2,
"race": 3,
"type": 2,
"name": {
"key": "item_pandamas_jx_name_15",
@ -649,7 +649,7 @@
{
"id": "20005",
"job": 0,
"race": 3,
"race": 2,
"type": 2,
"name": {
"key": "item_pandamas_jx_name_17",
@ -745,7 +745,7 @@
{
"id": "20007",
"job": 0,
"race": 2,
"race": 3,
"type": 2,
"name": {
"key": "item_pandamas_jx_name_19",
@ -1106,7 +1106,7 @@
"key": "item_pandamas_jx_description_26",
"text": "提升可挂机的时间{0}分"
},
"duration": 1,
"duration": 200,
"exp": 0,
"probability": 0,
"ants": [],
@ -1143,7 +1143,7 @@
"key": "item_pandamas_jx_description_27",
"text": "提升可挂机的时间{0}分"
},
"duration": 1,
"duration": 200,
"exp": 0,
"probability": 0,
"ants": [],
@ -1180,7 +1180,7 @@
"key": "item_pandamas_jx_description_28",
"text": "提升可挂机的时间{0}分,提升经验值获取{0}%"
},
"duration": 1,
"duration": 200,
"exp": 10,
"probability": 0,
"ants": [],

View File

@ -6,11 +6,6 @@
"monetaryunit": "¥",
"amount": 600,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 60
},
{
"a": "attr",
"t": "diamond",
@ -18,11 +13,6 @@
}
],
"diamond_num_double": [
{
"a": "attr",
"t": "vipexp",
"n": 60
},
{
"a": "attr",
"t": "diamond",
@ -41,11 +31,6 @@
"monetaryunit": "¥",
"amount": 3000,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 300
},
{
"a": "attr",
"t": "diamond",
@ -53,11 +38,6 @@
}
],
"diamond_num_double": [
{
"a": "attr",
"t": "vipexp",
"n": 300
},
{
"a": "attr",
"t": "diamond",
@ -76,11 +56,6 @@
"monetaryunit": "¥",
"amount": 6800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 680
},
{
"a": "attr",
"t": "diamond",
@ -88,11 +63,6 @@
}
],
"diamond_num_double": [
{
"a": "attr",
"t": "vipexp",
"n": 680
},
{
"a": "attr",
"t": "diamond",
@ -111,11 +81,6 @@
"monetaryunit": "¥",
"amount": 9800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 980
},
{
"a": "attr",
"t": "diamond",
@ -123,11 +88,6 @@
}
],
"diamond_num_double": [
{
"a": "attr",
"t": "vipexp",
"n": 980
},
{
"a": "attr",
"t": "diamond",
@ -146,11 +106,6 @@
"monetaryunit": "¥",
"amount": 12800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 1280
},
{
"a": "attr",
"t": "diamond",
@ -158,11 +113,6 @@
}
],
"diamond_num_double": [
{
"a": "attr",
"t": "vipexp",
"n": 1280
},
{
"a": "attr",
"t": "diamond",
@ -181,11 +131,6 @@
"monetaryunit": "¥",
"amount": 19800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 1980
},
{
"a": "attr",
"t": "diamond",
@ -193,11 +138,6 @@
}
],
"diamond_num_double": [
{
"a": "attr",
"t": "vipexp",
"n": 1980
},
{
"a": "attr",
"t": "diamond",
@ -216,11 +156,6 @@
"monetaryunit": "¥",
"amount": 32800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 3280
},
{
"a": "attr",
"t": "diamond",
@ -228,11 +163,6 @@
}
],
"diamond_num_double": [
{
"a": "attr",
"t": "vipexp",
"n": 3280
},
{
"a": "attr",
"t": "diamond",
@ -251,11 +181,6 @@
"monetaryunit": "¥",
"amount": 64800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 6480
},
{
"a": "attr",
"t": "diamond",
@ -263,11 +188,6 @@
}
],
"diamond_num_double": [
{
"a": "attr",
"t": "vipexp",
"n": 6480
},
{
"a": "attr",
"t": "diamond",
@ -285,13 +205,7 @@
"recharge_type": 2,
"monetaryunit": "¥",
"amount": 600,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 60
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -304,13 +218,7 @@
"recharge_type": 2,
"monetaryunit": "¥",
"amount": 600,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 60
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -323,13 +231,7 @@
"recharge_type": 2,
"monetaryunit": "¥",
"amount": 3000,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 300
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -342,13 +244,7 @@
"recharge_type": 2,
"monetaryunit": "¥",
"amount": 6800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 680
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -361,13 +257,7 @@
"recharge_type": 2,
"monetaryunit": "¥",
"amount": 12800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 1280
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -380,13 +270,7 @@
"recharge_type": 2,
"monetaryunit": "¥",
"amount": 3000,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 300
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -399,13 +283,7 @@
"recharge_type": 2,
"monetaryunit": "¥",
"amount": 9800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 980
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -418,13 +296,7 @@
"recharge_type": 2,
"monetaryunit": "¥",
"amount": 19800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 1980
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -437,13 +309,7 @@
"recharge_type": 2,
"monetaryunit": "¥",
"amount": 32800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 3280
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -456,13 +322,7 @@
"recharge_type": 2,
"monetaryunit": "¥",
"amount": 44800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 4480
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -475,13 +335,7 @@
"recharge_type": 2,
"monetaryunit": "¥",
"amount": 64800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 6480
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -494,13 +348,7 @@
"recharge_type": 2,
"monetaryunit": "¥",
"amount": 12800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 1280
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -513,13 +361,7 @@
"recharge_type": 2,
"monetaryunit": "¥",
"amount": 19800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 1980
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -532,13 +374,7 @@
"recharge_type": 2,
"monetaryunit": "¥",
"amount": 32800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 3280
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -552,11 +388,6 @@
"monetaryunit": "¥",
"amount": 3000,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 300
},
{
"a": "attr",
"t": "diamond",
@ -576,11 +407,6 @@
"monetaryunit": "¥",
"amount": 9800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 980
},
{
"a": "attr",
"t": "diamond",
@ -599,13 +425,7 @@
"recharge_type": 4,
"monetaryunit": "¥",
"amount": 9800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 980
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -618,13 +438,7 @@
"recharge_type": 4,
"monetaryunit": "¥",
"amount": 9800,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 980
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",
@ -637,13 +451,7 @@
"recharge_type": 5,
"monetaryunit": "¥",
"amount": 3000,
"vipexp": [
{
"a": "attr",
"t": "vipexp",
"n": 300
}
],
"vipexp": [],
"diamond_num_double": [],
"channel": "0",
"text": "0",

View File

@ -34,65 +34,66 @@ const (
// 模块名定义处
const (
ModuleSys core.M_Modules = "sys" //系统
ModuleGate core.M_Modules = "gateway" //gate模块 网关服务模块
ModuleWeb core.M_Modules = "web" //后台模块
ModuleUser core.M_Modules = "user" //用户模块
ModulePack core.M_Modules = "pack" //背包模块
ModuleMail core.M_Modules = "mail" //邮件模块
ModuleFriend core.M_Modules = "friend" //好友模块
ModuleMgoLog core.M_Modules = "mgolog" //日志模块
ModuleEquipment core.M_Modules = "equipment" //装备模块
ModuleHero core.M_Modules = "hero" //英雄模块
ModuleForum core.M_Modules = "forum" //论坛模块
ModuleItems core.M_Modules = "items" //道具模块
ModuleShop core.M_Modules = "shop" //商店模块
ModuleTask core.M_Modules = "task" //任务模块
ModuleNotify core.M_Modules = "notify" //公告模块
ModuleChat core.M_Modules = "chat" //聊天模块
ModuleGM core.M_Modules = "gm" //gm模块
ModulePagoda core.M_Modules = "pagoda" //魔塔模块
ModuleMartialhall core.M_Modules = "martialhall" //武馆模块
ModuleGourmet core.M_Modules = "gourmet" //美食馆
ModuleSmithy core.M_Modules = "smithy" //铁匠铺
ModuleTimer core.M_Modules = "timer" //定时任务模块
ModuleViking core.M_Modules = "viking" //维京远征
ModuleMoonfantasy core.M_Modules = "moonfantasy" //月之秘境模块
ModuleHunting core.M_Modules = "hunting" //狩猎
ModuleLinestory core.M_Modules = "linestory" //支线剧情
ModuleBattle core.M_Modules = "battle" //战斗
ModuleLibrary core.M_Modules = "library" //藏书馆
ModuleArena core.M_Modules = "arena" //竞技场
ModuleTroll core.M_Modules = "troll" //巨怪商队
ModuleHoroscope core.M_Modules = "horoscope" //星座图
ModuleSociaty core.M_Modules = "sociaty" //公会
ModulePay core.M_Modules = "pay" //支付
ModuleAcademy core.M_Modules = "academy" //联盟学院
ModulePrivilege core.M_Modules = "privilege" //特权
ModuleGrowtask core.M_Modules = "growtask" //成长任务
ModuleWorldtask core.M_Modules = "worldtask" //世界任务
ModuleReddot core.M_Modules = "reddot" //红点
ModuleCombat core.M_Modules = "combat" //关卡编辑
ModuleEnchant core.M_Modules = "enchant" //附魔
ModuleAutoBattle core.M_Modules = "autobattle" //自动战斗
ModuleMline core.M_Modules = "mline" //主线模块
ModulePvp core.M_Modules = "pvp" //实时pvp
ModuleDispatch core.M_Modules = "dispatch" //武馆派遣
ModulePractice core.M_Modules = "practice" //熊猫武馆 练功系统
ModulePandaAtlas core.M_Modules = "atlas" //熊猫图鉴
ModuleParkour core.M_Modules = "parkour" //跑酷系统
ModuleTools core.M_Modules = "tools" //工具
ModuleReputation core.M_Modules = "reputation" //阵营声望
ModuleOldtimes core.M_Modules = "oldtimes" //旧时光
ModuleCaravan core.M_Modules = "caravan" //巨怪商队
ModuleBuried core.M_Modules = "buried" //埋点中心
ModuleActivity core.M_Modules = "activity" //活动
ModuleGuidance core.M_Modules = "guidance" //引导
ModuleWtask core.M_Modules = "wtask" //世界任务
ModulePasson core.M_Modules = "passon" //传功房
ModuleWarorder core.M_Modules = "warorder" //战令
ModuleUnionGve core.M_Modules = "uniongve" //工会boos战
ModuleDailytask core.M_Modules = "dailytask" //每日任务
ModuleSys core.M_Modules = "sys" //系统
ModuleGate core.M_Modules = "gateway" //gate模块 网关服务模块
ModuleWeb core.M_Modules = "web" //后台模块
ModuleUser core.M_Modules = "user" //用户模块
ModulePack core.M_Modules = "pack" //背包模块
ModuleMail core.M_Modules = "mail" //邮件模块
ModuleFriend core.M_Modules = "friend" //好友模块
ModuleMgoLog core.M_Modules = "mgolog" //日志模块
ModuleEquipment core.M_Modules = "equipment" //装备模块
ModuleHero core.M_Modules = "hero" //英雄模块
ModuleForum core.M_Modules = "forum" //论坛模块
ModuleItems core.M_Modules = "items" //道具模块
ModuleShop core.M_Modules = "shop" //商店模块
ModuleTask core.M_Modules = "task" //任务模块
ModuleNotify core.M_Modules = "notify" //公告模块
ModuleChat core.M_Modules = "chat" //聊天模块
ModuleGM core.M_Modules = "gm" //gm模块
ModulePagoda core.M_Modules = "pagoda" //魔塔模块
ModuleMartialhall core.M_Modules = "martialhall" //武馆模块
ModuleGourmet core.M_Modules = "gourmet" //美食馆
ModuleSmithy core.M_Modules = "smithy" //铁匠铺
ModuleTimer core.M_Modules = "timer" //定时任务模块
ModuleViking core.M_Modules = "viking" //维京远征
ModuleMoonfantasy core.M_Modules = "moonfantasy" //月之秘境模块
ModuleHunting core.M_Modules = "hunting" //狩猎
ModuleLinestory core.M_Modules = "linestory" //支线剧情
ModuleBattle core.M_Modules = "battle" //战斗
ModuleLibrary core.M_Modules = "library" //藏书馆
ModuleArena core.M_Modules = "arena" //竞技场
ModuleTroll core.M_Modules = "troll" //巨怪商队
ModuleHoroscope core.M_Modules = "horoscope" //星座图
ModuleSociaty core.M_Modules = "sociaty" //公会
ModulePay core.M_Modules = "pay" //支付
ModuleAcademy core.M_Modules = "academy" //联盟学院
ModulePrivilege core.M_Modules = "privilege" //特权
ModuleGrowtask core.M_Modules = "growtask" //成长任务
ModuleWorldtask core.M_Modules = "worldtask" //世界任务
ModuleReddot core.M_Modules = "reddot" //红点
ModuleCombat core.M_Modules = "combat" //关卡编辑
ModuleEnchant core.M_Modules = "enchant" //附魔
ModuleAutoBattle core.M_Modules = "autobattle" //自动战斗
ModuleMline core.M_Modules = "mline" //主线模块
ModulePvp core.M_Modules = "pvp" //实时pvp
ModuleDispatch core.M_Modules = "dispatch" //武馆派遣
ModulePractice core.M_Modules = "practice" //熊猫武馆 练功系统
ModulePandaAtlas core.M_Modules = "atlas" //熊猫图鉴
ModuleParkour core.M_Modules = "parkour" //跑酷系统
ModuleTools core.M_Modules = "tools" //工具
ModuleReputation core.M_Modules = "reputation" //阵营声望
ModuleOldtimes core.M_Modules = "oldtimes" //旧时光
ModuleCaravan core.M_Modules = "caravan" //巨怪商队
ModuleBuried core.M_Modules = "buried" //埋点中心
ModuleActivity core.M_Modules = "activity" //活动
ModuleGuidance core.M_Modules = "guidance" //引导
ModuleWtask core.M_Modules = "wtask" //世界任务
ModulePasson core.M_Modules = "passon" //传功房
ModuleWarorder core.M_Modules = "warorder" //战令
ModuleUnionGve core.M_Modules = "uniongve" //工会boos战
ModuleDailytask core.M_Modules = "dailytask" //每日任务
ModuleQuestionnaire core.M_Modules = "questionnaire" //问卷调查
)
// 数据表名定义处

View File

@ -0,0 +1,98 @@
package questionnaire
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
// 参数校验
func (this *apiComp) AnswerCheck(session comm.IUserSession, req *pb.QuestionnaireAnswerReq) (errdata *pb.ErrorData) {
return
}
// /设置战斗阵型
func (this *apiComp) Answer(session comm.IUserSession, req *pb.QuestionnaireAnswerReq) (errdata *pb.ErrorData) {
var (
info *pb.DBQuestionnaire
group *pb.DBQuestionGroup
groupconfig *cfg.GameAskAllData
asks []*cfg.GameAskLibraryData
ok bool
finish bool
correct []int32
totalsocre int32
err error
award []*pb.UserAssets
)
if errdata = this.AnswerCheck(session, req); errdata != nil {
return
}
if info, err = this.module.modelQuestionnaire.getUserQuestionnaire(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
if group, ok = info.Group[req.Group]; !ok {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: fmt.Sprintf("no found group:%d", req.Group),
}
}
finish = true
correct = make([]int32, 0)
for i, v := range group.Questions {
if asks[i], err = this.module.configure.getGameAskLibraryDataById(v); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
totalsocre += asks[i].Fraction
if v == req.Qid && group.Answer[i] == 0 {
group.Answer[i] = req.Answer
if req.Answer == asks[i].Plantrue {
correct = append(correct, v)
group.Fraction += asks[i].Fraction
}
}
if group.Answer[i] == 0 {
finish = false
}
}
if finish { //题目做完了
if float32(group.Fraction) > float32(totalsocre)/float32(2) {
if groupconfig, err = this.module.configure.getAskAllData(group.Group); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
award = make([]*pb.UserAssets, 0)
for _, v := range groupconfig.Reward {
award = append(award, &pb.UserAssets{
A: v.A,
T: v.T,
N: v.N,
})
}
this.module.DispenseRes(session, groupconfig.Reward, true)
}
}
session.SendMsg(string(this.module.GetType()), "answer", &pb.QuestionnaireAnswerResp{Info: info.Group[req.Group], Group: req.Group, Award: award})
return
}

View File

@ -0,0 +1,73 @@
package questionnaire
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
// 参数校验
func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.QuestionnaireInfoReq) (errdata *pb.ErrorData) {
return
}
// /设置战斗阵型
func (this *apiComp) Info(session comm.IUserSession, req *pb.QuestionnaireInfoReq) (errdata *pb.ErrorData) {
var (
info *pb.DBQuestionnaire
conf *cfg.GameAskAllData
asks []*cfg.GameAskLibraryData
ok bool
err error
)
if errdata = this.InfoCheck(session, req); errdata != nil {
return
}
if info, err = this.module.modelQuestionnaire.getUserQuestionnaire(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
if _, ok = info.Group[req.Group]; !ok {
if conf, err = this.module.configure.getAskAllData(req.Group); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
if asks, err = this.module.configure.getGameAskLibraryData(conf.ExaminationGroup, conf.Examinationnum); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
info.Group[req.Group] = &pb.DBQuestionGroup{
Group: req.Group,
Questions: make([]int32, len(asks)),
Answer: make([]int32, len(asks)),
}
for i, v := range asks {
info.Group[req.Group].Questions[i] = v.Id
info.Group[req.Group].Answer[i] = 0
}
if err = this.module.modelQuestionnaire.updateUserQuestionnaire(session.GetUserId(), info); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
}
session.SendMsg(string(this.module.GetType()), "info", &pb.QuestionnaireInfoResp{Info: info.Group[req.Group], Group: req.Group})
return
}

View File

@ -1,33 +1,129 @@
package questionnaire
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"sync"
)
const (
gameWorldTask = "game_worldtask.json"
gameWorldtaskBattle = "game_worldbattle.json"
gameWorldAll = "game_worldall.json"
gameburiedCond = "game_buriedcondi.json"
gamerdtasknpc = "game_rdtasknpc.json"
game_askall = "game_askall.json"
game_asklibrary = "game_asklibrary.json"
)
type configureComp struct {
modules.MCompConfigure
module *Questionnaire
module *Questionnaire
lock sync.RWMutex
groupAsk map[int32][]*cfg.GameAskLibraryData //key 条件ID
}
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompConfigure.Init(service, module, comp, options)
this.module = module.(*Questionnaire)
err = this.LoadMultiConfigure(map[string]interface{}{
gameWorldTask: cfg.NewGameWorldTask,
gameWorldtaskBattle: cfg.NewGameWorldBattle,
gameWorldAll: cfg.NewGameWorldAll,
gameburiedCond: cfg.NewGameBuriedCondi,
gamerdtasknpc: cfg.NewGameRdtaskNpc,
game_askall: cfg.NewGameAskAll,
})
configure.RegisterConfigure(game_asklibrary, cfg.NewGameAskLibrary, this.updateconfigure)
return
}
// 更新任务配置表
func (this *configureComp) updateconfigure() {
var (
v interface{}
conf *cfg.GameAskLibrary
ok bool
err error
)
if v, err = this.GetConfigure(game_asklibrary); err != nil {
return
}
if conf, ok = v.(*cfg.GameAskLibrary); !ok {
this.module.Error("日常任务配置异常!")
return
}
groupTasksConf := make(map[int32][]*cfg.GameAskLibraryData)
for _, v := range conf.GetDataList() {
if _, ok := groupTasksConf[v.ExaminationGroup]; !ok {
groupTasksConf[v.ExaminationGroup] = make([]*cfg.GameAskLibraryData, 0)
}
groupTasksConf[v.ExaminationGroup] = append(groupTasksConf[v.ExaminationGroup], v)
}
this.lock.Lock()
this.groupAsk = groupTasksConf
this.lock.Unlock()
}
// 获取装备配置数据
func (this *configureComp) getAskAllData(id int32) (configure *cfg.GameAskAllData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_askall); err != nil {
this.module.Errorf("err:%v", err)
return
} else {
if configure, ok = v.(*cfg.GameAskAll).GetDataMap()[id]; !ok {
err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_askall, id)
this.module.Errorf("err:%v", err)
return
}
}
return
}
// 获取装备配置数据
func (this *configureComp) getGameAskLibraryDataById(id int32) (configure *cfg.GameAskLibraryData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_asklibrary); err != nil {
this.module.Errorf("err:%v", err)
return
} else {
if configure, ok = v.(*cfg.GameAskLibrary).GetDataMap()[id]; !ok {
err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_asklibrary, id)
this.module.Errorf("err:%v", err)
return
}
}
return
}
// 随机任务
func (this *configureComp) getGameAskLibraryData(group, num int32) (results []*cfg.GameAskLibraryData, err error) {
var (
asks []*cfg.GameAskLibraryData
rands []int
ok bool
)
this.lock.RLock()
asks, ok = this.groupAsk[group]
this.lock.RUnlock()
if !ok {
err = fmt.Errorf("no found group:%d", group)
return
}
if num > int32(len(asks)) {
num = int32(len(asks))
}
results = make([]*cfg.GameAskLibraryData, 0)
rands = comm.RandShuffle(len(asks))
for i := 0; i < int(num); i++ {
results = append(results, asks[rands[i]])
}
return
}

View File

@ -13,12 +13,12 @@ import (
"go.mongodb.org/mongo-driver/x/bsonx"
)
type ModelDailytask struct {
type ModelQuestionnaire struct {
modules.MCompModel
module *Questionnaire
}
func (this *ModelDailytask) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
func (this *ModelQuestionnaire) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompModel.Init(service, module, comp, options)
this.TableName = comm.TableWtask
this.module = module.(*Questionnaire)
@ -29,35 +29,27 @@ func (this *ModelDailytask) Init(service core.IService, module core.IModule, com
}
// 获取用户全部的埋点数据
func (this *ModelDailytask) getUserWTasks(uid string) (results *pb.DBWTask, err error) {
results = &pb.DBWTask{}
func (this *ModelQuestionnaire) getUserQuestionnaire(uid string) (results *pb.DBQuestionnaire, err error) {
results = &pb.DBQuestionnaire{}
if err = this.Get(uid, results); err != nil && err != mgo.MongodbNil {
this.module.Errorln(err)
return
}
if err == mgo.MongodbNil {
err = nil
results = &pb.DBWTask{
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Currchapter: 0,
Activations: make([]int32, 0),
Accepts: make([]int32, 0),
Completes: make([]int32, 0),
Groups: make(map[int32]int32),
results = &pb.DBQuestionnaire{
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Group: make(map[int32]*pb.DBQuestionGroup),
}
err = this.Add(uid, results)
}
return
}
func (this *ModelDailytask) updateUserWTasks(uid string, data *pb.DBWTask) (err error) {
func (this *ModelQuestionnaire) updateUserQuestionnaire(uid string, data *pb.DBQuestionnaire) (err error) {
if err = this.Change(uid, map[string]interface{}{
"currchapter": data.Currchapter,
"activations": data.Activations,
"accepts": data.Accepts,
"completes": data.Completes,
"groups": data.Groups,
"group": data.Group,
}); err != nil {
this.module.Error("更新用户任务数据 错误!", log.Field{Key: "err", Value: err.Error()})
return

View File

@ -8,13 +8,13 @@ import (
type Questionnaire struct {
modules.ModuleBase
service core.IService
caravan comm.ICaravan
battle comm.IBattle
sys comm.ISys
api *apiComp
configure *configureComp
modelDailytask *ModelDailytask
service core.IService
caravan comm.ICaravan
battle comm.IBattle
sys comm.ISys
api *apiComp
configure *configureComp
modelQuestionnaire *ModelQuestionnaire
}
func NewModule() core.IModule {
@ -22,7 +22,7 @@ func NewModule() core.IModule {
}
func (this *Questionnaire) GetType() core.M_Modules {
return comm.ModuleDailytask
return comm.ModuleQuestionnaire
}
func (this *Questionnaire) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
@ -52,7 +52,7 @@ func (this *Questionnaire) Start() (err error) {
func (this *Questionnaire) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.modelDailytask = this.RegisterComp(new(ModelDailytask)).(*ModelDailytask)
this.modelQuestionnaire = this.RegisterComp(new(ModelQuestionnaire)).(*ModelQuestionnaire)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
}

263
pb/questionnaire_db.pb.go Normal file
View File

@ -0,0 +1,263 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.20.0
// source: questionnaire/questionnaire_db.proto
package pb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
//问卷系统
type DBQuestionnaire struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"`
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"`
Group map[int32]*DBQuestionGroup `protobuf:"bytes,3,rep,name=group,proto3" json:"group" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *DBQuestionnaire) Reset() {
*x = DBQuestionnaire{}
if protoimpl.UnsafeEnabled {
mi := &file_questionnaire_questionnaire_db_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBQuestionnaire) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBQuestionnaire) ProtoMessage() {}
func (x *DBQuestionnaire) ProtoReflect() protoreflect.Message {
mi := &file_questionnaire_questionnaire_db_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBQuestionnaire.ProtoReflect.Descriptor instead.
func (*DBQuestionnaire) Descriptor() ([]byte, []int) {
return file_questionnaire_questionnaire_db_proto_rawDescGZIP(), []int{0}
}
func (x *DBQuestionnaire) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *DBQuestionnaire) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *DBQuestionnaire) GetGroup() map[int32]*DBQuestionGroup {
if x != nil {
return x.Group
}
return nil
}
type DBQuestionGroup struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group int32 `protobuf:"varint,1,opt,name=group,proto3" json:"group"`
Questions []int32 `protobuf:"varint,2,rep,packed,name=questions,proto3" json:"questions"`
Answer []int32 `protobuf:"varint,3,rep,packed,name=answer,proto3" json:"answer"` //采用位运算记录多选情况 0 表示为回答 1,2,4,8 分别表示1,2,3,4的答案的值
Fraction int32 `protobuf:"varint,4,opt,name=fraction,proto3" json:"fraction"` //分值
}
func (x *DBQuestionGroup) Reset() {
*x = DBQuestionGroup{}
if protoimpl.UnsafeEnabled {
mi := &file_questionnaire_questionnaire_db_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBQuestionGroup) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBQuestionGroup) ProtoMessage() {}
func (x *DBQuestionGroup) ProtoReflect() protoreflect.Message {
mi := &file_questionnaire_questionnaire_db_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBQuestionGroup.ProtoReflect.Descriptor instead.
func (*DBQuestionGroup) Descriptor() ([]byte, []int) {
return file_questionnaire_questionnaire_db_proto_rawDescGZIP(), []int{1}
}
func (x *DBQuestionGroup) GetGroup() int32 {
if x != nil {
return x.Group
}
return 0
}
func (x *DBQuestionGroup) GetQuestions() []int32 {
if x != nil {
return x.Questions
}
return nil
}
func (x *DBQuestionGroup) GetAnswer() []int32 {
if x != nil {
return x.Answer
}
return nil
}
func (x *DBQuestionGroup) GetFraction() int32 {
if x != nil {
return x.Fraction
}
return 0
}
var File_questionnaire_questionnaire_db_proto protoreflect.FileDescriptor
var file_questionnaire_questionnaire_db_proto_rawDesc = []byte{
0x0a, 0x24, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x69, 0x72, 0x65, 0x2f,
0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x69, 0x72, 0x65, 0x5f, 0x64, 0x62,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x01, 0x0a, 0x0f, 0x44, 0x42, 0x51, 0x75, 0x65,
0x73, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x69, 0x72, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x05,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x44, 0x42,
0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a,
0x4a, 0x0a, 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
0x2e, 0x44, 0x42, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x79, 0x0a, 0x0f, 0x44,
0x42, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x14,
0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03,
0x28, 0x05, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72,
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x72,
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_questionnaire_questionnaire_db_proto_rawDescOnce sync.Once
file_questionnaire_questionnaire_db_proto_rawDescData = file_questionnaire_questionnaire_db_proto_rawDesc
)
func file_questionnaire_questionnaire_db_proto_rawDescGZIP() []byte {
file_questionnaire_questionnaire_db_proto_rawDescOnce.Do(func() {
file_questionnaire_questionnaire_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_questionnaire_questionnaire_db_proto_rawDescData)
})
return file_questionnaire_questionnaire_db_proto_rawDescData
}
var file_questionnaire_questionnaire_db_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_questionnaire_questionnaire_db_proto_goTypes = []interface{}{
(*DBQuestionnaire)(nil), // 0: DBQuestionnaire
(*DBQuestionGroup)(nil), // 1: DBQuestionGroup
nil, // 2: DBQuestionnaire.GroupEntry
}
var file_questionnaire_questionnaire_db_proto_depIdxs = []int32{
2, // 0: DBQuestionnaire.group:type_name -> DBQuestionnaire.GroupEntry
1, // 1: DBQuestionnaire.GroupEntry.value:type_name -> DBQuestionGroup
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_questionnaire_questionnaire_db_proto_init() }
func file_questionnaire_questionnaire_db_proto_init() {
if File_questionnaire_questionnaire_db_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_questionnaire_questionnaire_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBQuestionnaire); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_questionnaire_questionnaire_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBQuestionGroup); 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{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_questionnaire_questionnaire_db_proto_rawDesc,
NumEnums: 0,
NumMessages: 3,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_questionnaire_questionnaire_db_proto_goTypes,
DependencyIndexes: file_questionnaire_questionnaire_db_proto_depIdxs,
MessageInfos: file_questionnaire_questionnaire_db_proto_msgTypes,
}.Build()
File_questionnaire_questionnaire_db_proto = out.File
file_questionnaire_questionnaire_db_proto_rawDesc = nil
file_questionnaire_questionnaire_db_proto_goTypes = nil
file_questionnaire_questionnaire_db_proto_depIdxs = nil
}

394
pb/questionnaire_msg.pb.go Normal file
View File

@ -0,0 +1,394 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.20.0
// source: questionnaire/questionnaire_msg.proto
package pb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
//问卷信息请求
type QuestionnaireInfoReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group int32 `protobuf:"varint,1,opt,name=group,proto3" json:"group"`
}
func (x *QuestionnaireInfoReq) Reset() {
*x = QuestionnaireInfoReq{}
if protoimpl.UnsafeEnabled {
mi := &file_questionnaire_questionnaire_msg_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QuestionnaireInfoReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QuestionnaireInfoReq) ProtoMessage() {}
func (x *QuestionnaireInfoReq) ProtoReflect() protoreflect.Message {
mi := &file_questionnaire_questionnaire_msg_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QuestionnaireInfoReq.ProtoReflect.Descriptor instead.
func (*QuestionnaireInfoReq) Descriptor() ([]byte, []int) {
return file_questionnaire_questionnaire_msg_proto_rawDescGZIP(), []int{0}
}
func (x *QuestionnaireInfoReq) GetGroup() int32 {
if x != nil {
return x.Group
}
return 0
}
type QuestionnaireInfoResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group int32 `protobuf:"varint,1,opt,name=group,proto3" json:"group"`
Info *DBQuestionGroup `protobuf:"bytes,2,opt,name=info,proto3" json:"info"`
}
func (x *QuestionnaireInfoResp) Reset() {
*x = QuestionnaireInfoResp{}
if protoimpl.UnsafeEnabled {
mi := &file_questionnaire_questionnaire_msg_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QuestionnaireInfoResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QuestionnaireInfoResp) ProtoMessage() {}
func (x *QuestionnaireInfoResp) ProtoReflect() protoreflect.Message {
mi := &file_questionnaire_questionnaire_msg_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QuestionnaireInfoResp.ProtoReflect.Descriptor instead.
func (*QuestionnaireInfoResp) Descriptor() ([]byte, []int) {
return file_questionnaire_questionnaire_msg_proto_rawDescGZIP(), []int{1}
}
func (x *QuestionnaireInfoResp) GetGroup() int32 {
if x != nil {
return x.Group
}
return 0
}
func (x *QuestionnaireInfoResp) GetInfo() *DBQuestionGroup {
if x != nil {
return x.Info
}
return nil
}
//回答问题
type QuestionnaireAnswerReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group int32 `protobuf:"varint,1,opt,name=group,proto3" json:"group"`
Qid int32 `protobuf:"varint,2,opt,name=qid,proto3" json:"qid"`
Answer int32 `protobuf:"varint,3,opt,name=answer,proto3" json:"answer"`
}
func (x *QuestionnaireAnswerReq) Reset() {
*x = QuestionnaireAnswerReq{}
if protoimpl.UnsafeEnabled {
mi := &file_questionnaire_questionnaire_msg_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QuestionnaireAnswerReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QuestionnaireAnswerReq) ProtoMessage() {}
func (x *QuestionnaireAnswerReq) ProtoReflect() protoreflect.Message {
mi := &file_questionnaire_questionnaire_msg_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QuestionnaireAnswerReq.ProtoReflect.Descriptor instead.
func (*QuestionnaireAnswerReq) Descriptor() ([]byte, []int) {
return file_questionnaire_questionnaire_msg_proto_rawDescGZIP(), []int{2}
}
func (x *QuestionnaireAnswerReq) GetGroup() int32 {
if x != nil {
return x.Group
}
return 0
}
func (x *QuestionnaireAnswerReq) GetQid() int32 {
if x != nil {
return x.Qid
}
return 0
}
func (x *QuestionnaireAnswerReq) GetAnswer() int32 {
if x != nil {
return x.Answer
}
return 0
}
//回答问题
type QuestionnaireAnswerResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group int32 `protobuf:"varint,1,opt,name=group,proto3" json:"group"`
Info *DBQuestionGroup `protobuf:"bytes,2,opt,name=info,proto3" json:"info"`
Award []*UserAssets `protobuf:"bytes,3,rep,name=award,proto3" json:"award"` //奖励
}
func (x *QuestionnaireAnswerResp) Reset() {
*x = QuestionnaireAnswerResp{}
if protoimpl.UnsafeEnabled {
mi := &file_questionnaire_questionnaire_msg_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QuestionnaireAnswerResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QuestionnaireAnswerResp) ProtoMessage() {}
func (x *QuestionnaireAnswerResp) ProtoReflect() protoreflect.Message {
mi := &file_questionnaire_questionnaire_msg_proto_msgTypes[3]
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 QuestionnaireAnswerResp.ProtoReflect.Descriptor instead.
func (*QuestionnaireAnswerResp) Descriptor() ([]byte, []int) {
return file_questionnaire_questionnaire_msg_proto_rawDescGZIP(), []int{3}
}
func (x *QuestionnaireAnswerResp) GetGroup() int32 {
if x != nil {
return x.Group
}
return 0
}
func (x *QuestionnaireAnswerResp) GetInfo() *DBQuestionGroup {
if x != nil {
return x.Info
}
return nil
}
func (x *QuestionnaireAnswerResp) GetAward() []*UserAssets {
if x != nil {
return x.Award
}
return nil
}
var File_questionnaire_questionnaire_msg_proto protoreflect.FileDescriptor
var file_questionnaire_questionnaire_msg_proto_rawDesc = []byte{
0x0a, 0x25, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x69, 0x72, 0x65, 0x2f,
0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x69, 0x72, 0x65, 0x5f, 0x6d, 0x73,
0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f,
0x6e, 0x6e, 0x61, 0x69, 0x72, 0x65, 0x2f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x6e,
0x61, 0x69, 0x72, 0x65, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63,
0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2c, 0x0a, 0x14, 0x51, 0x75, 0x65,
0x73, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x69, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
0x71, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x53, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x73, 0x74,
0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x69, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70,
0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x24, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x44, 0x42, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f,
0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x58, 0x0a, 0x16,
0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x69, 0x72, 0x65, 0x41, 0x6e, 0x73,
0x77, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x10, 0x0a, 0x03,
0x71, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x71, 0x69, 0x64, 0x12, 0x16,
0x0a, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x22, 0x78, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69,
0x6f, 0x6e, 0x6e, 0x61, 0x69, 0x72, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73,
0x70, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x24, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x44, 0x42, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69,
0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a,
0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55,
0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64,
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_questionnaire_questionnaire_msg_proto_rawDescOnce sync.Once
file_questionnaire_questionnaire_msg_proto_rawDescData = file_questionnaire_questionnaire_msg_proto_rawDesc
)
func file_questionnaire_questionnaire_msg_proto_rawDescGZIP() []byte {
file_questionnaire_questionnaire_msg_proto_rawDescOnce.Do(func() {
file_questionnaire_questionnaire_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_questionnaire_questionnaire_msg_proto_rawDescData)
})
return file_questionnaire_questionnaire_msg_proto_rawDescData
}
var file_questionnaire_questionnaire_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_questionnaire_questionnaire_msg_proto_goTypes = []interface{}{
(*QuestionnaireInfoReq)(nil), // 0: QuestionnaireInfoReq
(*QuestionnaireInfoResp)(nil), // 1: QuestionnaireInfoResp
(*QuestionnaireAnswerReq)(nil), // 2: QuestionnaireAnswerReq
(*QuestionnaireAnswerResp)(nil), // 3: QuestionnaireAnswerResp
(*DBQuestionGroup)(nil), // 4: DBQuestionGroup
(*UserAssets)(nil), // 5: UserAssets
}
var file_questionnaire_questionnaire_msg_proto_depIdxs = []int32{
4, // 0: QuestionnaireInfoResp.info:type_name -> DBQuestionGroup
4, // 1: QuestionnaireAnswerResp.info:type_name -> DBQuestionGroup
5, // 2: QuestionnaireAnswerResp.award:type_name -> UserAssets
3, // [3:3] is the sub-list for method output_type
3, // [3:3] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension type_name
3, // [3:3] is the sub-list for extension extendee
0, // [0:3] is the sub-list for field type_name
}
func init() { file_questionnaire_questionnaire_msg_proto_init() }
func file_questionnaire_questionnaire_msg_proto_init() {
if File_questionnaire_questionnaire_msg_proto != nil {
return
}
file_questionnaire_questionnaire_db_proto_init()
file_comm_proto_init()
if !protoimpl.UnsafeEnabled {
file_questionnaire_questionnaire_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QuestionnaireInfoReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_questionnaire_questionnaire_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QuestionnaireInfoResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_questionnaire_questionnaire_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QuestionnaireAnswerReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_questionnaire_questionnaire_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QuestionnaireAnswerResp); 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{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_questionnaire_questionnaire_msg_proto_rawDesc,
NumEnums: 0,
NumMessages: 4,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_questionnaire_questionnaire_msg_proto_goTypes,
DependencyIndexes: file_questionnaire_questionnaire_msg_proto_depIdxs,
MessageInfos: file_questionnaire_questionnaire_msg_proto_msgTypes,
}.Build()
File_questionnaire_questionnaire_msg_proto = out.File
file_questionnaire_questionnaire_msg_proto_rawDesc = nil
file_questionnaire_questionnaire_msg_proto_goTypes = nil
file_questionnaire_questionnaire_msg_proto_depIdxs = nil
}

View File

@ -12,6 +12,7 @@ import (
"go_dreamfactory/modules/caravan"
"go_dreamfactory/modules/chat"
"go_dreamfactory/modules/combat"
"go_dreamfactory/modules/dailytask"
"go_dreamfactory/modules/dispatch"
"go_dreamfactory/modules/enchant"
"go_dreamfactory/modules/equipment"
@ -39,6 +40,7 @@ import (
"go_dreamfactory/modules/practice"
"go_dreamfactory/modules/privilege"
"go_dreamfactory/modules/pvp"
"go_dreamfactory/modules/questionnaire"
"go_dreamfactory/modules/reddot"
"go_dreamfactory/modules/reputation"
"go_dreamfactory/modules/shop"
@ -134,7 +136,8 @@ func main() {
passon.NewModule(),
warorder.NewModule(),
uniongve.NewModule(),
// dailytask.NewModule(),
dailytask.NewModule(),
questionnaire.NewModule(),
)
}

View File

@ -19,11 +19,12 @@ type GameAskLibraryData struct {
PlanB string
PlanC string
PlanD string
Weight int32
Pic string
True string
Flase string
Fraction int32
Plantrue []int32
Plantrue int32
}
const TypeId_GameAskLibraryData = -162756536
@ -41,24 +42,12 @@ func (_v *GameAskLibraryData)Deserialize(_buf map[string]interface{}) (err error
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["planB"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.PlanB error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.PlanB, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["planC"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.PlanC error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.PlanC, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["planD"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.PlanD error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.PlanD, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["weight"].(float64); !_ok_ { err = errors.New("weight error"); return }; _v.Weight = int32(_tempNum_) }
{ var _ok_ bool; if _v.Pic, _ok_ = _buf["pic"].(string); !_ok_ { err = errors.New("pic error"); return } }
{ var _ok_ bool; if _v.True, _ok_ = _buf["True"].(string); !_ok_ { err = errors.New("True error"); return } }
{ var _ok_ bool; if _v.Flase, _ok_ = _buf["flase"].(string); !_ok_ { err = errors.New("flase error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["fraction"].(float64); !_ok_ { err = errors.New("fraction error"); return }; _v.Fraction = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["plantrue"].([]interface{}); !_ok_ { err = errors.New("plantrue error"); return }
_v.Plantrue = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ int32
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.Plantrue = append(_v.Plantrue, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["plantrue"].(float64); !_ok_ { err = errors.New("plantrue error"); return }; _v.Plantrue = int32(_tempNum_) }
return
}

View File

@ -9,7 +9,6 @@
package cfg
import "errors"
import "bright/serialization"
type GameMainStageData struct {
Id int32
@ -19,19 +18,15 @@ type GameMainStageData struct {
Previoustage int32
Episodetype int32
Openlevel int32
Episodelocation serialization.Vector3
EditorStage int32
Venturepos serialization.Vector3
Venturemodel string
Ventureavatar []string
Heroimg string
Bubbletext string
Animation string
Challenge int32
Hide int32
Destroy int32
Progress int32
Detailwindow string
Frontstoryid int32
Afterstoryid int32
MainlineName string
@ -46,7 +41,6 @@ type GameMainStageData struct {
Commonaward []*Gameatn
BattleReadyID int32
FormatList []int32
CaptainId int32
Star []int32
StarType []int32
StarValue []int32
@ -66,23 +60,7 @@ func (_v *GameMainStageData)Deserialize(_buf map[string]interface{}) (err error)
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["previoustage"].(float64); !_ok_ { err = errors.New("previoustage error"); return }; _v.Previoustage = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Episodetype"].(float64); !_ok_ { err = errors.New("Episodetype error"); return }; _v.Episodetype = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["openlevel"].(float64); !_ok_ { err = errors.New("openlevel error"); return }; _v.Openlevel = int32(_tempNum_) }
{ var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["Episodelocation"].(map[string]interface{}); !_ok_ { err = errors.New("Episodelocation error"); return }
var _x_, _y_, _z_ float32;
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["x"].(float64); !_ok_ { err = errors.New("x error"); return }; _x_ = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["y"].(float64); !_ok_ { err = errors.New("y error"); return }; _y_ = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["z"].(float64); !_ok_ { err = errors.New("z error"); return }; _z_ = float32(_tempNum_) }
_v.Episodelocation = serialization.NewVector3(_x_, _y_, _z_)
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EditorStage"].(float64); !_ok_ { err = errors.New("EditorStage error"); return }; _v.EditorStage = int32(_tempNum_) }
{ var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["venturepos"].(map[string]interface{}); !_ok_ { err = errors.New("venturepos error"); return }
var _x_, _y_, _z_ float32;
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["x"].(float64); !_ok_ { err = errors.New("x error"); return }; _x_ = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["y"].(float64); !_ok_ { err = errors.New("y error"); return }; _y_ = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["z"].(float64); !_ok_ { err = errors.New("z error"); return }; _z_ = float32(_tempNum_) }
_v.Venturepos = serialization.NewVector3(_x_, _y_, _z_)
}
{ var _ok_ bool; if _v.Venturemodel, _ok_ = _buf["venturemodel"].(string); !_ok_ { err = errors.New("venturemodel error"); return } }
{
var _arr_ []interface{}
@ -101,11 +79,9 @@ func (_v *GameMainStageData)Deserialize(_buf map[string]interface{}) (err error)
{ var _ok_ bool; if _v.Heroimg, _ok_ = _buf["heroimg"].(string); !_ok_ { err = errors.New("heroimg error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["bubbletext"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Bubbletext error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Bubbletext, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; if _v.Animation, _ok_ = _buf["animation"].(string); !_ok_ { err = errors.New("animation error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["challenge"].(float64); !_ok_ { err = errors.New("challenge error"); return }; _v.Challenge = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hide"].(float64); !_ok_ { err = errors.New("hide error"); return }; _v.Hide = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["destroy"].(float64); !_ok_ { err = errors.New("destroy error"); return }; _v.Destroy = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["progress"].(float64); !_ok_ { err = errors.New("progress error"); return }; _v.Progress = int32(_tempNum_) }
{ var _ok_ bool; if _v.Detailwindow, _ok_ = _buf["detailwindow"].(string); !_ok_ { err = errors.New("detailwindow error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["frontstoryid"].(float64); !_ok_ { err = errors.New("frontstoryid error"); return }; _v.Frontstoryid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["afterstoryid"].(float64); !_ok_ { err = errors.New("afterstoryid error"); return }; _v.Afterstoryid = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["mainlineName"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.MainlineName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.MainlineName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
@ -185,7 +161,6 @@ func (_v *GameMainStageData)Deserialize(_buf map[string]interface{}) (err error)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["captainId"].(float64); !_ok_ { err = errors.New("captainId error"); return }; _v.CaptainId = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool