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; } } }