3--苍穹外卖-SpringBoot项目中员工管理 详解(二)

前言

1--苍穹外卖-SpringBoot项目介绍及环境搭建 详解-CSDN博客

2--苍穹外卖-SpringBoot项目中员工管理 详解(一)-CSDN博客

3--苍穹外卖-SpringBoot项目中员工管理 详解(二)-CSDN博客

4--苍穹外码-SpringBoot项目中分类管理 详解-CSDN博客

5--苍穹外卖-SpringBoot项目中菜品管理 详解(一)-CSDN博客

6--苍穹外卖-SpringBoot项目中菜品管理 详解(二)-CSDN博客

7--苍穹外卖-SpringBoot项目中套餐管理 详解(一)-CSDN博客

8--苍穹外卖-SpringBoot项目中套餐管理 详解(二)-CSDN博客

9--苍穹外卖-SpringBoot项目中Redis的介绍及其使用实例 详解-CSDN博客

10--苍穹外卖-SpringBoot项目中微信登录 详解-CSDN博客


目录

员工管理

启用禁用员工账号

需求分析和设计

代码开发

Controller层

Service层接口

Service层实现类

Mapper层

功能测试

编辑员工

需求分析和设计

代码开发

回显员工信息功能

Controller层

Service层接口

Service层实现类

Mapper层

修改员工信息功能

Controller层

Service层接口

Service层实现类

功能测试


员工管理

启用禁用员工账号

需求分析和设计

业务规则:

可以对状态为“启用” 的员工账号进行“禁用”操作

可以对状态为“禁用”的员工账号进行“启用”操作

状态为“禁用”的员工账号不能登录系统

  • 路径参数携带状态值。
  • 同时,把id传递过去,明确对哪个用户进行操作。
  • 返回数据code状态是必须,其它是非必须。

代码开发

Controller层

在sky-server模块中,根据接口设计中的请求参数形式对应的在 EmployeeController 中创建启用禁用员工账号的方法:

 //启用禁用员工账号
    @PostMapping("/status/{status}")
    @ApiOperation("启用禁用员工账号")
    public Result startOrStop(@PathVariable Integer status,Long id){
        log.info("启用禁用员工账号:{},{}",status,id);
        employeeService.startOrStop(status,id);
        return Result.success();
    }
Service层接口

在 EmployeeService 接口中声明启用禁用员工账号的业务方法:

//启用禁用员工账号
    void startOrStop(Integer status, Long id);
Service层实现类

在 EmployeeServiceImpl 中实现启用禁用员工账号的业务方法:

 //启用禁用员工账号
    @Override
    public void startOrStop(Integer status, Long id) {

        /*Employee employee = new Employee();
        employee.setStatus(status);
        employee.setId(id);*/

        Employee employee = Employee.builder()
                .status(status)
                .id(id)
                .build();

        employeeMapper.update(employee);
    }
Mapper层

在 EmployeeMapper 接口中声明 update 方法:

//根据主键动态修改属性
    void update(Employee employee);

在 EmployeeMapper.xml 中编写SQL:

 <!-- 启用禁用员工账号-->
    <update id="update" parameterType="Employee">
        update employee
        <set>
            <if test="name!=null">name=#{name},</if>
            <if test="username!=null">username=#{usename},</if>
            <if test="password!=null">password=#{password},</if>
            <if test="phone!=null">phone=#{phone},</if>
            <if test="sex!=null">sex=#{sex},</if>
            <if test="idNumber!=null">id_Number=#{idNumber},</if>
            <if test="updateTime!=null">update_Time=#{updateTime},</if>
            <if test="updateUser!=null">update_User=#{updateUser},</if>
            <if test="status!=null">status=#{status},</if>
        </set>
        where id=#{id}
    </update>

功能测试

编辑员工

需求分析和设计

编辑员工功能涉及到两个接口:

  • 根据id查询员工信息

  • 编辑员工信息

代码开发

回显员工信息功能
Controller层

在 EmployeeController 中创建 getById 方法:

 //根据id查询员工信息
    @GetMapping("/id")
    @ApiOperation("根据id查询员工信息")
    public Result<Employee> getById(@PathVariable Long id){
        Employee employee=employeeService.getById(id);
        return Result.success(employee);
    }
Service层接口

在 EmployeeService 接口中声明 getById 方法:

//根据id查询员工
    Employee getById(Long id);
Service层实现类

在 EmployeeServiceImpl 中实现 getById 方法:

//根据id查询员工
    @Override
    public Employee getById(Long id) {
        Employee employee=employeeMapper.getById(id);
        employee.setPassword("****");
        return employee;
    }
Mapper层

在 EmployeeMapper 接口中声明 getById 方法:

  //根据id查询员工信息
    @Select("select*from employee where id=#{id}")
    Employee getById(Long id);
修改员工信息功能
Controller层

在 EmployeeController 中创建 update 方法:

 //编辑员工信息
    @PutMapping
    @ApiOperation("编辑员工信息")
    public Result update(@RequestBody EmployeeDTO employeeDTO){
        log.info("编辑员工信息:{}",employeeDTO);
        employeeService.update(employeeDTO);
        return Result.success();
    }
Service层接口

在 EmployeeService 接口中声明 update 方法:

//编辑员工信息
    void update(EmployeeDTO employeeDTO);
Service层实现类

在 EmployeeServiceImpl 中实现 update 方法:

    //编辑员工信息
    @Override
    public void update(EmployeeDTO employeeDTO) {
        Employee employee=new Employee();
        BeanUtils.copyProperties(employeeDTO,employee);

        employee.setUpdateTime(LocalDateTime.now());
        employee.setUpdateUser(BaseContext.getCurrentId());

        employeeMapper.update(employee);


    }

功能测试

本文是转载文章,点击查看原文
如有侵权,请联系 lx@jishuguiji.net 删除。