苍穹外卖 员工管理 添加员工用户名(不能重复) 处理

添加员工用户名不能重复

在前面业务异常类新增一个用户名存在异常处理类

package com.sky.exception;

/**
 * 用户名存在异常
 */
public class UserNameExistException extends BaseException{

    public UserNameExistException(String msg) {
        super(msg);
    }
}
在com.sky.constant 包里的 MessageConstant 信息提示常量类里添加一条 用户名存在提示常量信息

添加

public static final String USER_NAME_EXIST="用户名已经存在!!";

最后在 EmployeeServiceImpl 实现类的 员工添加方法上处理 

添加员工完整代码如下

/**
     * 新增员工
     * @param employeeDTO
     */
    @Override
    public void add(EmployeeDTO employeeDTO) {
        //我要做什么 -> 添加员工
        //操作数据库需要一个员工对象实体类
        //判断添加的当前用户名是否已经存在
        String username = employeeDTO.getUsername();
        //根据用户名查询数据库
        Employee name = employeeMapper.getByUsername(username);

        //判断当前用户名重复
        if (name != null){
            //当前名称已经存在 抛出业务异常
            throw new UserNameExistException(MessageConstant.USER_NAME_EXIST);
        }

        //不存在就正常执行添加操作
        Employee employee = new Employee();
        //属性拷贝 拷贝前端传过来的属性
        BeanUtils.copyProperties(employeeDTO,employee);

        //做这件事需要什么 ->   账号默认密码 123456 进行md5加密 账号默认状态 1
        employee.setPassword(DigestUtils.md5DigestAsHex(PasswordConstant.DEFAULT_PASSWORD.getBytes()));
        employee.setStatus(StatusConstant.ENABLE);

        //账号的创建时间  当前系统时间
        employee.setCreateTime(LocalDateTime.now());
        employee.setUpdateTime(LocalDateTime.now());

        //后续完成 创建人
        employee.setCreateUser(BaseContext.getCurrentId());
        employee.setUpdateUser(BaseContext.getCurrentId());

        employeeMapper.add(employee);
    }

效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值