初始化
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
function registerRedeemedPromotionDetailRoute({ app, context }) {
|
||||
app.post(
|
||||
[
|
||||
'/ewl/promotion/v1/redeemedpromotion/detail',
|
||||
'/ewl/bal/v1/redeemedpromotion/detail',
|
||||
],
|
||||
(req, res) => {
|
||||
const fixtureCustomerId =
|
||||
typeof context.promotionsRedeemedFixture?.data?.customerId === 'string'
|
||||
? context.promotionsRedeemedFixture.data.customerId
|
||||
: ''
|
||||
const fixtureOutcomeList = Array.isArray(context.promotionsRedeemedFixture?.data?.outcomeList)
|
||||
? context.cloneJsonValue(context.promotionsRedeemedFixture.data.outcomeList)
|
||||
: []
|
||||
const accountNum = context.resolveAccountNum(req.body) || fixtureCustomerId
|
||||
const recordedOutcomeList = context.getRecordedRedeemedPromotionOutcomes(accountNum)
|
||||
const fallbackOutcomeList = [context.buildMockRedeemedPromotionOutcome(req.body)]
|
||||
let outcomeList = recordedOutcomeList
|
||||
|
||||
if (outcomeList.length === 0) {
|
||||
const accountFixture = context.getAccountSpecificRedeemedPromotionsFixture(accountNum)
|
||||
const accountFixtureOutcomeList = Array.isArray(accountFixture?.data?.outcomeList)
|
||||
? context.cloneJsonValue(accountFixture.data.outcomeList)
|
||||
: null
|
||||
|
||||
if (accountFixtureOutcomeList !== null) {
|
||||
outcomeList = accountFixtureOutcomeList
|
||||
} else {
|
||||
outcomeList = context.redeemedPromotionDetailIncludeDefaultRecord
|
||||
? fixtureOutcomeList.length > 0
|
||||
? fixtureOutcomeList
|
||||
: fallbackOutcomeList
|
||||
: []
|
||||
}
|
||||
}
|
||||
|
||||
return res.status(200).json({
|
||||
errorCode: context.redeemedPromotionDetailErrorCode,
|
||||
errorMsg: context.redeemedPromotionDetailErrorMsg,
|
||||
accountNum,
|
||||
outcomeList,
|
||||
})
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
module.exports = registerRedeemedPromotionDetailRoute
|
||||
Reference in New Issue
Block a user