一.需求分析和设计
1.在需求分析时,会对着产品原型进行分析。
产品原型:
根据原型分析出:1.账号必须唯一 2.手机号长度为11位 3.身份证长度为18位
默认密码可设置为123456
2.接口设计
3.数据库设计
二.根据需求分析和接口进行代码开发
(1)根据新增员工接口设计对应的DTO:
@Data public class EmployeeDTO implements Serializable { private Long id; private String username; private String name; private String phone; private String sex; private String idNumber; }
(2)编写新增员工的方法:
@PostMapping @ApiOperation("新增员工") public Result save(@RequestBody EmployeeDTO employeeDTO){ log.info("新增员工:{}",employeeDTO); employeeService.save(employeeDTO); //save报错,因为没有该方法,下一步进行编写 return Result.success(); }
(3)编写save新增员工业务方法
/** * 新增员工 * @param employeeDTO */ void save(EmployeeDTO employeeDTO);
(4)新增员工实现方法
/** * 新增员工 * @param employeeDTO */ public void save(EmployeeDTO employeeDTO) { Employee employee =new Employee(); //对象属性拷贝 BeanUtils.copyProperties(employeeDTO,employee); //设置账户状态,默认正常状态1,0为锁定 employee.setStatus(StatusConstant.ENABLE); //设置默认密码123456 employee.setPassword(DigestUtils.md5DigestAsHex(PasswordConstant.DEFAULT_PASSWORD.getBytes())); //设置当前记录的创建时间和修改时间 employee.setCreateTime(LocalDateTime.now()); employee.setUpdateTime(LocalDateTime.now()); //设置当前记录的创建人id和修改人id employee.setCreateUser(10L); employee.setUpdateUser(10L); employeeMapper.insert(employee); }
(5) 插入员工数据
/** * 插入员工数据 * @param employee */ @Insert("INSERT INTO employee(name, username, password, phone, sex, id_number, status, create_time, update_time, create_user, update_user) " + "values " + "(#{name},#{username},#{password},#{phone},#{sex},#{idNumber},#{status},#{createTime},#{updateTime},#{createUser},#{updateUser})") void insert(Employee employee); }
三.功能测试
1.通过接口文档测试
问题:JWT令牌出错,缺少token
解决措施:手动添加token。
2.测试结果
添加成功