SysUserServiceImpl.java
2.83 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package com.gxb.modules.sys.service.impl;
import com.gxb.modules.sys.entity.SysUserEntity;
import com.gxb.modules.sys.service.SysRoleService;
import com.gxb.modules.sys.dao.SysUserDao;
import com.gxb.modules.sys.service.SysUserRoleService;
import com.gxb.modules.sys.service.SysUserService;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.crypto.hash.Sha256Hash;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 系统用户
*
* @author chenshun
* @email sunlightcs@gmail.com
* @date 2016年9月18日 上午9:46:09
*/
@Service("sysUserService")
public class SysUserServiceImpl implements SysUserService {
@Autowired
private SysUserDao sysUserDao;
@Autowired
private SysUserRoleService sysUserRoleService;
@Autowired
private SysRoleService sysRoleService;
@Override
public List<String> queryAllPerms(Long userId) {
return sysUserDao.queryAllPerms(userId);
}
@Override
public List<Long> queryAllMenuId(Long userId) {
return sysUserDao.queryAllMenuId(userId);
}
@Override
public SysUserEntity queryByUserName(String username) {
return sysUserDao.queryByUserName(username);
}
@Override
public SysUserEntity queryObject(Long userId) {
return sysUserDao.queryObject(userId);
}
@Override
public List<SysUserEntity> queryList(Map<String, Object> map){
return sysUserDao.queryList(map);
}
@Override
public int queryTotal(Map<String, Object> map) {
return sysUserDao.queryTotal(map);
}
@Override
@Transactional
public void save(SysUserEntity user) {
user.setCreateTime(new Date());
//sha256加密
String salt = RandomStringUtils.randomAlphanumeric(20);
user.setPassword(new Sha256Hash(user.getPassword(), salt).toHex());
user.setSalt(salt);
sysUserDao.save(user);
//保存用户与角色关系
sysUserRoleService.saveOrUpdate(user.getUserId(), user.getRoleIdList());
}
@Override
@Transactional
public void update(SysUserEntity user) {
if(StringUtils.isBlank(user.getPassword())){
user.setPassword(null);
}else{
user.setPassword(new Sha256Hash(user.getPassword(), user.getSalt()).toHex());
}
sysUserDao.update(user);
//保存用户与角色关系
sysUserRoleService.saveOrUpdate(user.getUserId(), user.getRoleIdList());
}
@Override
@Transactional
public void deleteBatch(Long[] userId) {
sysUserDao.deleteBatch(userId);
}
@Override
public int updatePassword(Long userId, String password, String newPassword) {
Map<String, Object> map = new HashMap<>();
map.put("userId", userId);
map.put("password", password);
map.put("newPassword", newPassword);
return sysUserDao.updatePassword(map);
}
}