getsavedcards

This commit is contained in:
Le Viet
2022-05-30 21:47:40 +07:00
parent de08c434b3
commit 4ce4d0c3fd
4 changed files with 100 additions and 11 deletions
+12 -1
View File
@@ -125,7 +125,18 @@ module.exports = {
getSlideCardData(req, res) {
memberServices.getSlideCard(req)
.then(data => {
return res.status(201).send(data)
return res.status(200).send(data)
})
.catch(error => {
res.status(400).send(error.errors)
});
},
loadSavedCards(req, res) {
console.log('loadSavedCards')
memberServices.loadSavedCards(req)
.then(data => {
return res.status(200).send(data)
})
.catch(error => {
res.status(400).send(error.errors)
+22 -1
View File
@@ -293,7 +293,28 @@ module.exports = (app, url) => {
* app.post("usertransportlist");
* app.post("usertransportprofile");
* app.post("getdashcarddata");
* app.post("loadsavedcards");
*/
/**
* @swagger
* /v1/user/loadsavedcards:
* get:
* tags:
* - Users
* summary: Retrieve a single JSONPlaceholder user.
* description: Retrieve a single JSONPlaceholder user. Can be used to populate a user profile when prototyping or testing an API.
* security:
* - bearerAuth: []
* responses:
* 200:
* description: A single user.
* content:
* application/json:
* schema:
* type: object
* $ref: '#/components/schemas/Member'
*/
app.get(url + "user/loadsavedcards", auth, memberController.loadSavedCards);
/*
* app.post("savedashcard");
* app.post("saveuserbudget");
* app.post("resetpass");
+48 -4
View File
@@ -220,14 +220,13 @@ module.exports = (memberService) => {
let resultOut = {};
let total_record = 0;
if (results[0]) {
var self = this;
var dealCardCount = 0;
var surveyCardCount = 0;
var blogCardCount = 0;
for(const card of results[0]){
for (const card of results[0]) {
let testCardAllowed = this.CARD_ADD_ALLOWED
if (cardType == 22000) {
testCardAllowed = await this.verifyMemberCardDescision(card, member);
testCardAllowed = await this.verifyMemberCardDescision(card, member);
}
console.log('testCardAllowed', testCardAllowed);
let cardCountryAllow = true;
@@ -338,13 +337,58 @@ module.exports = (memberService) => {
async verifyMemberCardDescision(cardData, member) {
var behavior = cardData.card_behavior;
var func = 'behavior' + behavior;
console.log(func)
if (func in cardBehaviorService) {
console.log('call function ', func)
//console.log(await invoke(cardBehaviorService, func, member))
return await invoke(cardBehaviorService, func, member);
}
return this.CARD_ADD_ALLOWED;
},
async getSavedCards(memberId) {
console.log(memberId)
var result = {
total_record : 0,
session_valid : '',
internal_return : 0,
status: 'OK'
}
var saveCardsSql = `SELECT m.id AS saved_card_id, mc.*,mc.id AS card_id
FROM member_saved_cards m
LEFT JOIN main_cards mc ON m.card_id = mc.id
WHERE m.member_id = :member_id AND m.status = 1;`
;
const resultRaw = await sequelize.query(saveCardsSql, {
replacements: { member_id: memberId }
});
if (resultRaw[0]) {
result.total_record = resultRaw[0].length;
let ic = 0;
for (const card of resultRaw[0]) {
suffix = ic.toString().padStart(5, '0');
result['name_' + suffix] = card.name;
result['short_title_' + suffix] = card.short_title;
result['title_' + suffix] = card.title;
result['description_' + suffix] = card.description;
result['short_title_' + suffix] = card.short_title;
result['title_' + suffix] = card.short_title;
result['background_picture_' + suffix] = card.background_picture;
result['button1_' + suffix] = card.button1;
result['button1_text_' + suffix] = card.button1_text;
result['button1_action_' + suffix] = card.button1_action;
result['can_save_' + suffix] = card.can_save;
result['card_id_' + suffix] = card.card_id;
result['template_' + suffix] = card.template;
result['card_canexpire_' + suffix] = card.card_canexpire;
result['expires_' + suffix] = card.card_expiration;
result['titleshow_' + suffix] = card.titleshow;
ic++;
}
}
return { result: result }
}
}
+18 -5
View File
@@ -601,15 +601,28 @@ module.exports = {
},
async getSlideCard(req) {
const member_id = req.user.id;
const member = await this.getProfile(req);
if (member.country == "") {
this.detectMemberLocation(member.id, outm);
if (outm.country_found == 1) {
member.country = outm.country;
}
}
const card_type = (req.query.card_type) ? req.query.card_type : memberCardService.DEFAULT_CARD_TYPE;
const card_count = (req.query.card_count) ? req.query.card_count : memberCardService.DEFAULT_CARD_COUNT;
//const surveyCards = await memberCardService.getMemberSurveyCards(member_id);
const surveyCards = await memberCardService(this).getMemberSurveyCards(member.id);
//console.log(surveyCards);
console.log("card_type:", card_type);
const member = await this.getProfile(req);
//console.log("card_type:", card_type);
const cards = await memberCardService(this).getMemberCardsByType(member, parseInt(card_type), card_count);
//console.log("member cards",cards);
return cards;
},
async loadSavedCards(req) {
var memberId = req.user.id;
const cards = await memberCardService(this).getSavedCards(memberId);
console.log('cards', cards)
return cards;
}