Skip to content

Commit 9353d9a

Browse files
authored
Merge pull request #137 from BuildFire/points-issue
fix(point-issue) update the equation for the perItemsPurchased
2 parents 2db45b6 + 75d1c03 commit 9353d9a

3 files changed

Lines changed: 30 additions & 10 deletions

File tree

widget/app.services.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,12 +129,17 @@
129129
return deferred.promise;
130130
};
131131

132-
var addLoyaltyPoints = function (userId, userToken, loyaltyUnqiueId, passcode, amount) {
132+
var addLoyaltyPoints = function (userId, userToken, loyaltyUnqiueId, passcode, amount, points) {
133133
var deferred = $q.defer();
134134
if (!loyaltyUnqiueId) {
135135
deferred.reject(new Error('Undefined application'));
136136
}
137-
$http.get(getProxyServerUrl() + '/api/loyaltyUserAddPoint/' + userId + '?userToken=' + encodeURIComponent(userToken) + '&loyaltyUnqiueId=' + loyaltyUnqiueId + '&redemptionPasscode=' + passcode + '&purchaseAmount=' + amount)
137+
138+
var url = getProxyServerUrl() + '/api/loyaltyUserAddPoint/' + userId + '?userToken=' + encodeURIComponent(userToken) + '&loyaltyUnqiueId=' + loyaltyUnqiueId + '&redemptionPasscode=' + passcode + '&purchaseAmount=' + amount;
139+
if (points !== undefined) {
140+
url += '&points=' + points;
141+
}
142+
$http.get(url)
138143
.success(function (response) {
139144
if (response)
140145
deferred.resolve(response);
@@ -146,7 +151,6 @@
146151
});
147152
return deferred.promise;
148153
};
149-
150154
var validatePasscode = function (userToken, loyaltyUnqiueId, passcode) {
151155
var deferred = $q.defer();
152156
if (!loyaltyUnqiueId) {

widget/controllers/userDataAccess/points.limit.controller.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,17 @@ const saveUserDailyPoints = (obj,callback) =>{
1313
})
1414
}
1515

16-
const checkIfUserDailyLimitExceeded = (currentView, WidgetCode, callback) =>{
16+
const checkIfUserDailyLimitExceeded = (currentView, WidgetCode,purchaseOptionValue, callback) =>{
1717
if(currentView.amount > WidgetCode.application.dailyLimit) return callback({code:2103});
1818
getUserDailyPoints((err,r) =>{
1919
if(err) return callback(err);
20-
var pointsAwarded = (currentView.amount * WidgetCode.application.pointsPerDollar) + WidgetCode.application.pointsPerVisit;
20+
var pointsAwarded =null;
21+
if (purchaseOptionValue === 'perMoneySpent'){
22+
pointsAwarded = (currentView.amount * WidgetCode.application.pointsPerDollar) + WidgetCode.application.pointsPerVisit;
23+
}
24+
else {
25+
pointsAwarded = currentView.amount + WidgetCode.application.pointsPerVisit;
26+
}
2127
var date = new Date().toLocaleDateString();
2228
let pointsObj = new pointsLimit({
2329
pointsAwarded: pointsAwarded,
@@ -31,4 +37,4 @@ const checkIfUserDailyLimitExceeded = (currentView, WidgetCode, callback) =>{
3137
saveUserDailyPoints(pointsObj,(err,r) =>err ? callback(err) : callback(null,r));
3238
}
3339
})
34-
}
40+
}

widget/controllers/widget.code.controller.js

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,16 @@
4242
WidgetCode.addPoints = function () {
4343
var success = function (result) {
4444
Buildfire.spinner.hide();
45-
$rootScope.$broadcast('POINTS_ADDED', {points: (currentView.amount * WidgetCode.application.pointsPerDollar) + WidgetCode.application.pointsPerVisit});
46-
var pointsAwarded = (currentView.amount * WidgetCode.application.pointsPerDollar) + WidgetCode.application.pointsPerVisit;
45+
var pointsAwarded
46+
var purchaseOptionValue = WidgetCode.application.settings.value;
47+
if(purchaseOptionValue === 'perMoneySpent'){
48+
$rootScope.$broadcast('POINTS_ADDED', {points: (currentView.amount * WidgetCode.application.pointsPerDollar) + WidgetCode.application.pointsPerVisit});
49+
pointsAwarded = (currentView.amount * WidgetCode.application.pointsPerDollar) + WidgetCode.application.pointsPerVisit;
50+
}
51+
else {
52+
$rootScope.$broadcast('POINTS_ADDED', {points: currentView.amount + WidgetCode.application.pointsPerVisit});
53+
pointsAwarded = currentView.amount + WidgetCode.application.pointsPerVisit;
54+
}
4755
ViewStack.push({
4856
template: 'Awarded',
4957
pointsAwarded: pointsAwarded
@@ -70,7 +78,8 @@
7078

7179
};
7280
Buildfire.spinner.show();
73-
checkIfUserDailyLimitExceeded(currentView, WidgetCode, function (err, res) {
81+
var purchaseOptionValue = WidgetCode.application.settings.value;
82+
checkIfUserDailyLimitExceeded(currentView, WidgetCode, purchaseOptionValue, function (err, res) {
7483
if (err) return error(err);
7584
buildfire.auth.getCurrentUser(function (err, user) {
7685
if (user) {
@@ -123,7 +132,8 @@
123132
}
124133

125134
} else {
126-
LoyaltyAPI.addLoyaltyPoints(WidgetCode.currentLoggedInUser._id, WidgetCode.currentLoggedInUser.userToken, `${WidgetCode.context.appId}_${WidgetCode.context.instanceId}`, WidgetCode.passcode, currentView.amount).then(success, error);
135+
LoyaltyAPI.addLoyaltyPoints(WidgetCode.currentLoggedInUser._id, WidgetCode.currentLoggedInUser.userToken, `${WidgetCode.context.appId}_${WidgetCode.context.instanceId}`, WidgetCode.passcode, currentView.amount, res.data.pointsAwarded
136+
).then(success, error);
127137
}
128138
}
129139
})

0 commit comments

Comments
 (0)