当应用参与奖励事件时,奖励服务器将结果发送到应用服务器。如果没有 200 响应,奖励公司服务器会在一定时间内重复发送结果。
如果应用服务器没有响应 200,奖励服务器会重复发送结果。
所有获得的积分都会被记录下来。检查是否有带有事件ID的点记录,如果没有点记录,记录点并以200响应。问题是即使在第一个200响应之前,就判断为传输失败,结果再次发送,因此具有相同事件 ID 的多个点正在累积。
我该怎么办?有没有办法在应用服务器上处理这个问题?
db.collection('pointHistory').doc(uid).collection('pointHistory').add(newPointHistory).then(ref => {
db.collection('users').doc(uid).update({point: addTotalPoint});
db.collection('offerwallHistory').doc(uid).collection('offerwallHistory').add(offerwallHistory_data);
db.collection('adminPointHistory').add(adminPointHistory_data);
setDailyPointStatus(reward, 12);
setOtherPersonalPointStatus(reward, uid, "dailyPersonalPointStatus");
setOtherPersonalPointStatus(reward, uid, "weeklyPersonalPointStatus");
setOtherPersonalPointStatus(reward, uid, "monthlyPersonalPointStatus");
return res.send(event_id + ":OK").status(200);
}).catch(err => {
console.log(err);
return null;
});
return res.send(event_id + ":OK").status(200);