【Redis】Redis实战:黑马点评之达人探店

Redis实战:黑马点评之达人探店

1 发布探店笔记

探店笔记类似点评网站的评价,往往是图文结合。对应的表有两个:

  • tb_blog:探店笔记表,包含笔记中的标题、文字、图片等
  • tb_blog_comments:其他用户对探店笔记的评价

具体发布流程如下:

在这里插入图片描述

UploadController(已完成)

@Slf4j
@RestController
@RequestMapping("upload")
public class UploadController {
   

    @PostMapping("blog")
    public Result uploadImage(@RequestParam("file") MultipartFile image) {
   
        try {
   
            // 获取原始文件名称
            String originalFilename = image.getOriginalFilename();
            // 生成新文件名
            String fileName = createNewFileName(originalFilename);
            // 保存文件
            image.transferTo(new File(SystemConstants.IMAGE_UPLOAD_DIR, fileName));
            // 返回结果
            log.debug("文件上传成功,{}", fileName);
            return Result.ok(fileName);
        } catch (IOException e) {
   
            throw new RuntimeException("文件上传失败", e);
        }
    }

}

这里需要注意一点,将SystemConstants类中的IMAGE_UPLOAD_DIR改成自己nginx中imgs目录的绝对路径

在这里插入图片描述

BlogController(已完成)

@RestController
@RequestMapping("/blog")
public class BlogController {
   

    @Resource
    private IBlogService blogService;

    @PostMapping
    public Result saveBlog(@RequestBody Blog blog) {
   
        //获取登录用户
        UserDTO user = UserHolder.getUser();
        blog.setUpdateTime(user.getId());
        //保存探店博文
        blogService.saveBlog(blog);
        //返回id
        return Result.ok(blog.getId());
    }
}

2 查看探店笔记

实现查看发布探店笔记的接口

在这里插入图片描述

代码具体实现如下:

在BlogController中(queryHotBlog的功能已经完成,但是我们需要将其具体业务逻辑移至service层)

@GetMapping("/hot")
public Result queryHotBlog(@RequestParam(value = "current", defaultValue = "1") Integer current) {
   
    return blogService.queryHotBlog(current);

}

@GetMapping("/{id}")
public Result queryById(@PathVariable("id") Long id){
   
    return blogService.queryById(id);
}

在BlogServiceImpl中

@Override
public Result queryHotBlog(Integer current) {
   
    // 根据用户查询
    Page<Blog> page = query()
        .orderByDesc("liked")
        .page(new Page<>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值