1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
package com.juick.service;
import org.apache.commons.lang3.StringUtils;
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;
/**
* Created by vitalyster on 09.12.2016.
*/
@Repository
@Transactional
public class EmailServiceImpl extends BaseJdbcService implements EmailService {
@Inject
public EmailServiceImpl(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate, null);
}
@Override
public boolean verifyAddressByCode(Integer userId, String code) {
try {
String address = getJdbcTemplate().queryForObject("SELECT account FROM auth WHERE user_id=? AND protocol='email' AND authcode=?",
String.class, userId, code);
getJdbcTemplate().update("INSERT INTO emails(user_id,email) VALUES (?,?)", userId, address);
getJdbcTemplate().update("DELETE FROM auth WHERE user_id=? AND authcode=?", userId, code);
} catch (EmptyResultDataAccessException e) {
return false;
}
return true;
}
@Override
public boolean addVerificationCode(Integer userId, String account, String code) {
return getJdbcTemplate().update("INSERT INTO auth(user_id,protocol,account,authcode) VALUES (?,'email',?,?)",
userId, account, code) > 0;
}
@Override
public boolean deleteEmail(Integer userId, String account) {
return getJdbcTemplate().update("DELETE FROM emails WHERE user_id=? AND email=?", userId, account) > 0;
}
@Override
public boolean setSubscriptionHour(Integer userId, String account, String hour) {
getJdbcTemplate().update("UPDATE emails SET subscr_hour=NULL WHERE user_id=?", userId);
return StringUtils.isNotEmpty(account) && getJdbcTemplate().update(
"UPDATE emails SET subscr_hour=? WHERE user_id=? AND email=?", hour, userId, account) > 0;
}
}
|