@@ -14,7 +14,7 @@ const config = require('config')
14
14
* Process update challenge message
15
15
* @param {Object } message the kafka message
16
16
*/
17
- async function processUpdate ( message ) {
17
+ async function processUpdate ( message ) {
18
18
const createUserId = await helper . getUserId ( message . payload . createdBy )
19
19
const legacyId = _ . get ( message , 'payload.legacyId' , null )
20
20
@@ -36,46 +36,50 @@ async function processUpdate (message) {
36
36
}
37
37
38
38
// add winner payment
39
- const winnerPrizes = _ . get ( _ . find ( message . payload . prizeSets , [ 'type' , 'placement' ] ) , 'prizes' , [ ] )
40
- const winnerMembers = _ . sortBy ( _ . get ( message . payload , 'winners' , [ ] ) , [ 'placement' ] )
41
- if ( _ . isEmpty ( winnerPrizes ) ) {
42
- logger . warn ( `For challenge ${ legacyId } , no winner payment avaiable` )
43
- } else if ( winnerPrizes . length !== winnerMembers . length ) {
44
- logger . error ( `For challenge ${ legacyId } , there is ${ winnerPrizes . length } user prizes but ${ winnerMembers . length } winners` )
45
- } else {
46
- try {
47
- for ( let i = 1 ; i <= winnerPrizes . length ; i ++ ) {
48
- await paymentService . createPayment ( _ . assign ( {
49
- memberId : winnerMembers [ i - 1 ] . userId ,
50
- amount : winnerPrizes [ i - 1 ] . value ,
51
- desc : `Task - ${ message . payload . name } - ${ i } Place` ,
52
- typeId : config . WINNER_PAYMENT_TYPE_ID
53
- } , basePayment ) )
39
+ try {
40
+ const winnerPrizes = _ . get ( _ . find ( message . payload . prizeSets , [ 'type' , 'placement' ] ) , 'prizes' , [ ] )
41
+ const winnerMembers = _ . sortBy ( _ . get ( message . payload , 'winners' , [ ] ) , [ 'placement' ] )
42
+ if ( _ . isEmpty ( winnerPrizes ) ) {
43
+ logger . warn ( `For challenge ${ legacyId } , no winner payment avaiable` )
44
+ } else if ( winnerPrizes . length !== winnerMembers . length ) {
45
+ logger . error ( `For challenge ${ legacyId } , there is ${ winnerPrizes . length } user prizes but ${ winnerMembers . length } winners` )
46
+ } else {
47
+ try {
48
+ for ( let i = 1 ; i <= winnerPrizes . length ; i ++ ) {
49
+ await paymentService . createPayment ( _ . assign ( {
50
+ memberId : winnerMembers [ i - 1 ] . userId ,
51
+ amount : winnerPrizes [ i - 1 ] . value ,
52
+ desc : `Task - ${ message . payload . name } - ${ i } Place` ,
53
+ typeId : config . WINNER_PAYMENT_TYPE_ID
54
+ } , basePayment ) )
55
+ }
56
+ } catch ( error ) {
57
+ logger . error ( `For challenge ${ legacyId } , add winner payments error: ${ error } ` )
54
58
}
55
- } catch ( error ) {
56
- logger . error ( `For challenge ${ legacyId } , add winner payments error: ${ error } ` )
57
59
}
58
- }
59
60
60
- // add copilot payment
61
- const copilotId = await helper . getCopilotId ( message . payload . id )
62
- const copilotAmount = _ . get ( _ . head ( _ . get ( _ . find ( message . payload . prizeSets , [ 'type' , 'copilot' ] ) , 'prizes' , [ ] ) ) , 'value' )
63
- if ( ! copilotAmount ) {
64
- logger . warn ( `For challenge ${ legacyId } , no copilot payment avaiable` )
65
- } else if ( ! copilotId ) {
66
- logger . warn ( `For challenge ${ legacyId } , no copilot memberId avaiable` )
67
- } else {
68
- try {
69
- const copilotPayment = _ . assign ( {
70
- memberId : copilotId ,
71
- amount : copilotAmount ,
72
- desc : `Task - ${ message . payload . name } - Copilot` ,
73
- typeId : config . COPILOT_PAYMENT_TYPE_ID
74
- } , basePayment )
75
- await paymentService . createPayment ( copilotPayment )
76
- } catch ( error ) {
77
- logger . error ( `For challenge ${ legacyId } , add copilot payments error: ${ error } ` )
61
+ // add copilot payment
62
+ const copilotId = await helper . getCopilotId ( message . payload . id )
63
+ const copilotAmount = _ . get ( _ . head ( _ . get ( _ . find ( message . payload . prizeSets , [ 'type' , 'copilot' ] ) , 'prizes' , [ ] ) ) , 'value' )
64
+ if ( ! copilotAmount ) {
65
+ logger . warn ( `For challenge ${ legacyId } , no copilot payment avaiable` )
66
+ } else if ( ! copilotId ) {
67
+ logger . warn ( `For challenge ${ legacyId } , no copilot memberId avaiable` )
68
+ } else {
69
+ try {
70
+ const copilotPayment = _ . assign ( {
71
+ memberId : copilotId ,
72
+ amount : copilotAmount ,
73
+ desc : `Task - ${ message . payload . name } - Copilot` ,
74
+ typeId : config . COPILOT_PAYMENT_TYPE_ID
75
+ } , basePayment )
76
+ await paymentService . createPayment ( copilotPayment )
77
+ } catch ( error ) {
78
+ logger . error ( `For challenge ${ legacyId } , add copilot payments error: ${ error } ` )
79
+ }
78
80
}
81
+ } catch ( error ) {
82
+ logger . error ( `For challenge ${ legacyId } , error occurred while parsing and preparing payment detail. Error: ${ error } ` )
79
83
}
80
84
}
81
85
0 commit comments