diff options
author | Alexander Alexeev | 2016-11-25 04:07:50 +0700 |
---|---|---|
committer | Alexander Alexeev | 2016-11-25 04:16:32 +0700 |
commit | 6fc6cd055ba18c8692928cb09a339120d8d6a253 (patch) | |
tree | 34969c7e4a06205bc6801ecd1763034f1110ca8c /juick-server/src/main/java | |
parent | c343add1f073437e8f2e9506b51ea1eab0f407a2 (diff) |
formatted + transactional settings
Diffstat (limited to 'juick-server/src/main/java')
-rw-r--r-- | juick-server/src/main/java/com/juick/service/TelegramService.java | 7 | ||||
-rw-r--r-- | juick-server/src/main/java/com/juick/service/TelegramServiceImpl.java | 45 |
2 files changed, 33 insertions, 19 deletions
diff --git a/juick-server/src/main/java/com/juick/service/TelegramService.java b/juick-server/src/main/java/com/juick/service/TelegramService.java index d5aa4fa8..259ab367 100644 --- a/juick-server/src/main/java/com/juick/service/TelegramService.java +++ b/juick-server/src/main/java/com/juick/service/TelegramService.java @@ -6,10 +6,15 @@ import java.util.List; * Created by vt on 24/11/2016. */ public interface TelegramService { - void addChat(Long id); + boolean addChat(Long id); + List<Long> getChats(); + int getUser(long tgId); + boolean createTelegramUser(long tgID, String tgName); + List<Long> getSubscribers(int uid); + List<Long> getSubscribersToComments(int mid, int ignore_uid); } diff --git a/juick-server/src/main/java/com/juick/service/TelegramServiceImpl.java b/juick-server/src/main/java/com/juick/service/TelegramServiceImpl.java index d6fabc96..30c0daca 100644 --- a/juick-server/src/main/java/com/juick/service/TelegramServiceImpl.java +++ b/juick-server/src/main/java/com/juick/service/TelegramServiceImpl.java @@ -1,8 +1,8 @@ package com.juick.service; -import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; import javax.inject.Inject; import java.util.List; @@ -13,46 +13,55 @@ import java.util.UUID; */ @Repository public class TelegramServiceImpl extends BaseJdbcService implements TelegramService { + @Inject - protected TelegramServiceImpl(JdbcTemplate jdbc) { + public TelegramServiceImpl(JdbcTemplate jdbc) { super(jdbc, null); } + @Transactional(readOnly = true) @Override - public void addChat(Long id) { - getJdbcTemplate().update("INSERT IGNORE INTO telegram_chats(chat_id) VALUES(?)", id); + public boolean addChat(final Long id) { + return getJdbcTemplate().update("INSERT IGNORE INTO telegram_chats(chat_id) VALUES(?)", id) > 0; } + @Transactional(readOnly = true) @Override public List<Long> getChats() { return getJdbcTemplate().queryForList("SELECT chat_id FROM telegram_chats", Long.class); } + @Transactional(readOnly = true) @Override - public int getUser(long tgId) { - try { - return getJdbcTemplate().queryForObject("SELECT id FROM users INNER JOIN telegram " + - "ON telegram.user_id = users.id WHERE telegram.tg_id=?", Integer.class, tgId); - } catch (EmptyResultDataAccessException e) { - return 0; - } + public int getUser(final long tgId) { + List<Integer> list = getJdbcTemplate().queryForList( + "SELECT id FROM users INNER JOIN telegram " + + "ON telegram.user_id = users.id WHERE telegram.tg_id=?", Integer.class, tgId); + + return list.isEmpty() ? 0 : list.get(0); } + @Transactional(readOnly = true) @Override - public boolean createTelegramUser(long tgID, String tgName) { - return getJdbcTemplate().update("INSERT INTO telegram(tg_id, tg_name, loginhash) VALUES(?,?,?)", + public boolean createTelegramUser(final long tgID, final String tgName) { + return getJdbcTemplate().update( + "INSERT INTO telegram(tg_id, tg_name, loginhash) VALUES(?,?,?)", tgID, tgName, UUID.randomUUID().toString()) > 0; } + @Transactional(readOnly = true) @Override - public List<Long> getSubscribers(int uid) { - return getJdbcTemplate().queryForList("SELECT tg_id FROM telegram INNER JOIN subscr_users " + + public List<Long> getSubscribers(final int uid) { + return getJdbcTemplate().queryForList("" + + "SELECT tg_id FROM telegram INNER JOIN subscr_users " + "ON (subscr_users.user_id=? AND telegram.user_id=subscr_users.suser_id)", Long.class, uid); } + @Transactional(readOnly = true) @Override - public List<Long> getSubscribersToComments(int mid, int ignore_uid) { - return getJdbcTemplate().queryForList("SELECT tg_id FROM telegram INNER JOIN subscr_messages " + - "ON (telegram.user_id=subscr_messages.suser_id) WHERE message_id=? AND suser_id!=?", Long.class, mid, ignore_uid); + public List<Long> getSubscribersToComments(final int mid, final int ignore_uid) { + return getJdbcTemplate().queryForList( + "SELECT tg_id FROM telegram INNER JOIN subscr_messages " + + "ON (telegram.user_id=subscr_messages.suser_id) WHERE message_id=? AND suser_id!=?", Long.class, mid, ignore_uid); } } |