Commit 43e292b4 authored by shangtx's avatar shangtx

feat: 角色管理

parent 5afc5f1d
......@@ -60,6 +60,11 @@ public class SysRoleController {
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 {
*/
@PutMapping
public Result update(@RequestBody @NonNull @Validated SysUser sysUser) {
// 使用缓存方法
sysUserService.saveCache(sysUser);
return ResultGenerator.success(sysUser, "更新成功");
return ResultGenerator.success(sysUserService.update(sysUser), "更新成功");
}
@GetMapping("/password/reset/{id}")
......
......@@ -18,5 +18,5 @@ public class SysRoleDetailVO {
private Map<String, List<Map>> codeMap;
private List<SysBusinessTree> sysBusinessTreeList;
private List<String> checkedServicesList;
private List<Long> checkedServicesList;
}
......@@ -17,8 +17,5 @@ public class SysUserDetailVO {
private SysUser sysUserDetail;
private List<SysRole> sysUserRoleList;
private List<Integer> sysUserCheckedRoleList;
}
......@@ -97,16 +97,30 @@ public class SysRoleService extends AbstractMapper<SysRole> {
vo.setSysRole(selectByPrimaryKey(id));
Condition condition = new Condition(SysRoleOperate.class);
condition.createCriteria().andCondition("role_id = " + Long.valueOf(id));
operateSelectedList = sysRoleOperateService.selectByCondition(condition);
Map<Long, SysBusinessOperate> operateMap = new HashMap<>();
for (SysBusinessOperate operate : operateList) {
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) {
SysBusinessTree sysBusinessTree = new SysBusinessTree(item);
sysBusinessTree.setSysBusinessOperateList(new ArrayList<>());
for (SysBusinessOperate sysBusinessOperate : operateList) {
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);
}
}
......
......@@ -12,8 +12,10 @@ import com.onsiteservice.dao.mapper.sys.SysUserMapper;
import com.onsiteservice.dao.util.EntityUtils;
import com.onsiteservice.entity.sys.SysUser;
import com.onsiteservice.util.CommonUtils;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
......@@ -31,7 +33,6 @@ public class SysUserService {
private String defaultPassword;
@Value("${aliyun.oss.default-avatar}")
private String defaultAvatar;
@Resource
private SysUserBizMapper sysUserBizMapper;
@Resource
......@@ -41,10 +42,8 @@ public class SysUserService {
@Resource
private SysRoleService sysRoleService;
@Resource
private SysUserRoleService sysUserRoleService;
@Resource
private BCryptPasswordEncoder bCryptPasswordEncoder;
@Resource
......@@ -54,17 +53,6 @@ public class SysUserService {
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) {
......@@ -75,7 +63,6 @@ public class SysUserService {
result.setSysUserDetail(sysUserMapper.selectByPrimaryKey(id));
result.setSysUserCheckedRoleList(sysUserRoleService.getUserRoleByUserId(id));
}
result.setSysUserRoleList(sysRoleService.getAllAvailableRole());
return result;
}
......@@ -99,7 +86,8 @@ public class SysUserService {
} else {
// 更新,同时清空redis
EntityUtils.update(newUserInfo,userId);
this.saveCache(newUserInfo);
sysUserMapper.updateByPrimaryKeySelective(newUserInfo);
}
// 先删除
sysUserRoleService.deleteByUserId(newUserInfo.getId());
......@@ -122,14 +110,11 @@ public class SysUserService {
sysUser.setIsEnabled(true);
}
public void saveCache(SysUser user) {
sysUserMapper.updateByPrimaryKeySelective(user);
}
public void resetPwd(Integer id) {
SysUser sysUser = sysUserMapper.selectByPrimaryKey(id);
sysUser.setPassword(bCryptPasswordEncoder.encode(defaultPassword));
this.saveCache(sysUser);
sysUserMapper.updateByPrimaryKeySelective(sysUser);
}
public void editPwd(PwdChangeDTO dto, Long userId) {
......@@ -139,8 +124,7 @@ public class SysUserService {
SysUser user = sysUserMapper.selectByPrimaryKey(userId);
if (bCryptPasswordEncoder.matches(dto.getOldPwd(), user.getPassword())) {
user.setPassword(bCryptPasswordEncoder.encode(dto.getNewPwd()));
// 保存,并清空redis
saveCache(user);
sysUserMapper.updateByPrimaryKeySelective(user);
} else {
throw new ServiceException("当前登录密码错误,请确认!");
}
......@@ -149,8 +133,11 @@ public class SysUserService {
public Long changeStatus(Long id) {
SysUser sysUser = sysUserMapper.selectByPrimaryKey(id);
sysUser.setIsEnabled(!sysUser.getIsEnabled());
// 更新同时清空redis
saveCache(sysUser);
sysUserMapper.updateByPrimaryKeySelective(sysUser);
return sysUser.getId();
}
public int update(SysUser sysUser) {
return sysUserMapper.updateByPrimaryKeySelective(sysUser);
}
}
......@@ -73,4 +73,7 @@ public class SysBusinessOperate implements Serializable {
private Date createTime;
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