aboutsummaryrefslogtreecommitdiff
path: root/juick-server-jdbc
diff options
context:
space:
mode:
Diffstat (limited to 'juick-server-jdbc')
-rw-r--r--juick-server-jdbc/src/main/java/com/juick/service/MessagesServiceImpl.java15
-rw-r--r--juick-server-jdbc/src/test/java/com/juick/service/MessageServiceTest.java4
2 files changed, 13 insertions, 6 deletions
diff --git a/juick-server-jdbc/src/main/java/com/juick/service/MessagesServiceImpl.java b/juick-server-jdbc/src/main/java/com/juick/service/MessagesServiceImpl.java
index 87ab35f3..4398259c 100644
--- a/juick-server-jdbc/src/main/java/com/juick/service/MessagesServiceImpl.java
+++ b/juick-server-jdbc/src/main/java/com/juick/service/MessagesServiceImpl.java
@@ -230,12 +230,19 @@ public class MessagesServiceImpl extends BaseJdbcService implements MessagesServ
@Transactional
@Override
- public boolean recommendMessage(final int mid, final int vuid) {
+ public RecommendStatus recommendMessage(final int mid, final int vuid) {
int wasDeleted = getJdbcTemplate()
.update("DELETE FROM favorites WHERE user_id=? AND message_id=?", vuid, mid);
- return wasDeleted == 0
- && getJdbcTemplate()
- .update("INSERT INTO favorites(user_id, message_id, ts) VALUES (?, ?, NOW())", vuid, mid) == 1;
+ if (wasDeleted > 0) {
+ return RecommendStatus.Deleted;
+ } else {
+ boolean wasAdded = getJdbcTemplate()
+ .update("INSERT INTO favorites(user_id, message_id, ts) VALUES (?, ?, NOW())", vuid, mid) == 1;
+ if (wasAdded) {
+ return RecommendStatus.Added;
+ }
+ }
+ return RecommendStatus.Error;
}
@Transactional(readOnly = true)
diff --git a/juick-server-jdbc/src/test/java/com/juick/service/MessageServiceTest.java b/juick-server-jdbc/src/test/java/com/juick/service/MessageServiceTest.java
index 57e0970a..7b321496 100644
--- a/juick-server-jdbc/src/test/java/com/juick/service/MessageServiceTest.java
+++ b/juick-server-jdbc/src/test/java/com/juick/service/MessageServiceTest.java
@@ -102,9 +102,9 @@ public class MessageServiceTest extends AbstractJUnit4SpringContextTests {
assertThat(messagesService.getMyFeed(freefdId, 0, true).size(), equalTo(3));
assertThat(messagesService.getMyFeed(freefdId, mid2, true).size(), equalTo(1));
assertThat(messagesService.getMyFeed(freefdId, mid, false).size(), equalTo(0));
- assertThat(messagesService.recommendMessage(mid, ugnichId), equalTo(true));
+ assertThat(messagesService.recommendMessage(mid, ugnichId), equalTo(MessagesService.RecommendStatus.Added));
assertThat(messagesService.getMessage(mid).getLikes(), equalTo(1));
- assertThat(messagesService.recommendMessage(mid, ugnichId), equalTo(false));
+ assertThat(messagesService.recommendMessage(mid, ugnichId), equalTo(MessagesService.RecommendStatus.Deleted));
assertThat(messagesService.getMessage(mid).getLikes(), equalTo(0));
assertThat(messagesService.getAll(ugnichId, 0).size(), equalTo(3));