Selaa lähdekoodia

新增角色名字重复校验

zouxuan 4 vuotta sitten
vanhempi
commit
20297e8dde

+ 7 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysRoleDao.java

@@ -21,4 +21,11 @@ public interface SysRoleDao extends BaseDAO<Integer, SysRole> {
      * @return
      */
     SysRole findRoleByCode(@Param("code") String code);
+
+    /**
+     * 根据角色名称获取角色
+     * @param roleName
+     * @return
+     */
+    SysRole findByRoleName(String roleName);
 }

+ 9 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysRoleServiceImpl.java

@@ -6,6 +6,7 @@ import com.ym.mec.auth.dal.dao.SysRoleDao;
 import com.ym.mec.auth.dal.dao.SysRoleMenuDao;
 import com.ym.mec.auth.service.SysRoleService;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -40,6 +41,10 @@ public class SysRoleServiceImpl extends BaseServiceImpl<Integer, SysRole>  imple
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void addRole(SysRole sysRole) {
+		SysRole findByName = sysRoleDao.findByRoleName(sysRole.getRoleName());
+		if(findByName != null){
+			throw new BizException("操作失败:角色 {} 已存在",sysRole.getRoleName());
+		}
 		sysRoleDao.insert(sysRole);
 		batchSave(sysRole);
 	}
@@ -47,6 +52,10 @@ public class SysRoleServiceImpl extends BaseServiceImpl<Integer, SysRole>  imple
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void updateRole(SysRole sysRole) {
+		SysRole findByName = sysRoleDao.findByRoleName(sysRole.getRoleName());
+		if(findByName != null && findByName.getId().equals(sysRole.getId())){
+			throw new BizException("操作失败:角色 {} 已存在",sysRole.getRoleName());
+		}
 		sysRole.setUpdateTime(new Date());
 		sysRoleDao.update(sysRole);
 		sysRoleMenuDao.deleteAllMenu(sysRole.getId());

+ 3 - 0
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysRoleMapper.xml

@@ -83,4 +83,7 @@
     <select id="findRoleByCode" resultMap="SysRole">
         SELECT sr.* FROM sys_role WHERE role_code_ = #{code} AND sr.del_flag_ = 0
     </select>
+    <select id="findByRoleName" resultMap="SysRole">
+        SELECT * FROM sys_role WHERE role_name_ = #{roleName} AND del_flag_ = 0 LIMT 1
+    </select>
 </mapper>