Skip to content

Commit 2398ce6

Browse files
Merge pull request #364 from xxcxy/dev
fix Inconsistency in payment step between Scheduler and WorkPeriodPay…
2 parents 0361dff + 355c1f4 commit 2398ce6

File tree

5 files changed

+27
-3
lines changed

5 files changed

+27
-3
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const config = require('config')
2+
const _ = require('lodash')
3+
const { PaymentSchedulerStatus } = require('../app-constants')
4+
/*
5+
* Make Job payment_schedulers step optional.
6+
*/
7+
8+
module.exports = {
9+
up: async (queryInterface, Sequelize) => {
10+
await queryInterface.sequelize.query(`ALTER TABLE ${config.DB_SCHEMA_NAME}.payment_schedulers ALTER COLUMN step DROP NOT NULL`)
11+
},
12+
down: async (queryInterface, Sequelize) => {
13+
await queryInterface.sequelize.query(`ALTER TABLE ${config.DB_SCHEMA_NAME}.payment_schedulers ALTER COLUMN step SET NOT NULL`)
14+
}
15+
}

scripts/demo-payment-scheduler/data.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@
4343
"startDate":"2020-09-27",
4444
"endDate":"2020-10-03",
4545
"daysWorked":4,
46+
"daysPaid": 3,
47+
"paymentTotal": 0,
4648
"memberRate":27.06,
4749
"customerRate":13.13,
4850
"paymentStatus":"partially-completed",
@@ -59,6 +61,8 @@
5961
"startDate":"2020-10-18",
6062
"endDate":"2020-10-24",
6163
"daysWorked":4,
64+
"daysPaid": 3,
65+
"paymentTotal": 0,
6266
"memberRate":4.08,
6367
"customerRate":3.89,
6468
"paymentStatus":"cancelled",
@@ -75,6 +79,8 @@
7579
"startDate":"2020-10-25",
7680
"endDate":"2020-10-31",
7781
"daysWorked":3,
82+
"daysPaid": 3,
83+
"paymentTotal": 0,
7884
"memberRate":15.61,
7985
"customerRate":9.76,
8086
"paymentStatus":"pending",
@@ -91,6 +97,8 @@
9197
"startDate":"2020-10-11",
9298
"endDate":"2020-10-17",
9399
"daysWorked":4,
100+
"daysPaid": 3,
101+
"paymentTotal": 0,
94102
"memberRate":10.82,
95103
"customerRate":30.71,
96104
"paymentStatus":"pending",

scripts/demo-payment-scheduler/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ for (let i = 0; i < 1000; i++) {
1313
amount: _.round(_.random(1000, true), 2),
1414
status: 'scheduled',
1515
billingAccountId: data.ResourceBooking.billingAccountId,
16+
memberRate: data.ResourceBooking.memberRate,
17+
days: 4,
1618
createdBy: '57646ff9-1cd3-4d3c-88ba-eb09a395366c',
1719
updatedBy: null,
1820
createdAt: `2021-05-19T21:3${i % 10}:46.507Z`,

src/models/PaymentScheduler.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,7 @@ module.exports = (sequelize) => {
5050
allowNull: false
5151
},
5252
step: {
53-
type: Sequelize.ENUM(_.values(PaymentSchedulerStatus)),
54-
allowNull: false
53+
type: Sequelize.ENUM(_.values(PaymentSchedulerStatus))
5554
},
5655
status: {
5756
type: Sequelize.ENUM(

src/services/PaymentSchedulerService.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ async function processPayment (workPeriodPayment) {
131131
await postEvent(config.TAAS_WORK_PERIOD_PAYMENT_UPDATE_TOPIC, updated.toJSON(), { oldValue })
132132

133133
if (paymentScheduler) {
134-
await paymentScheduler.update({ step: PaymentSchedulerStatus.CLOSE_CHALLENGE, userId: paymentScheduler.userId, status: 'failed' })
134+
await paymentScheduler.update({ step: _.get(err, 'step'), userId: paymentScheduler.userId, status: 'failed' })
135135
}
136136
localLogger.error(`Processed workPeriodPayment ${workPeriodPayment.id} failed`, 'processPayment')
137137
return processResult.FAIL

0 commit comments

Comments
 (0)