diff options
Diffstat (limited to 'juick-server/src/main/java/com/juick/service/PrivacyQueriesServiceImpl.java')
-rw-r--r-- | juick-server/src/main/java/com/juick/service/PrivacyQueriesServiceImpl.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/juick-server/src/main/java/com/juick/service/PrivacyQueriesServiceImpl.java b/juick-server/src/main/java/com/juick/service/PrivacyQueriesServiceImpl.java new file mode 100644 index 00000000..7dac4073 --- /dev/null +++ b/juick-server/src/main/java/com/juick/service/PrivacyQueriesServiceImpl.java @@ -0,0 +1,56 @@ +package com.juick.service; + +import com.juick.Tag; +import com.juick.User; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +import javax.inject.Inject; + +/** + * Created by aalexeev on 11/13/16. + */ +@Repository +@Transactional +public class PrivacyQueriesServiceImpl extends BaseJdbcService implements PrivacyQueriesService { + + @Inject + public PrivacyQueriesServiceImpl(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate, null); + } + + @Override + public PrivacyResult blacklistUser(final User user, final User target) { + int result = getJdbcTemplate().update( + "DELETE FROM bl_users WHERE user_id=? AND bl_user_id=?", + user.getUid(), + target.getUid()); + if (result > 0) { + return PrivacyResult.Removed; + } else { + getJdbcTemplate().update( + "INSERT INTO bl_users(user_id,bl_user_id) VALUES (?,?)", + user.getUid(), + target.getUid()); + return PrivacyResult.Added; + } + } + + @Override + public PrivacyResult blacklistTag(final User user, final Tag tag) { + int result = getJdbcTemplate().update( + "DELETE FROM bl_tags WHERE user_id=? AND tag_id=?", + user.getUid(), + tag.TID); + if (result > 0) { + return PrivacyResult.Removed; + } else { + getJdbcTemplate().update( + "INSERT INTO bl_tags(user_id,tag_id) VALUES (?,?)", + user.getUid(), + tag.TID); + return PrivacyResult.Added; + } + } +} |