Commit 43e292b4 authored by shangtx's avatar shangtx

feat: 角色管理

parent 5afc5f1d
...@@ -60,6 +60,11 @@ public class SysRoleController { ...@@ -60,6 +60,11 @@ public class SysRoleController {
return ResultGenerator.success(sysRoleService.getDetail(id), "根据id获取详情"); return ResultGenerator.success(sysRoleService.getDetail(id), "根据id获取详情");
} }
@GetMapping("/all-available")
public Result<List<SysRole>> getAllAvailable() {
return ResultGenerator.success(sysRoleService.getAllAvailableRole());
}
/** /**
* 新增保存对象 * 新增保存对象
* *
......
...@@ -73,9 +73,7 @@ public class SysUserController { ...@@ -73,9 +73,7 @@ public class SysUserController {
*/ */
@PutMapping @PutMapping
public Result update(@RequestBody @NonNull @Validated SysUser sysUser) { public Result update(@RequestBody @NonNull @Validated SysUser sysUser) {
// 使用缓存方法 return ResultGenerator.success(sysUserService.update(sysUser), "更新成功");
sysUserService.saveCache(sysUser);
return ResultGenerator.success(sysUser, "更新成功");
} }
@GetMapping("/password/reset/{id}") @GetMapping("/password/reset/{id}")
......
...@@ -18,5 +18,5 @@ public class SysRoleDetailVO { ...@@ -18,5 +18,5 @@ public class SysRoleDetailVO {
private Map<String, List<Map>> codeMap; private Map<String, List<Map>> codeMap;
private List<SysBusinessTree> sysBusinessTreeList; private List<SysBusinessTree> sysBusinessTreeList;
private List<String> checkedServicesList; private List<Long> checkedServicesList;
} }
...@@ -17,8 +17,5 @@ public class SysUserDetailVO { ...@@ -17,8 +17,5 @@ public class SysUserDetailVO {
private SysUser sysUserDetail; private SysUser sysUserDetail;
private List<SysRole> sysUserRoleList;
private List<Integer> sysUserCheckedRoleList; private List<Integer> sysUserCheckedRoleList;
} }
...@@ -97,16 +97,30 @@ public class SysRoleService extends AbstractMapper<SysRole> { ...@@ -97,16 +97,30 @@ public class SysRoleService extends AbstractMapper<SysRole> {
vo.setSysRole(selectByPrimaryKey(id)); vo.setSysRole(selectByPrimaryKey(id));
Condition condition = new Condition(SysRoleOperate.class); Condition condition = new Condition(SysRoleOperate.class);
condition.createCriteria().andCondition("role_id = " + Long.valueOf(id)); condition.createCriteria().andCondition("role_id = " + Long.valueOf(id));
operateSelectedList = sysRoleOperateService.selectByCondition(condition);
Map<Long, SysBusinessOperate> operateMap = new HashMap<>(); Map<Long, SysBusinessOperate> operateMap = new HashMap<>();
for (SysBusinessOperate operate : operateList) { for (SysBusinessOperate operate : operateList) {
operateMap.put(operate.getId(), operate); operateMap.put(operate.getId(), operate);
} }
for (SysRoleOperate roleOperate : operateSelectedList) {
if (operateMap.containsKey(roleOperate.getBusinessOperateId())) {
SysBusinessOperate businessOperate = operateMap.get(roleOperate.getBusinessOperateId());
businessOperate.setSelected(true);
}
}
} }
for (SysBusiness item : businessList) { for (SysBusiness item : businessList) {
SysBusinessTree sysBusinessTree = new SysBusinessTree(item); SysBusinessTree sysBusinessTree = new SysBusinessTree(item);
sysBusinessTree.setSysBusinessOperateList(new ArrayList<>()); sysBusinessTree.setSysBusinessOperateList(new ArrayList<>());
for (SysBusinessOperate sysBusinessOperate : operateList) { for (SysBusinessOperate sysBusinessOperate : operateList) {
if (sysBusinessOperate.getBusinessId().equals(item.getId())) { if (sysBusinessOperate.getBusinessId().equals(item.getId())) {
if (operateSelectedList.size() > 0) {
for (SysRoleOperate sysRoleOperate : operateSelectedList) {
if (sysRoleOperate.getBusinessOperateId().equals(sysBusinessOperate.getId())) {
sysBusinessOperate.setSelected(true);
}
}
}
sysBusinessTree.getSysBusinessOperateList().add(sysBusinessOperate); sysBusinessTree.getSysBusinessOperateList().add(sysBusinessOperate);
} }
} }
......
...@@ -12,8 +12,10 @@ import com.onsiteservice.dao.mapper.sys.SysUserMapper; ...@@ -12,8 +12,10 @@ import com.onsiteservice.dao.mapper.sys.SysUserMapper;
import com.onsiteservice.dao.util.EntityUtils; import com.onsiteservice.dao.util.EntityUtils;
import com.onsiteservice.entity.sys.SysUser; import com.onsiteservice.entity.sys.SysUser;
import com.onsiteservice.util.CommonUtils; import com.onsiteservice.util.CommonUtils;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder;
...@@ -31,7 +33,6 @@ public class SysUserService { ...@@ -31,7 +33,6 @@ public class SysUserService {
private String defaultPassword; private String defaultPassword;
@Value("${aliyun.oss.default-avatar}") @Value("${aliyun.oss.default-avatar}")
private String defaultAvatar; private String defaultAvatar;
@Resource @Resource
private SysUserBizMapper sysUserBizMapper; private SysUserBizMapper sysUserBizMapper;
@Resource @Resource
...@@ -41,10 +42,8 @@ public class SysUserService { ...@@ -41,10 +42,8 @@ public class SysUserService {
@Resource @Resource
private SysRoleService sysRoleService; private SysRoleService sysRoleService;
@Resource @Resource
private SysUserRoleService sysUserRoleService; private SysUserRoleService sysUserRoleService;
@Resource @Resource
private BCryptPasswordEncoder bCryptPasswordEncoder; private BCryptPasswordEncoder bCryptPasswordEncoder;
@Resource @Resource
...@@ -54,17 +53,6 @@ public class SysUserService { ...@@ -54,17 +53,6 @@ public class SysUserService {
return sysUserBizMapper.getPage(dto); return sysUserBizMapper.getPage(dto);
} }
public SysUser getById(Long id) {
SysUser user = sysUserMapper.selectByPrimaryKey(id);
if (ObjectUtils.isEmpty(user)) {
throw new ServiceException(401, "找不到该用户");
}
if (ObjectUtils.isEmpty(user.getAvatarUrl())) {
user.setAvatarUrl(defaultAvatar);
}
return user;
}
public SysUserDetailVO getUserDetail(Integer id) { public SysUserDetailVO getUserDetail(Integer id) {
...@@ -75,7 +63,6 @@ public class SysUserService { ...@@ -75,7 +63,6 @@ public class SysUserService {
result.setSysUserDetail(sysUserMapper.selectByPrimaryKey(id)); result.setSysUserDetail(sysUserMapper.selectByPrimaryKey(id));
result.setSysUserCheckedRoleList(sysUserRoleService.getUserRoleByUserId(id)); result.setSysUserCheckedRoleList(sysUserRoleService.getUserRoleByUserId(id));
} }
result.setSysUserRoleList(sysRoleService.getAllAvailableRole());
return result; return result;
} }
...@@ -99,7 +86,8 @@ public class SysUserService { ...@@ -99,7 +86,8 @@ public class SysUserService {
} else { } else {
// 更新,同时清空redis // 更新,同时清空redis
EntityUtils.update(newUserInfo,userId); EntityUtils.update(newUserInfo,userId);
this.saveCache(newUserInfo); sysUserMapper.updateByPrimaryKeySelective(newUserInfo);
} }
// 先删除 // 先删除
sysUserRoleService.deleteByUserId(newUserInfo.getId()); sysUserRoleService.deleteByUserId(newUserInfo.getId());
...@@ -122,14 +110,11 @@ public class SysUserService { ...@@ -122,14 +110,11 @@ public class SysUserService {
sysUser.setIsEnabled(true); sysUser.setIsEnabled(true);
} }
public void saveCache(SysUser user) {
sysUserMapper.updateByPrimaryKeySelective(user);
}
public void resetPwd(Integer id) { public void resetPwd(Integer id) {
SysUser sysUser = sysUserMapper.selectByPrimaryKey(id); SysUser sysUser = sysUserMapper.selectByPrimaryKey(id);
sysUser.setPassword(bCryptPasswordEncoder.encode(defaultPassword)); sysUser.setPassword(bCryptPasswordEncoder.encode(defaultPassword));
this.saveCache(sysUser); sysUserMapper.updateByPrimaryKeySelective(sysUser);
} }
public void editPwd(PwdChangeDTO dto, Long userId) { public void editPwd(PwdChangeDTO dto, Long userId) {
...@@ -139,8 +124,7 @@ public class SysUserService { ...@@ -139,8 +124,7 @@ public class SysUserService {
SysUser user = sysUserMapper.selectByPrimaryKey(userId); SysUser user = sysUserMapper.selectByPrimaryKey(userId);
if (bCryptPasswordEncoder.matches(dto.getOldPwd(), user.getPassword())) { if (bCryptPasswordEncoder.matches(dto.getOldPwd(), user.getPassword())) {
user.setPassword(bCryptPasswordEncoder.encode(dto.getNewPwd())); user.setPassword(bCryptPasswordEncoder.encode(dto.getNewPwd()));
// 保存,并清空redis sysUserMapper.updateByPrimaryKeySelective(user);
saveCache(user);
} else { } else {
throw new ServiceException("当前登录密码错误,请确认!"); throw new ServiceException("当前登录密码错误,请确认!");
} }
...@@ -149,8 +133,11 @@ public class SysUserService { ...@@ -149,8 +133,11 @@ public class SysUserService {
public Long changeStatus(Long id) { public Long changeStatus(Long id) {
SysUser sysUser = sysUserMapper.selectByPrimaryKey(id); SysUser sysUser = sysUserMapper.selectByPrimaryKey(id);
sysUser.setIsEnabled(!sysUser.getIsEnabled()); sysUser.setIsEnabled(!sysUser.getIsEnabled());
// 更新同时清空redis sysUserMapper.updateByPrimaryKeySelective(sysUser);
saveCache(sysUser);
return sysUser.getId(); return sysUser.getId();
} }
public int update(SysUser sysUser) {
return sysUserMapper.updateByPrimaryKeySelective(sysUser);
}
} }
...@@ -73,4 +73,7 @@ public class SysBusinessOperate implements Serializable { ...@@ -73,4 +73,7 @@ public class SysBusinessOperate implements Serializable {
private Date createTime; private Date createTime;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Transient
private Boolean selected = false;
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment