|
|
@@ -2,8 +2,10 @@ package com.hssx.pcbms.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.hssx.pcbms.entity.Role;
|
|
|
+import com.hssx.pcbms.entity.RolePermission;
|
|
|
import com.hssx.pcbms.entity.User;
|
|
|
import com.hssx.pcbms.mapper.RoleMapper;
|
|
|
+import com.hssx.pcbms.mapper.RolePermissionMapper;
|
|
|
import com.hssx.pcbms.mapper.UserMapper;
|
|
|
import com.hssx.pcbms.service.RoleService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
@@ -24,16 +26,29 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
|
|
|
private RoleMapper roleMapper;
|
|
|
@Resource
|
|
|
private UserMapper userMapper;
|
|
|
+ @Resource
|
|
|
+ private RolePermissionMapper rolePermissionMapper;
|
|
|
|
|
|
@Override
|
|
|
public HttpRespMsg add(Role role) {
|
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
|
- List<Role> roles = roleMapper.selectList(new QueryWrapper<>(role).last("limit 1"));
|
|
|
- if (roles.size() > 0) {
|
|
|
- msg.setError("该角色已存在,请勿重复添加");
|
|
|
- return msg;
|
|
|
+ if(null == role.getId()){
|
|
|
+ List<Role> roles = roleMapper.selectList(new QueryWrapper<>(role).last("limit 1"));
|
|
|
+ if (roles.size() > 0) {
|
|
|
+ msg.setError("该角色已存在,请勿重复添加");
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
+ //添加
|
|
|
+ roleMapper.insert(role);
|
|
|
+ }else{
|
|
|
+ //修改
|
|
|
+ List<Role> roles = roleMapper.selectList(new QueryWrapper<Role>().eq("name",role.getName()).last("limit 1"));
|
|
|
+ if (roles.size() > 0) {
|
|
|
+ msg.setError("该角色已存在,请修改成其他角色名后再操作");
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
+ roleMapper.updateById(role);
|
|
|
}
|
|
|
- roleMapper.insert(role);
|
|
|
return msg;
|
|
|
}
|
|
|
|
|
|
@@ -46,6 +61,7 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
|
|
|
return msg;
|
|
|
}
|
|
|
roleMapper.deleteById(role.getId());
|
|
|
- return null;
|
|
|
+ rolePermissionMapper.delete(new QueryWrapper<RolePermission>().eq("role_id",role.getId()));
|
|
|
+ return msg;
|
|
|
}
|
|
|
}
|