更新了一下导航界面的书签的sql语句
This commit is contained in:
parent
e9df59b560
commit
1eb9927f40
|
|
@ -52,15 +52,15 @@ Date.prototype.format = function(fmt) { //author: meizz
|
|||
// update delete 返回影响的行数
|
||||
var db = {
|
||||
|
||||
}
|
||||
// var sql = "SELECT * FROM `users` WHERE `username` = 'luchenqun1'";
|
||||
// client.query(sql, (err, result) => {
|
||||
// if (err) {
|
||||
// console.log(err);
|
||||
// } else {
|
||||
// console.log(result);
|
||||
// }
|
||||
// });
|
||||
}
|
||||
// var sql = "SELECT * FROM `users` WHERE `username` = 'luchenqun1'";
|
||||
// client.query(sql, (err, result) => {
|
||||
// if (err) {
|
||||
// console.log(err);
|
||||
// } else {
|
||||
// console.log(result);
|
||||
// }
|
||||
// });
|
||||
|
||||
db.addBookmark = function(user_id, bookmark) {
|
||||
var insertSql = "INSERT INTO `bookmarks` (`user_id`, `title`, `description`, `url`, `public`, `click_count`) VALUES ('" + user_id + "', '" + bookmark.title + "', '" + bookmark.description + "', '" + bookmark.url + "', '" + bookmark.public + "', '1')";
|
||||
|
|
@ -83,7 +83,6 @@ db.addBookmark = function(user_id, bookmark) {
|
|||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -300,6 +299,7 @@ db.getUser = function(username) {
|
|||
db.getTags = function(user_id) {
|
||||
console.log('getTags');
|
||||
var sql = "SELECT t.*, tb.cnt FROM `tags` as t LEFT OUTER JOIN ( SELECT `tag_id`, COUNT(tag_id) as cnt FROM tags_bookmarks GROUP BY tag_id ) tb ON t.id = tb.tag_id WHERE t.user_id = '" + user_id + "' ORDER BY last_use DESC";
|
||||
|
||||
return new Promise(function(resolve, reject) {
|
||||
client.query(sql, (err, result) => {
|
||||
if (err) {
|
||||
|
|
@ -392,9 +392,19 @@ db.addTags = function(user_id, tags_name) {
|
|||
});
|
||||
};
|
||||
|
||||
db.getBookmarksNavigate = function(user_id) {
|
||||
console.log('getBookmarksNavigate');
|
||||
var sql = "SELECT t.id as tag_id, t.name as tag_name, b.* FROM `tags` as t LEFT OUTER JOIN tags_bookmarks as tb ON t.id = tb.tag_id LEFT OUTER JOIN bookmarks as b ON tb.bookmark_id = b.id WHERE t.user_id='" + user_id + "' ORDER BY t.id ASC, b.click_count DESC";
|
||||
db.getBookmarksNavigate = function(tags) {
|
||||
// console.log('getBookmarksNavigate');
|
||||
// var sql = "SELECT t.id as tag_id, t.name as tag_name, b.* FROM `tags` as t LEFT OUTER JOIN tags_bookmarks as tb ON t.id = tb.tag_id LEFT OUTER JOIN bookmarks as b ON tb.bookmark_id = b.id WHERE t.user_id='" + user_id + "' ORDER BY t.id ASC, b.click_count DESC";
|
||||
var sql = "";
|
||||
tags.forEach((tag, index) => {
|
||||
var t = 't' + tag.id;
|
||||
if (index >= 1) {
|
||||
sql += " UNION "
|
||||
}
|
||||
sql += "(SELECT * FROM ((SELECT t.id AS tag_id, t.`name` as tag_name, b.* FROM `tags` as t, `bookmarks`as b, `tags_bookmarks` as tb WHERE t.id = tb.tag_id AND b.id = tb.bookmark_id AND t.id = " + tag.id + " ORDER BY b.click_count DESC LIMIT 0, 16) UNION (SELECT t.id AS tag_id, t.`name` as tag_name, b.* FROM `tags` as t, `bookmarks`as b, `tags_bookmarks` as tb WHERE t.id = tb.tag_id AND b.id = tb.bookmark_id AND t.id = " + tag.id + " ORDER BY b.created_at DESC LIMIT 0, 16)) as " + t + " ORDER BY " + t + ".click_count DESC, " + t + ".created_at DESC)";
|
||||
})
|
||||
console.log(sql);
|
||||
|
||||
return new Promise(function(resolve, reject) {
|
||||
client.query(sql, (err, result) => {
|
||||
if (err) {
|
||||
|
|
@ -592,7 +602,7 @@ db.getBookmarkWaitSnap = function(today) {
|
|||
|
||||
db.updateBookmarkSnapState = function(id, snapState) {
|
||||
console.log("updateBookmarkSnapState id = " + id + ", snapState = " + snapState);
|
||||
var sql = "UPDATE `bookmarks` SET `snap_state`='"+ snapState +"' WHERE (`id`='"+ id +"')";
|
||||
var sql = "UPDATE `bookmarks` SET `snap_state`='" + snapState + "' WHERE (`id`='" + id + "')";
|
||||
return new Promise(function(resolve, reject) {
|
||||
client.query(sql, (err, result) => {
|
||||
if (err) {
|
||||
|
|
|
|||
|
|
@ -97,15 +97,28 @@ app.controller('editCtr', ['$scope', '$state', '$timeout', 'bookmarkService', 'p
|
|||
.then((data) => {
|
||||
$('.ui.modal.js-add-bookmark').modal('hide');
|
||||
pubSubService.publish('EditCtr.inserBookmarsSuccess', data);
|
||||
console.log('addBookmark success', JSON.stringify(data));
|
||||
if (data.title) {
|
||||
toastr.success('[ ' + data.title + ' ] 添加成功', "提示");
|
||||
} else {
|
||||
toastr.error('[ ' + params.title + ' ] 添加失败', "提示");
|
||||
}
|
||||
})
|
||||
.catch((err) => console.log('addBookmark err', err));
|
||||
.catch((err) => {
|
||||
console.log('addBookmark err', err);
|
||||
toastr.error('[ ' + params.title + ' ] 添加失败' + JSON.stringify(err), "提示");
|
||||
});
|
||||
} else {
|
||||
bookmarkService.updateBookmark(params)
|
||||
.then((data) => {
|
||||
$('.ui.modal.js-add-bookmark').modal('hide');
|
||||
pubSubService.publish('EditCtr.inserBookmarsSuccess', data);
|
||||
toastr.success('[ ' + params.title + ' ] 更新成功', "提示");
|
||||
})
|
||||
.catch((err) => console.log('updateBookmark err', err));
|
||||
.catch((err) => {
|
||||
console.log('updateBookmark err', err);
|
||||
toastr.error('[ ' + params.title + ' ] 更新失败' + JSON.stringify(err), "提示");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -226,7 +226,8 @@ api.get('/bookmarks', function(req, res) {
|
|||
var userId = req.session.user.id;
|
||||
var params = req.query;
|
||||
if (params.showStyle === 'navigate') {
|
||||
db.getBookmarksNavigate(userId)
|
||||
db.getTags(userId)
|
||||
.then((tags) => db.getBookmarksNavigate(tags))
|
||||
.then((result) => {
|
||||
var data = [];
|
||||
var tag = {
|
||||
|
|
@ -248,11 +249,12 @@ api.get('/bookmarks', function(req, res) {
|
|||
tag.click = 0;
|
||||
tag.bookmarks = [];
|
||||
}
|
||||
|
||||
if (bookmark.id && tag.bookmarks.length < 31) {
|
||||
tag.click += bookmark.click_count;
|
||||
tag.bookmarks.push(bookmark);
|
||||
}
|
||||
tag.click += bookmark.click_count;
|
||||
tag.bookmarks.push(bookmark);
|
||||
// if (bookmark.id && tag.bookmarks.length < 31) {
|
||||
// tag.click += bookmark.click_count;
|
||||
// tag.bookmarks.push(bookmark);
|
||||
// }
|
||||
});
|
||||
if (result && result.length > 0) {
|
||||
data.push(tag);
|
||||
|
|
@ -527,13 +529,13 @@ api.post('/uploadBookmarkFile', upload.single('bookmark'), function(req, res) {
|
|||
|
||||
var tags = [];
|
||||
item.tags.forEach((tag) => {
|
||||
allTags.forEach((at) => {
|
||||
if (at.name == tag) {
|
||||
tags.push(at.id);
|
||||
}
|
||||
})
|
||||
allTags.forEach((at) => {
|
||||
if (at.name == tag) {
|
||||
tags.push(at.id);
|
||||
}
|
||||
})
|
||||
// 插入书签
|
||||
})
|
||||
// 插入书签
|
||||
db.addBookmark(userId, bookmark) // 插入书签
|
||||
.then((bookmark_id) => {
|
||||
db.delBookmarkTags(bookmark_id); // 不管3721,先删掉旧的分类
|
||||
|
|
@ -565,14 +567,25 @@ api.post('/addBookmark', function(req, res) {
|
|||
var bookmark = req.body.params;
|
||||
var userId = req.session.user.id;
|
||||
var tags = bookmark.tags;
|
||||
var bookmarkId = -1;
|
||||
var ret = {};
|
||||
db.addBookmark(userId, bookmark) // 插入书签
|
||||
.then((bookmark_id) => {
|
||||
db.delBookmarkTags(bookmark_id); // 不管3721,先删掉旧的分类
|
||||
bookmarkId = bookmark_id;
|
||||
return bookmark_id;
|
||||
}) // 将之前所有的书签分类信息删掉
|
||||
.then((bookmark_id) => db.addTagsBookmarks(tags, bookmark_id)) // 插入分类
|
||||
.then(() => db.updateLastUseTags(userId, tags)) // 更新最新使用的分类
|
||||
.then(() => res.json({})) // 运气不错
|
||||
.then(() => db.getBookmark(bookmarkId)) // 获取书签信息,返回去
|
||||
.then((bookmark) => {
|
||||
ret = bookmark;
|
||||
return db.getBookmarkTags(bookmarkId);
|
||||
})
|
||||
.then((bookmarkTags) => {
|
||||
ret.tags = bookmarkTags;
|
||||
res.json(ret)
|
||||
})
|
||||
.catch((err) => console.log('addBookmark err', err)); // oops!
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue