message id fix

This commit is contained in:
Lukas Nowy 2019-03-18 18:05:01 +01:00
parent 51bcef67fe
commit a95806f3d0

View File

@ -11,8 +11,7 @@ const stringSimilarity = require('string-similarity');
async function updateUser(uid, mid, name, picture, email) { async function updateUser(uid, mid, name, picture, email) {
try { try {
await nonQuery('INSERT INTO "User" (username, name, picture, email) VALUES ($1, $2, $3, $4);', [uid, name, picture, email]); await nonQuery('INSERT INTO "User" (username, name, picture, email, message_id) VALUES ($1, $2, $3, $4, $5);', [uid, name, picture, email, mid]);
await nonQuery('UPDATE "User" SET message_id = array_append(message_id, $1) WHERE username = $2 ;', [mid, uid]);
} catch (error) { } catch (error) {
console.error(error); console.error(error);
@ -297,7 +296,7 @@ async function moveDoneItems(uid, sl_id, billcontent) {
for (let item of removeableItems) { for (let item of removeableItems) {
await nonQuery('INSERT INTO "Done_Purchase" (purchased_item_id, username, name, date, count) VALUES($1,$2,$3,$4,$5);', await nonQuery('INSERT INTO "Done_Purchase" (purchased_item_id, username, name, date, count) VALUES($1,$2,$3,$4,$5);',
[generate_item_id(), uid, item.name, today, 1]); [generate_item_id(), uid, item.name, today, item.count]);
} }
@ -514,17 +513,14 @@ function compareData(listitems, doneitems) {
let output = []; let output = [];
for (let item of listitems) { for (let item of listitems) {
if (doneitems.includes(item.name)) {
if (probability(item.name, doneitems).best > 0.6) {
output.push({item: item, count: probability(item.name, doneitems).count});
} else if (probability(item.name.toUpperCase(), doneitems.toUpperCase()).best > 0.6) {
output.push({item: item, count: probability(item.name, doneitems).count});
output.push(item); output.push(item);
} else if (doneitems.toUpperCase().includes(item.name.toUpperCase())) { } else if (probability(item.name.toLowerCase(), doneitems.toLowerCase()).best > 0.6) {
output.push(item); output.push({item: item, count: probability(item.name, doneitems).count});
} else if (doneitems.toLowerCase().includes(item.name.toLowerCase())) {
output.push(item);
} else if (probability(item.name, doneitems) > 0.6) {
output.push(item);
} else if (probability(item.name.toUpperCase(), doneitems.toUpperCase()) > 0.6) {
output.push(item);
} else if (probability(item.name.toLowerCase(), doneitems.toLowerCase()) > 0.6) {
output.push(item); output.push(item);
} }
} }
@ -533,19 +529,33 @@ function compareData(listitems, doneitems) {
} }
function probability(cur_item, data) { function probability(cur_item, data) {
let best = 0; let best = 0;
let pos;
let count = 0;
let numbers = "123456789";
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
let prob = stringSimilarity.compareTwoStrings(cur_item, data.slice(i, i + cur_item.length)); let prob = stringSimilarity.compareTwoStrings(cur_item, data.slice(i, i + cur_item.length));
if (prob > best) { if (prob > best) {
best = prob; best = prob;
pos = i;
} }
} }
return best; for(let i = pos; i >= 0; i--) {
if(numbers.includes(data.charAt(i)) == true) {
count = data.charAt(i);
break;
}
}
return {
best: best, count: count
};
} }