RoleServiceImpl.java
3.14 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
111
package com.bsth.service.sys.impl;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.bsth.common.ResponseCode;
import com.bsth.entity.sys.Module;
import com.bsth.entity.sys.Role;
import com.bsth.entity.sys.SysUser;
import com.bsth.repository.sys.ModuleRepository;
import com.bsth.repository.sys.RoleRepository;
import com.bsth.service.impl.BaseServiceImpl;
import com.bsth.service.sys.RoleService;
@Service
public class RoleServiceImpl extends BaseServiceImpl<Role, Integer> implements
RoleService {
Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
RoleRepository roleRepository;
@Autowired
ModuleRepository moduleRepository;
SimpleDateFormat sdfMinute = new SimpleDateFormat("yyyy-MM-dd HH:mm");
@Override
public Map<String, Object> save(Role t) {
if (t.getId() != null) {
// 更新
Map<String, Object> map = new HashMap<>();
try {
roleRepository.update(t.getCodeName(), t.getRoleName(),
t.isEnable(), t.getDescriptions(), t.getId());
map.put("status", ResponseCode.SUCCESS);
} catch (Exception e) {
map.put("status", ResponseCode.ERROR);
}
return map;
}
return super.save(t);
}
@Override
public Map<String, Object> settRoleModules(Integer roleId, String mIds) {
Map<String, Object> map = new HashMap<>();
try {
Role role = roleRepository.findOne(roleId);
List<Integer> idList = new ArrayList<>();
String[] array = mIds.split(",");
for (String id : array) {
if (null == id || id.trim().equals(""))
continue;
idList.add(Integer.parseInt(id));
}
Set<Module> mList = moduleRepository.findByIds(idList);
role.setModules(mList);
roleRepository.save(role);
map.put("status", ResponseCode.SUCCESS);
} catch (Exception e) {
logger.error("", e);
map.put("status", ResponseCode.ERROR);
}
return map;
}
@Override
public Map<String, Object> roleInfo(Integer id) {
Map<String, Object> map = new HashMap<>();
Role role = roleRepository.findOne(id);
map.put("codeName", role.getCodeName());
map.put("roleName", role.getRoleName());
map.put("createDate", sdfMinute.format(role.getCreateDate()));
map.put("updateDate", sdfMinute.format(role.getUpdateDate()));
map.put("enable", role.isEnable()==true?1:0);
map.put("descriptions", role.getDescriptions());
map.put("modules", role.getModules().size());
map.put("resources", role.getResources().size());
String userNames = "";
Set<SysUser> users = role.getUsers();
if(!users.isEmpty()){
Iterator<SysUser> it = users.iterator();
while(it.hasNext()){
SysUser user = it.next();
userNames = user.getUserName()+"...";
}
}
map.put("userNames", userNames);
return map;
}
@Override
public List<Role> findAllByIds(String ids) {
return roleRepository.findAllById(ids);
}
}