添加分类
接口
/**
* 添加分类
* 需要管理员权限
*
* @return
*/
@PreAuthorize("@permission.admin()")
@PostMapping
public ResponseResult addCategory(@RequestBody Category category) {
return categoryService.addCategory(category);
}
实现
@Override
public ResponseResult addCategory(Category category) {
//先检查数据
// 必须的数据有:
//分类名称、分类的pinyin、顺序、描述
if (TextUtils.isEmpty(category.getName())) {
return ResponseResult.FAILED("分类名称不可以为空.");
}
if (TextUtils.isEmpty(category.getPinyin())) {
return ResponseResult.FAILED("分类拼音不可以为空.");
}
if (TextUtils.isEmpty(category.getDescription())) {
return ResponseResult.FAILED("分类描述不可以为空.");
}
//补全数据
category.setId(idWorker.nextId() + "");
category.setStatus("1");
category.setCreateTime(new Date());
category.setUpdateTime(new Date());
//保存数据
categoryDao.save(category);
//返回结果
return ResponseResult.SUCCESS("添加分类成功");
}
修改分类
接口
/**
* 更新分类
*
* @param categoryId
* @param category
* @return
*/
@PreAuthorize("@permission.admin()")
@PutMapping("/{categoryId}")
public ResponseResult updateCategory(@PathVariable("categoryId") String categoryId, @RequestBody Category category) {
return categoryService.updateCategory(categoryId, category);
}
实现
/**
* 更新内容有什么:
* logo
* 对方网站的名称
* url
* order
*
* @param friendLinkId
* @param friendLink
* @return
*/
@Override
public ResponseResult updateFriendLink(String friendLinkId, FriendLink friendLink) {
FriendLink friendLinkFromDb = friendLinkDao.findOneById(friendLinkId);
if (friendLinkFromDb == null) {
return ResponseResult.FAILED("更新失败.");
}
String logo = friendLink.getLogo();
if (!TextUtils.isEmpty(logo)) {
friendLinkFromDb.setLogo(logo);
}
String name = friendLink.getName();
if (!TextUtils.isEmpty(name)) {
friendLinkFromDb.setName(name);
}
String url = friendLink.getUrl();
if (!TextUtils.isEmpty(url)) {
friendLinkFromDb.setUrl(url);
}
friendLinkFromDb.setOrder(friendLink.getOrder());
//保存数据
friendLinkDao.save(friendLinkFromDb);
return ResponseResult.SUCCESS("更新成功.");
}
删除分类
接口
/**
* 删除分类
*
* @param categoryId
* @return
*/
@PreAuthorize("@permission.admin()")
@DeleteMapping("/{categoryId}")
public ResponseResult deleteCategory(@PathVariable("categoryId") String categoryId) {
return categoryService.deleteCategory(categoryId);
}
实现
@Override
public ResponseResult deleteCategory(String categoryId) {
int result = categoryDao.deleteCategoryByUpdateState(categoryId);
if (result == 0) {
return ResponseResult.FAILED("该分类不存在.");
}
return ResponseResult.SUCCESS("删除分类成功.");
}
获取分类
接口
/**
* 获取分类
* <p>
* 使用的case:修改的时候,获取一下。填充弹窗
* 不获取也是可以的,从列表里获取数据
* <p>
* 权限:管理员权限
*
* @param categoryId
* @return
*/
@PreAuthorize("@permission.admin()")
@GetMapping("/{categoryId}")
public ResponseResult getCategory(@PathVariable("categoryId") String categoryId) {
return categoryService.getCategory(categoryId);
}
实现
@Override
public ResponseResult getCategory(String categoryId) {
Category category = categoryDao.findOneById(categoryId);
if (category == null) {
return ResponseResult.FAILED("分类不存在.");
}
return ResponseResult.SUCCESS("获取分类成功.").setData(category);
}
获取分类列表
接口
/**
* 获取分类列表
* <p>
* 权限:管理员权限
*
* @param page 页码
* @param size 每一页的记录数量
* @return
*/
@PreAuthorize("@permission.admin()")
@GetMapping("/list/{page}/{size}")
public ResponseResult listCategories(@PathVariable("page") int page, @PathVariable("size") int size) {
return categoryService.listCategories(page, size);
}
实现
@Override
public ResponseResult listCategories(int page, int size) {
//参数检查
if (page < Constants.Page.DEFAULT_PAGE) {
page = Constants.Page.DEFAULT_PAGE;
}
if (size < Constants.Page.DEFAULT_SIZE) {
size = Constants.Page.DEFAULT_SIZE;
}
//创建条件
Sort sort = new Sort(Sort.Direction.DESC, "createTime", "order");
Pageable pageable = PageRequest.of(page - 1, size, sort);
//查询
Page<Category> all = categoryDao.findAll(pageable);
//返回结果
return ResponseResult.SUCCESS("获取分类列表成功.").setData(all);
}