瑞吉外卖(新增员工,功能开发详解)

新增员工的功能

简介:用户点击“新增员工” 按钮,然后在页面跳转到新增员工的界面,输入,username,password,name(与username不同,这里指的是员工的名字,username是账号), age,sex等,我们就可以在数据库中employee插入一条新的员工数据

这里是源码获取地址(https://kdocs.cn/l/cja9JxdvbyUa

程序执行过程:

1,页面发送ajax请求,并以json的格式返回给服务端

2,服务端Controller接受数据并调用service进行数据保存

3.service调用mapper操作数据库,保存数据

代码开发

这里,我们分析一下 返回参数和传入参数

  1. 由于保存用户,不需要给页面其他数据,这里我们直接返回string的数据就行

  2. 函数,传入的参数,由于已经用json格式进行了封装,所以我们应该用到@RequestBody Employee employee,并且,保存好一个新的用户数据后,我们需要保存一个新的用户id到session,因此需要再次设置一个请求参数HttpServletRequest request 用来获取session保存新的用户id

  3. 请求的http路径我们设置成 http://localhost:8080/employee

  4. 请求方式是post

在对mapper,service,controller提前创建完接口后,我们直接在controller编写代码

 

 

 

我们先看一下初始的mysql的employee数据,以下,我们可以看到,这里初始密码其实是“123456”保存到mysql中其实是对数据进行的md5加密

 

首先,先对请求到的employee获取password,然后进行加密

employee.setPassword(DigestUtils.md5DigestAsHex(employee.getPassword().getBytes()));

然后,设置用户的创建时间和更新时间

employee.setUpdateTime(LocalDateTime.now());
employee.setCreateTime(LocalDateTime.now());

保存id到session里面

Long id = (Long)request.getSession().getAttribute("employee");

最后设置employee的UpdateUser和CreateUser(注意,这里一般是由管理员创建,所以我们直接用上面获取到的管理员的id就行,权限设置的是普通用户不能创建其他用户)

employee.setUpdateUser(id);
employee.setCreateUser(id);

最后我们调用employeeService的save方法保存就行

employeeService.save(employee);

以下是完整的代码

@PostMapping
public R<String> employeeAdd(HttpServletRequest request, @RequestBody Employee employee){
    log.info("添加员工信息");
    //页面传过来的参数为json格式但是没有密码,所以设置一个初始密码就行
    if(employee.getPassword()!=null){
        employee.setPassword(DigestUtils.md5DigestAsHex(employee.getPassword().getBytes()));
    }else{
        employee.setPassword(DigestUtils.md5DigestAsHex("123456".getBytes()));
    }
    employee.setUpdateTime(LocalDateTime.now());
    employee.setCreateTime(LocalDateTime.now());

    //设置当前登录用户的id,前面是已经将id存到session里面了,所以直接拿就行
    Long id = (Long)request.getSession().getAttribute("employee");

    employee.setUpdateUser(id);
    employee.setCreateUser(id);

    employeeService.save(employee);

    return R.success("用户添加成功!");
}

最后我们在swagger测试数据,注意(这里我们不用自己设置id,直接由mybatisplus的功能用雪花算法给我们自动生成新的id)

 

 

测试成功!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值