提交 499209d5 编写于 作者: S smallchill

🎉 修复系统管理部分bug

上级 cdabf8cd
......@@ -56,6 +56,7 @@ public interface MenuMapper extends BaseMapper<Menu> {
/**
* 授权树形结构
*
* @param roleId
* @return
*/
List<MenuVO> grantTreeByRole(List<Integer> roleId);
......@@ -93,6 +94,7 @@ public interface MenuMapper extends BaseMapper<Menu> {
/**
* 获取配置的角色权限
*
* @param roleIds
* @return
*/
......
......@@ -42,8 +42,9 @@ public interface RoleMapper extends BaseMapper<Role> {
* 获取树形节点
*
* @param tenantCode
* @param excludeRole
* @return
*/
List<RoleVO> tree(String tenantCode);
List<RoleVO> tree(String tenantCode, String excludeRole);
}
......@@ -32,8 +32,11 @@
<select id="tree" resultMap="treeNodeResultMap">
select id, parent_id, role_name as title, id as 'value', id as 'key' from blade_role where is_deleted = 0
<if test="_parameter!=null">
and tenant_code = #{_parameter}
<if test="param1!=null">
and tenant_code = #{param1}
</if>
<if test="param2!=null">
and role_alias &lt;&gt; #{param2}
</if>
</select>
......
......@@ -19,7 +19,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.springblade.core.secure.utils.SecureUtil;
import org.springblade.core.tool.constant.RoleConstant;
import org.springblade.core.tool.node.ForestNodeMerger;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.entity.Role;
import org.springblade.system.entity.RoleMenu;
import org.springblade.system.mapper.RoleMapper;
......@@ -52,7 +56,12 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IR
@Override
public List<RoleVO> tree(String tenantCode) {
return ForestNodeMerger.merge(baseMapper.tree(tenantCode));
String userRole = SecureUtil.getUserRole();
String excludeRole = null;
if (!CollectionUtil.contains(Func.toStrArray(userRole), RoleConstant.ADMIN)) {
excludeRole = RoleConstant.ADMIN;
}
return ForestNodeMerger.merge(baseMapper.tree(tenantCode, excludeRole));
}
@Override
......
......@@ -28,7 +28,6 @@ import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.utils.DigestUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.user.entity.User;
......@@ -88,10 +87,7 @@ public class UserController {
@PostMapping("/submit")
@ApiOperation(value = "新增或修改", notes = "传入User", position = 3)
public R submit(@Valid @RequestBody User user) {
if (Func.isNotEmpty(user.getPassword())) {
user.setPassword(DigestUtil.encrypt(user.getPassword()));
}
return R.status(userService.saveOrUpdate(user));
return R.status(userService.submit(user));
}
/**
......
......@@ -46,7 +46,7 @@
FROM
blade_user
WHERE
tenant_code = #{param1} and account = #{param2} AND password = #{param3}
tenant_code = #{param1} and account = #{param2} and password = #{param3} and is_deleted = 0
</select>
<select id="getRoleName" resultType="java.lang.String">
......
......@@ -30,6 +30,13 @@ import java.util.List;
*/
public interface IUserService extends BaseService<User> {
/**
* 新增或修改用户
* @param user
* @return
*/
boolean submit(User user);
/**
* 自定义分页
*
......
......@@ -18,6 +18,7 @@ package org.springblade.system.user.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.exceptions.ApiException;
import org.springblade.common.constant.CommonConstant;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.utils.DigestUtil;
......@@ -39,6 +40,18 @@ import java.util.List;
@Service
public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implements IUserService {
@Override
public boolean submit(User user) {
if (Func.isNotEmpty(user.getPassword())) {
user.setPassword(DigestUtil.encrypt(user.getPassword()));
}
Integer cnt = baseMapper.selectCount(Wrappers.<User>query().lambda().eq(User::getTenantCode, user.getTenantCode()).eq(User::getAccount, user.getAccount()));
if (cnt > 0) {
throw new ApiException("当前用户已存在!");
}
return saveOrUpdate(user);
}
@Override
public IPage<User> selectUserPage(IPage<User> page, User user) {
return page.setRecords(baseMapper.selectUserPage(page, user));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册