文章目录
Day2_启用禁用员工账号
代码开发
-
在EmployeeController类编写启用禁用员工账号方法
@PostMapping("/status/{status}") @ApiOperation("启用禁用员工账号") public Result startOrStop(@PathVariable Integer status,Long id){ log.info("启用禁用员工账号:{},{}",status,id); employeeService.startOrStop(status,id); return Result.success(); }
-
调用employeeService完成新增操作,在EmployeeService中扩展startOrStop方法
void startOrStop(Integer status, Long id);
-
在EmployeeServiceImpl中实现startOrStop方法
public void startOrStop(Integer status, Long id) { // update employee set status = ? where id = ? /*Employee employee = new Employee(); employee.setStatus(status); employee.setId(id);*/ Employee employee = Employee.builder() .status(status) .id(id) .build(); employeeMapper.update(employee); }
-
EmployeeMapper类中扩展方法
/** * 根据主键动态修改属性 * @param employee */ 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 = #{username},</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=6,对应数据表中“王五”)
将其“status”设为“0”:
刷新数据库,id=6的行status变为“0”:
Day2_编辑员工
需求分析和设计
产品原型
接口设计
由产品原型,编辑员工操作涉及到两个接口:
返回数据即为员工信息的各个字段,如code、data、msg
请求体:
返回数据为code、data、msg
代码开发
-
在EmployeeController类编写方法
/** * 根据id查询员工信息 * @param id * @return */ @GetMapping("/{id}") @ApiOperation("根据id查询员工信息") public Result<Employee> getById(@PathVariable Long id){ Employee employee = employeeService.getById(id); return Result.success(employee); } /** * 编辑员工信息 * @param employeeDTO * @return */ @PutMapping @ApiOperation("编辑员工信息") public Result update(@RequestBody EmployeeDTO employeeDTO){ log.info("编辑员工信息:{}",employeeDTO); employeeService.update(employeeDTO); return Result.success(); }
-
调用employeeService完成操作,在EmployeeService中扩展方法
/** * 根据id查询员工信息 * @param id * @return */ Employee getById(Long id); /** * 编辑员工信息 * @param employeeDTO */ void update(EmployeeDTO employeeDTO);
-
在EmployeeServiceImpl中实现方法
/** * 根据id查询员工信息 * @param id * @return */ public Employee getById(Long id) { Employee employee = employeeMapper.getById(id); employee.setPassword("****"); return employee; } /** * 编辑员工信息 * @param employeeDTO */ public void update(EmployeeDTO employeeDTO) { Employee employee = new Employee(); BeanUtils.copyProperties(employeeDTO,employee); employee.setUpdateTime(LocalDateTime.now()); employee.setUpdateUser(BaseContext.getCurrentId()); employeeMapper.update(employee); }
-
EmployeeMapper类中扩展根据id查询员工信息方法
/** * 根据id查询员工信息 * @param id * @return */ @Select("select * from employee where id = #{id}") Employee getById(Long id);
功能测试
接口网址:苍穹外卖项目接口文档
查询数据库验证:
至此,苍穹外卖启禁用员工账号与编辑员工部分代码开发测试完毕。