目录
1、查询管理员信息(分页带条件)
1.1、在 serivce 及其实现类添加方法
1.2、在 controller 添加方法
2、添加或修改管理员信息
2.1、在 controller 添加方法
3、删除和批量删除管理员信息
3.1、在 controller 中添加方法
Request URL: http://localhost:8080/sms/adminController/getAllAdmin/{pageNo}/{pageSize}?adminName=%E4%B8%89
Request Method: GET
AdminService
/**
* 获取管理员信息(分页带条件)
* @param page
* @param adminName 管理员名字,用于模糊查询
* @return
*/
IPage getAdminByOpr(Page page, String adminName);
AdminServiceImpl
/**
* 获取管理员信息(分页带条件)
* @param page
* @param adminName 管理员名字,用于模糊查询
* @return
*/
@Override
public IPage getAdminByOpr(Page page, String adminName) {
QueryWrapper queryWrapper = new QueryWrapper<>();
// 若adminName的条件不为空,则添加模糊查询的条件
if(!StringUtils.isEmpty(adminName)){
queryWrapper.like("name", adminName);
}
queryWrapper.orderByDesc("id");
Page adminPage = baseMapper.selectPage(page, queryWrapper);
return adminPage;
}
AdminController
@RestController
@RequestMapping("/sms/adminController")
public class AdminController {
@Autowired
private AdminService adminService;
/**
* 查询管理员信息(分页带条件)
* @param pageNo 分页查询的页码数
* @param pageSize 分页查询每页的数据量
* @param adminName 管理员名字,用于模糊查询
* @return
*/
@ApiOperation("查询管理员信息(分页带条件)")
@GetMapping("/getAllAdmin/{pageNo}/{pageSize}")
public Result getAllAdmin(
@ApiParam("分页查询的页码数") @PathVariable("pageNo") Integer pageNo,
@ApiParam("分页查询每页的数据量") @PathVariable("pageSize") Integer pageSize,
@ApiParam("管理员名字,用于模糊查询") String adminName
){
Page page = new Page<>(pageNo, pageSize);
IPage iPage = adminService.getAdminByOpr(page, adminName);
return Result.ok(iPage);
}
}
Request URL: http://localhost:8080/sms/adminController/saveOrUpdateAdmin
Request Method: POST
添加管理员时没有 id 属性,修改管理员会发送 id
/**
* 添加或修改管理员信息
* @param admin 添加或修改的管理员信息
* @return
*/
@ApiOperation("添加或修改管理员信息")
@PostMapping("/saveOrUpdateAdmin")
public Result saveOrUpdateAdmin(
@ApiParam("添加或修改的管理员信息") @RequestBody Admin admin
){
Integer id = admin.getId();
if(null == id || id == 0){
admin.setPassword(MD5.encrypt(admin.getPassword()));
}
adminService.saveOrUpdate(admin);
return Result.ok();
}
Request URL: http://localhost:8080/sms/adminController/deleteAdmin
Request Method: DELETE
发送要删除的管理员 id 的 JSON 数组
/**
* 删除或批量删除管理员信息
* @param ids 要删除的管理员的id的JSON数组
* @return
*/
@ApiOperation("删除或批量删除管理员信息")
@DeleteMapping("/deleteAdmin")
public Result deleteAdmin(
@ApiParam("要删除的管理员的id的JSON数组") @RequestBody List ids
){
adminService.removeByIds(ids);
return Result.ok();
}
Request URL: http://localhost:8080/sms/system/updatePwd/{oldPwd}/{newPwd}
Request Method: POST
在请求头包含 token,蕴含用户信息
SystemController
/**
* 修改用户密码
* @param token
* @param olePwd
* @param newPwd
* @return
*/
@ApiOperation("修改用户密码")
@PostMapping("/updatePwd/{oldPwd}/{newPwd}")
public Result updatePwd(
@ApiParam("蕴含用户信息的token口令") @RequestHeader("token") String token,
@ApiParam("原密码") @PathVariable("oldPwd") String olePwd,
@ApiParam("新密码") @PathVariable("newPwd") String newPwd
){
// 判断token是否在有效期内
boolean expiration = JwtHelper.isExpiration(token);
if(expiration){
return Result.fail().message("token失效,请重新登录");
}
// 获取用户id和用户类型
Long userId = JwtHelper.getUserId(token);
Integer userType = JwtHelper.getUserType(token);
olePwd = MD5.encrypt(olePwd);
newPwd = MD5.encrypt(newPwd);
switch (userType){
case 1:
QueryWrapper adminQueryWrapper = new QueryWrapper<>();
adminQueryWrapper.eq("id", userId.intValue())
.eq("password", olePwd);
Admin admin = adminService.getOne(adminQueryWrapper);
if(admin != null){
// 找到该用户,修改密码
admin.setPassword(newPwd);
adminService.saveOrUpdate(admin);
}else{
// 没有找到该用户,返回错误信息
return Result.fail().message("原密码错误");
}
break;
case 2:
QueryWrapper studentQueryWrapper = new QueryWrapper<>();
studentQueryWrapper.eq("id", userId.intValue())
.eq("password", olePwd);
Student student = studentService.getOne(studentQueryWrapper);
if(student != null){
// 找到该用户,修改密码
student.setPassword(newPwd);
studentService.saveOrUpdate(student);
}else{
// 没有找到该用户,返回错误信息
return Result.fail().message("原密码错误");
}
break;
case 3:
QueryWrapper teacherQueryWrapper = new QueryWrapper<>();
teacherQueryWrapper.eq("id", userId.intValue())
.eq("password", olePwd);
Teacher teacher = teacherService.getOne(teacherQueryWrapper);
if(teacher != null){
// 找到该用户,修改密码
teacher.setPassword(newPwd);
teacherService.saveOrUpdate(teacher);
}else{
// 没有找到该用户,返回错误信息
return Result.fail().message("原密码错误");
}
break;
}
return Result.ok();
}