diff options
author | Vitaly Takmazov | 2017-12-19 15:44:50 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2017-12-19 15:44:50 +0300 |
commit | eab80ba585ae61a3ddef7a785a87ead7f39e9efe (patch) | |
tree | 6cf2a06d35184a490c6f768cb8a10c89d3ff43e0 /juick-server-jdbc/src/main/java/com | |
parent | 720dbdbfcd0d9561bc55deafa2c1c1563d942001 (diff) |
jdbc: do not delete last jid
Diffstat (limited to 'juick-server-jdbc/src/main/java/com')
-rw-r--r-- | juick-server-jdbc/src/main/java/com/juick/service/UserServiceImpl.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/juick-server-jdbc/src/main/java/com/juick/service/UserServiceImpl.java b/juick-server-jdbc/src/main/java/com/juick/service/UserServiceImpl.java index b8835c7f..6196af86 100644 --- a/juick-server-jdbc/src/main/java/com/juick/service/UserServiceImpl.java +++ b/juick-server-jdbc/src/main/java/com/juick/service/UserServiceImpl.java @@ -703,7 +703,12 @@ public class UserServiceImpl extends BaseJdbcService implements UserService { @Transactional @Override public boolean deleteJID(int uid, String jid) { - return getJdbcTemplate().update("DELETE FROM jids WHERE user_id=? AND jid=?", uid, jid) > 0; + return getNamedParameterJdbcTemplate().update("DELETE FROM jids " + + "WHERE (SELECT COUNT(*) cnt FROM (select user_id, jid FROM jids j) c WHERE user_id=:uid) > 1 " + + "AND user_id=:uid AND jid=:jid", + new MapSqlParameterSource() + .addValue("uid", uid) + .addValue("jid", jid)) > 0; } @Transactional |