社交项目(二十一)

96 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第23天,点击查看活动详情

图书删除功能和后台首页基本框架搭建

1.service定义删除接口

image.png

2.实现类实现接口

image.png

@Override
@Transactional
public Book deleteBook(Long bookId) {
    //删除图书
    bookMapper.deleteById(bookId);
    QueryWrapper<Evaluation> e = new QueryWrapper<>();
    //删除评论
    e.eq("book_id",bookId);
    evaluationMapper.delete(e);
    QueryWrapper<MemberReadState> mrs = new QueryWrapper<>();
    mrs.eq("book_id",bookId);
    memberReadStateMapper.delete(mrs);
    return null;
}

代码说明:

  • QueryWrapper<Evaluation> e = new QueryWrapper<>();定义评论查询对象
  • e.eq("book_id",bookId):查询符合条件的评论
  • evaluationMapper.delete(e):传入对象,删除对应的数据

3.控制器定义删除方法

image.png

@GetMapping("/delete/{id}")
@ResponseBody
public Map delete(@PathVariable("id") Long bookId){
    Map result = new HashMap<>();
    try {
        bookService.deleteBook(bookId);
        result.put("code",0);
        result.put("msg","success");
    }catch (BusinessException ex){
        result.put("code",ex.getCode());
        result.put("msg",ex.getMsg());
    }
    return result;
}

代码说明:

  • bookService.deleteBook(bookId):根据传入的bookId,调用删除方法,并且把返回值返回

4.重启项目

image.png 接口正常返回: image.png 可以看到,删除了三方面的数据

  • 删除图书信息
  • 删除用户的评论记录
  • 删除用户想看的记录
  • 全部执行之后,执行事务提交

5.集成基础后台框架

新增后台首页ftl文件 image.png

6.新增控制器

image.png

@Controller
@RequestMapping("/management")
public class ManagementController {
    @GetMapping("index.html")
    public ModelAndView showIndex(){
        return new ModelAndView("/management/index");
    }
}

代码说明: eturn new ModelAndView("/management/index"):定义返回的后台模板首页地址

6.重启项目

访问:http://localhost:8080/management/index.html
可以看到,首页由两大组成,一个是图书类表,另外一个是短评相关功能 image.png 还有一个登陆的模块,需要我们进行下一步完善