初始化

This commit is contained in:
DESKTOP-U5J7A7B\Willtech007
2026-10-12 17:55:59 +08:00
parent 54b4d8f8c5
commit 633690b0c4
52 changed files with 15478 additions and 0 deletions
@@ -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