@@ -13,53 +13,44 @@ const quests = buildQuests({
13
13
firstLogin : {
14
14
name : "첫 발걸음" ,
15
15
description :
16
- "로그인만 해도 넙죽코인을 얻을 수 있다고?? 이벤트 기간에 처음으로 SPARCS Taxi 서비스에 로그인하여 넙죽코인을 받아보세요 ." ,
16
+ "이벤트 참여만 해도 송편코인을 얻을 수 있다고?? 이벤트 참여에 동의하고 송편코인을 받아 보세요 ." ,
17
17
imageUrl :
18
18
"https://sparcs-taxi-prod.s3.ap-northeast-2.amazonaws.com/assets/event-2024spring/quest_firstLogin.png" ,
19
- reward : 50 ,
20
- } ,
21
- payingAndSending : {
22
- name : "함께하는 택시의 여정" ,
23
- description :
24
- "2명 이상과 함께 택시를 타고 정산/송금까지 완료해보세요. 최대 3번까지 넙죽코인을 받을 수 있어요. 정산/송금 버튼은 채팅 페이지 좌측 하단의 <b>+버튼</b>을 눌러 확인할 수 있어요." ,
25
- imageUrl :
26
- "https://sparcs-taxi-prod.s3.ap-northeast-2.amazonaws.com/assets/event-2024spring/quest_payingAndSending.png" ,
27
- reward : 150 ,
28
- maxCount : 0 ,
19
+ reward : 200 ,
29
20
} ,
30
21
firstRoomCreation : {
31
22
name : "첫 방 개설" ,
32
23
description :
33
24
"원하는 택시팟을 찾을 수 없다면? 원하는 조건으로 <b>방 개설 페이지</b>에서 방을 직접 개설해보세요." ,
34
25
imageUrl :
35
26
"https://sparcs-taxi-prod.s3.ap-northeast-2.amazonaws.com/assets/event-2024spring/quest_firstRoomCreation.png" ,
36
- reward : 50 ,
27
+ reward : 500 ,
37
28
} ,
38
29
roomSharing : {
39
- name : "너 T야? Taxi " ,
30
+ name : "이 택시팟은 진짜 유명한 택시팟임 " ,
40
31
description :
41
- "방을 공유해 친구들을 택시에 초대해보세요 . 채팅창 상단의 햄버거(☰) 버튼을 누르면 <b>공유하기</b> 버튼을 찾을 수 있어요." ,
32
+ "방을 공유해 친구들을 택시팟에 초대해 보세요 . 채팅창 상단의 햄버거(☰) 버튼을 누르면 <b>공유하기 버튼 </b>을 찾을 수 있어요." ,
42
33
imageUrl :
43
34
"https://sparcs-taxi-prod.s3.ap-northeast-2.amazonaws.com/assets/event-2024spring/quest_roomSharing.png" ,
44
- reward : 50 ,
35
+ reward : 500 ,
45
36
isApiRequired : true ,
46
37
} ,
47
- paying : {
48
- name : "정산해요 택시의 숲 " ,
38
+ fareSettlement : {
39
+ name : "정산의 신, 신팍스 " ,
49
40
description :
50
- "2명 이상과 함께 택시를 타고 택시비를 결제한 후 정산하기를 요청해보세요 . 정산하기 버튼은 채팅 페이지 좌측 하단의 <b>+버튼</b>을 눌러 확인할 수 있어요." ,
41
+ "2명 이상과 함께 택시를 타고 택시비를 결제한 후 정산을 요청해 보세요 . 정산하기 버튼은 채팅 페이지 좌측 하단의 <b>+ 버튼</b>을 눌러 찾을 수 있어요." ,
51
42
imageUrl :
52
43
"https://sparcs-taxi-prod.s3.ap-northeast-2.amazonaws.com/assets/event-2024spring/quest_paying.png" ,
53
- reward : 100 ,
44
+ reward : 2000 ,
54
45
maxCount : 0 ,
55
46
} ,
56
- sending : {
47
+ farePayment : {
57
48
name : "송금 완료면 I am 신뢰에요" ,
58
49
description :
59
50
"2명 이상과 함께 택시를 타고 택시비를 결제한 분께 송금해주세요. 송금하기 버튼은 채팅 페이지 좌측 하단의 <b>+버튼</b>을 눌러 확인할 수 있어요." ,
60
51
imageUrl :
61
52
"https://sparcs-taxi-prod.s3.ap-northeast-2.amazonaws.com/assets/event-2024spring/quest_sending.png" ,
62
- reward : 50 ,
53
+ reward : 2000 ,
63
54
maxCount : 0 ,
64
55
} ,
65
56
nicknameChanging : {
@@ -68,41 +59,46 @@ const quests = buildQuests({
68
59
"닉네임을 변경하여 자신을 표현하세요. <b>마이페이지</b>의 <b>수정하기</b> 버튼을 눌러 닉네임을 수정할 수 있어요." ,
69
60
imageUrl :
70
61
"https://sparcs-taxi-prod.s3.ap-northeast-2.amazonaws.com/assets/event-2024spring/quest_nicknameChanging.png" ,
71
- reward : 50 ,
62
+ reward : 500 ,
72
63
} ,
73
64
accountChanging : {
74
65
name : "계좌 등록을 해야 능률이 올라갑니다" ,
75
66
description :
76
67
"정산하기 기능을 더욱 빠르고 이용할 수 있다고? 계좌번호를 등록하면 정산하기를 할 때 계좌가 자동으로 입력돼요. <b>마이페이지</b>의 <b>수정하기</b> 버튼을 눌러 계좌번호를 등록 또는 수정할 수 있어요." ,
77
68
imageUrl :
78
69
"https://sparcs-taxi-prod.s3.ap-northeast-2.amazonaws.com/assets/event-2024spring/quest_accountChanging.png" ,
79
- reward : 50 ,
70
+ reward : 500 ,
80
71
} ,
81
72
adPushAgreement : {
82
73
name : "Taxi의 소울메이트" ,
83
74
description :
84
75
"Taxi 서비스를 잊지 않도록 가끔 찾아갈게요! 광고성 푸시 알림 수신 동의를 해주시면 방이 많이 모이는 시즌, 주변에 택시앱 사용자가 있을 때 알려드릴 수 있어요." ,
85
76
imageUrl :
86
77
"https://sparcs-taxi-prod.s3.ap-northeast-2.amazonaws.com/assets/event-2024spring/quest_adPushAgreement.png" ,
87
- reward : 50 ,
78
+ reward : 500 ,
88
79
} ,
89
80
eventSharing : {
90
- name : "너 나랑 ㅌ태태택 (1명)" ,
91
- description :
92
- "내가 초대한 사람이 Taxi에 가입하여 이벤트에 참여하면 넙죽코인을 드려요. 내가 초대한 사람도 넙죽코인을 받아요. 이벤트 안내 페이지의 <b>이벤트 공유하기</b> 버튼을 통해 카카오톡으로 초대 문자를 보낼 수 있어요!" ,
81
+ name : "Taxi를 아십니까" ,
82
+ description : "내가 초대한 사람이 이벤트에 참여하면 송편코인을 드려요." ,
93
83
imageUrl :
94
84
"https://sparcs-taxi-prod.s3.ap-northeast-2.amazonaws.com/assets/event-2024spring/quest_eventSharing.png" ,
95
- reward : 50 ,
85
+ reward : 700 ,
96
86
maxCount : 0 ,
97
87
} ,
98
- eventSharing5 : {
99
- name : "너 나랑 ㅌ태태택 (5명) " ,
88
+ dailyAttendance : {
89
+ name : "하루 한 번 Taxi! " ,
100
90
description :
101
- "내가 초대한 사람이 5명이 Taxi에 가입하여 이벤트에 참여하면 넙죽코인을 드려요. 내가 초대한 사람도 넙죽코인을 받아요. 이벤트 안내 페이지의 <b>이벤트 공유하기</b> 버튼을 통해 카카오톡으로 초대 문자를 보낼 수 있어요!" ,
102
- imageUrl :
103
- "https://sparcs-taxi-prod.s3.ap-northeast-2.amazonaws.com/assets/event-2024spring/quest_eventSharing.png" ,
104
- reward : 250 ,
105
- maxCount : 0 ,
91
+ "매일 Taxi에 접속하여 출석 체크를 하면 송편코인을 드려요! 하루에 한 번, 택시팟도 둘러보고 송편코인도 받아 가세요. 송편코인을 얻으려면 출석 체크 페이지에서 <b>출석 버튼</b>을 눌러야 해요." ,
92
+ imageUrl : "" ,
93
+ reward : 700 ,
94
+ maxCount : 17 ,
95
+ isApiRequired : true ,
96
+ } ,
97
+ itemPurchase : {
98
+ name : "itemPurchase" ,
99
+ description : "itemPurchase" ,
100
+ imageUrl : "" ,
101
+ reward : 500 ,
106
102
} ,
107
103
} ) ;
108
104
@@ -111,40 +107,12 @@ const quests = buildQuests({
111
107
* @param {string|mongoose.Types.ObjectId } userId - 퀘스트를 완료한 사용자의 ObjectId입니다.
112
108
* @param {number|Date } timestamp - 퀘스트 완료를 요청한 시각입니다.
113
109
* @returns {Promise }
114
- * @usage lottery/globalState/ createUserGlobalStateHandler
110
+ * @usage lottery/globalState - createUserGlobalStateHandler
115
111
*/
116
112
const completeFirstLoginQuest = async ( userId , timestamp ) => {
117
113
return await completeQuest ( userId , timestamp , quests . firstLogin ) ;
118
114
} ;
119
115
120
- /**
121
- * payingAndSending 퀘스트의 완료를 요청합니다. 방의 참가자 수가 2명 미만이면 요청하지 않습니다.
122
- * @param {string|mongoose.Types.ObjectId } userId - 퀘스트를 완료한 사용자의 ObjectId입니다.
123
- * @param {number|Date } timestamp - 퀘스트 완료를 요청한 시각입니다.
124
- * @param {Object } roomObject - 방의 정보입니다.
125
- * @param {mongoose.Types.ObjectId } roomObject._id - 방의 ObjectId입니다.
126
- * @param {Array<{ user: mongoose.Types.ObjectId }> } roomObject.part - 참여자 목록입니다.
127
- * @param {Date } roomObject.time - 출발 시각입니다.
128
- * @returns {Promise }
129
- * @description 정산 요청 또는 송금이 이루어질 때마다 호출해 주세요.
130
- * @usage rooms - commitSettlementHandler, rooms - commitPaymentHandler
131
- */
132
- const completePayingAndSendingQuest = async ( userId , timestamp , roomObject ) => {
133
- logger . info (
134
- `User ${ userId } requested to complete payingAndSendingQuest in Room ${ roomObject . _id } `
135
- ) ;
136
-
137
- if ( roomObject . part . length < 2 ) return null ;
138
- if (
139
- ! eventPeriod ||
140
- roomObject . time >= eventPeriod . endAt ||
141
- roomObject . time < eventPeriod . startAt
142
- )
143
- return null ; // 택시 출발 시각이 이벤트 기간 내에 포함되지 않는 경우 퀘스트 완료 요청을 하지 않습니다.
144
-
145
- return await completeQuest ( userId , timestamp , quests . payingAndSending ) ;
146
- } ;
147
-
148
116
/**
149
117
* firstRoomCreation 퀘스트의 완료를 요청합니다.
150
118
* @param {string|mongoose.Types.ObjectId } userId - 퀘스트를 완료한 사용자의 ObjectId입니다.
@@ -158,7 +126,7 @@ const completeFirstRoomCreationQuest = async (userId, timestamp) => {
158
126
} ;
159
127
160
128
/**
161
- * paying 퀘스트의 완료를 요청합니다. 방의 참가자 수가 2명 미만이면 요청하지 않습니다.
129
+ * fareSettlement 퀘스트의 완료를 요청합니다. 방의 참가자 수가 2명 미만이면 요청하지 않습니다.
162
130
* @param {string|mongoose.Types.ObjectId } userId - 퀘스트를 완료한 사용자의 ObjectId입니다.
163
131
* @param {number|Date } timestamp - 퀘스트 완료를 요청한 시각입니다.
164
132
* @param {Object } roomObject - 방의 정보입니다.
@@ -169,9 +137,9 @@ const completeFirstRoomCreationQuest = async (userId, timestamp) => {
169
137
* @description 정산 요청이 이루어질 때마다 호출해 주세요.
170
138
* @usage rooms - commitSettlementHandler
171
139
*/
172
- const completePayingQuest = async ( userId , timestamp , roomObject ) => {
140
+ const completeFareSettlementQuest = async ( userId , timestamp , roomObject ) => {
173
141
logger . info (
174
- `User ${ userId } requested to complete payingQuest in Room ${ roomObject . _id } `
142
+ `User ${ userId } requested to complete fareSettlementQuest in Room ${ roomObject . _id } `
175
143
) ;
176
144
177
145
if ( roomObject . part . length < 2 ) return null ;
@@ -182,11 +150,11 @@ const completePayingQuest = async (userId, timestamp, roomObject) => {
182
150
)
183
151
return null ; // 택시 출발 시각이 이벤트 기간 내에 포함되지 않는 경우 퀘스트 완료 요청을 하지 않습니다.
184
152
185
- return await completeQuest ( userId , timestamp , quests . paying ) ;
153
+ return await completeQuest ( userId , timestamp , quests . fareSettlement ) ;
186
154
} ;
187
155
188
156
/**
189
- * sending 퀘스트의 완료를 요청합니다. 방의 참가자 수가 2명 미만이면 요청하지 않습니다.
157
+ * farePayment 퀘스트의 완료를 요청합니다. 방의 참가자 수가 2명 미만이면 요청하지 않습니다.
190
158
* @param {string|mongoose.Types.ObjectId } userId - 퀘스트를 완료한 사용자의 ObjectId입니다.
191
159
* @param {number|Date } timestamp - 퀘스트 완료를 요청한 시각입니다.
192
160
* @param {Object } roomObject - 방의 정보입니다.
@@ -197,9 +165,9 @@ const completePayingQuest = async (userId, timestamp, roomObject) => {
197
165
* @description 송금이 이루어질 때마다 호출해 주세요.
198
166
* @usage rooms - commitPaymentHandler
199
167
*/
200
- const completeSendingQuest = async ( userId , timestamp , roomObject ) => {
168
+ const completeFarePaymentQuest = async ( userId , timestamp , roomObject ) => {
201
169
logger . info (
202
- `User ${ userId } requested to complete sendingQuest in Room ${ roomObject . _id } `
170
+ `User ${ userId } requested to complete farePaymentQuest in Room ${ roomObject . _id } `
203
171
) ;
204
172
205
173
if ( roomObject . part . length < 2 ) return null ;
@@ -210,7 +178,7 @@ const completeSendingQuest = async (userId, timestamp, roomObject) => {
210
178
)
211
179
return null ; // 택시 출발 시각이 이벤트 기간 내에 포함되지 않는 경우 퀘스트 완료 요청을 하지 않습니다.
212
180
213
- return await completeQuest ( userId , timestamp , quests . sending ) ;
181
+ return await completeQuest ( userId , timestamp , quests . farePayment ) ;
214
182
} ;
215
183
216
184
/**
@@ -241,13 +209,13 @@ const completeAccountChangingQuest = async (userId, timestamp, newAccount) => {
241
209
} ;
242
210
243
211
/**
244
- * adPushAgreementQuest 퀘스트의 완료를 요청합니다.
212
+ * adPushAgreement 퀘스트의 완료를 요청합니다.
245
213
* @param {string|mongoose.Types.ObjectId } userId - 퀘스트를 완료한 사용자의 ObjectId입니다.
246
214
* @param {number|Date } timestamp - 퀘스트 완료를 요청한 시각입니다.
247
215
* @param {boolean } advertisement - 변경된 광고성 알림 수신 동의 여부입니다.
248
216
* @returns {Promise }
249
217
* @description 알림 옵션을 변경할 때마다 호출해 주세요.
250
- * @usage notifications/ editOptionsHandler
218
+ * @usage notifications - editOptionsHandler
251
219
*/
252
220
const completeAdPushAgreementQuest = async (
253
221
userId ,
@@ -260,38 +228,36 @@ const completeAdPushAgreementQuest = async (
260
228
} ;
261
229
262
230
/**
263
- * eventSharing, eventSharing5 퀘스트의 완료를 요청합니다.
231
+ * eventSharing 퀘스트의 완료를 요청합니다.
264
232
* @param {string|mongoose.Types.ObjectId } userId - 퀘스트를 완료한 사용자의 ObjectId입니다.
265
233
* @param {number|Date } timestamp - 퀘스트 완료를 요청한 시각입니다.
266
234
* @returns {Promise }
267
- * @description 초대 링크를 통해 사용자가 이벤트에 참여할 때마다, 초대한 사용자 및 초대받은 사용자에 대해 각각 호출해 주세요.
235
+ * @usage lottery/globalState - createUserGlobalStateHandler
268
236
*/
269
237
const completeEventSharingQuest = async ( userId , timestamp ) => {
270
- const eventSharingResult = await completeQuest (
271
- userId ,
272
- timestamp ,
273
- quests . eventSharing
274
- ) ;
275
- if ( ! eventSharingResult || eventSharingResult . questCount % 5 !== 0 )
276
- return [ eventSharingResult , null ] ;
238
+ return await completeQuest ( userId , timestamp , quests . eventSharing ) ;
239
+ } ;
277
240
278
- const eventSharing5Result = await completeQuest (
279
- userId ,
280
- timestamp ,
281
- quests . eventSharing5
282
- ) ;
283
- return [ eventSharingResult , eventSharing5Result ] ;
241
+ /**
242
+ * itemPurchase 퀘스트의 완료를 요청합니다.
243
+ * @param {string|mongoose.Types.ObjectId } userId - 퀘스트를 완료한 사용자의 ObjectId입니다.
244
+ * @param {number|Date } timestamp - 퀘스트 완료를 요청한 시각입니다.
245
+ * @returns {Promise }
246
+ * @description 상품을 구입할 때마다 호출해 주세요.
247
+ */
248
+ const completeItemPurchaseQuest = async ( userId , timestamp ) => {
249
+ return await completeQuest ( userId , timestamp , quests . itemPurchase ) ;
284
250
} ;
285
251
286
252
module . exports = {
287
253
quests,
288
254
completeFirstLoginQuest,
289
- completePayingAndSendingQuest,
290
255
completeFirstRoomCreationQuest,
291
- completePayingQuest ,
292
- completeSendingQuest ,
256
+ completeFareSettlementQuest ,
257
+ completeFarePaymentQuest ,
293
258
completeNicknameChangingQuest,
294
259
completeAccountChangingQuest,
295
260
completeAdPushAgreementQuest,
296
261
completeEventSharingQuest,
262
+ completeItemPurchaseQuest,
297
263
} ;
0 commit comments