SysUserServiceImpl.java
2.46 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package com.bsth.service.sys.impl;
import com.bsth.common.ResponseCode;
import com.bsth.entity.sys.SysUser;
import com.bsth.repository.sys.SysUserRepository;
import com.bsth.service.impl.BaseServiceImpl;
import com.bsth.service.sys.SysUserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class SysUserServiceImpl extends BaseServiceImpl<SysUser, Integer> implements SysUserService{
@Autowired
SysUserRepository sysUserRepository;
Logger logger = LoggerFactory.getLogger(this.getClass());
@Override
public SysUser findByUserName(String name) {
return sysUserRepository.findByUserName(name);
}
@Override
public Map<String, Object> save(SysUser t) {
//
if(t.getPassword() == null || t.getPassword().trim().equals("")){
SysUser user = sysUserRepository.findOne(t.getId());
t.setPassword(user.getPassword());
}else{
t.setPassword(new BCryptPasswordEncoder(4).encode(t.getPassword()));
}
return super.save(t);
}
@Override
public int changeEnabled(int id, int enabled) {
sysUserRepository.changeEnabled(id,enabled);
return 0;
}
@Override
public int changePWD(int id,String newPWD) {
return sysUserRepository.changePWD(id,new BCryptPasswordEncoder(4).encode(newPWD));
}
@Override
public void resetPWD(int id, String newPWD, int validperiod) {
SysUser user = sysUserRepository.findOne(id);
user.setPwdValidPeriod(validperiod);
sysUserRepository.changePWD(id, new BCryptPasswordEncoder(4).encode(newPWD));
}
@Override
public Map<String, Object> register(SysUser u) {
Map<String, Object> rs = new HashMap();
try{
//检查用户名是否存在
if(findByUserName(u.getUserName()) != null){
rs.put("status", ResponseCode.ERROR);
rs.put("msg", "用户名" + u.getUserName() + "已存在!");
}
else{
u.setPassword(new BCryptPasswordEncoder(4).encode(u.getPassword()));
rs = super.save(u);
}
}catch (Exception e){
logger.error("", e);
rs.put("status", ResponseCode.ERROR);
rs.put("msg", e.getMessage());
}
return rs;
}
@Override
public List<SysUser> findAll_distinct() {
return sysUserRepository.findAll_distinct();
}
}