新增部门 public void save(DeptParam param){}方法返回json提示信息失败,但数据能正确插入

来源:7-4 新增部门、部门层级树、更新部门接口自测

Screenly

2018-09-08

老师,麻烦了,在执行新增部门信息的过程中,url : http://localhost:8080/sys/dept/save.json?name=前端开发&seq=1&parentId=1&remark=前端开发

数据能成功保存,但是返回的json提示信息总是那个抛出的异常:“同一层级下不能存在相同名称的部门”

public void save(DeptParam param){
        BeanValidator.check(param);
        if(checkExist(param.getParentId(),param.getName(),param.getId())){
            throw new ParamException("同一层级下不能存在相同名称的部门");
        }
        SysDept dept = SysDept.builder().name(param.getName()).parentId(param.getParentId())
                .seq(param.getSeq()).remark(param.getRemark()).build();

        // 传入上一个部门的层级
        String level = LevelUtil.calculateLevel(getLevel(param.getParentId()),param.getParentId());
        dept.setLevel(level);
        dept.setOperator("system");// TODO:
        dept.setOperatorIp("127.0.0.1");// TODO:
        dept.setOperatorTime(new Date());
        sysDeptMapper.insertSelective(dept);
    }
写回答

2回答

Jimin

2018-09-08

你好,这是正常的业务校验啊,举个简单的例子,大家部门都叫相同名称,那么说是哪个部门时就无法区分了,因此这里为了保证符合实际场景需要,做了专门的校验,你每次提交时换个不同的部门名称就不会遇到这个提示了。

0
3
Screenly
老师,刚刚debug有找到一个现象,在没有相同部门的情况下新增,debug过程中有出现正常的返回信息,但是最后后执行完还是返回“同一层级下不能存在相同名称的部门”,但是数据能添加到数据库中
2018-09-08
共3条回复

Screenly

提问者

2018-09-08

老师明白了,可能没表达清楚,我是在表中没有数据的时候新增的第一条记录的时候,现在可以了,谢谢老师!!!

0
0

Java开发企业级权限管理系统

源于企业真实Java项目,涉及大量高级技巧,覆盖权限管理开发技术

2261 学习 · 1347 问题

查看课程