package com.hollywood.applet.controller;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.hollywood.applet.service.TMusicService;
|
import com.hollywood.applet.utils.LoginInfoUtil;
|
import com.hollywood.common.basic.ApiResult;
|
import com.hollywood.common.model.TMusic;
|
import com.hollywood.common.redis.RedisAutoTemplate;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
import java.util.Set;
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @author luodangjia
|
* @since 2024-11-20
|
*/
|
@Api(tags = "音乐管理")
|
@RestController
|
@RequestMapping("/t-music")
|
public class TMusicController {
|
@Resource
|
private TMusicService musicService;
|
@Autowired
|
private LoginInfoUtil loginInfoUtil;
|
@Autowired
|
private RedisAutoTemplate redisAutoTemplate;
|
|
|
@ApiOperation(value = "点赞")
|
@PutMapping("/good")
|
public ApiResult good(Integer id)
|
{
|
Long userId = loginInfoUtil.getUserId();
|
redisAutoTemplate.addSet("MUSIC"+userId+":user:good:",id);
|
redisAutoTemplate.addSet("MUSIC"+id+":video:good:",userId);
|
|
|
return ApiResult.success();
|
}
|
@ApiOperation(value = "取消点赞")
|
@PutMapping("/cancelgood")
|
public ApiResult cancelgood(Integer id)
|
{
|
Long userId = loginInfoUtil.getUserId();
|
// redisAutoTemplate.removeZSet(userId+":user:good:",videoId);
|
redisAutoTemplate.setRemove("MUSIC"+userId+":user:good:",id);
|
// redisAutoTemplate.removeZSet(videoId+":video:good:",userId);
|
redisAutoTemplate.setRemove("MUSIC"+id+":video:good:",userId);
|
|
|
return ApiResult.success();
|
}
|
|
@ApiOperation(value = "获取音乐列表")
|
@PutMapping("/get")
|
public ApiResult<List<TMusic>> get()
|
{
|
Long userId = loginInfoUtil.getUserId();
|
List<TMusic> vedios = musicService.list();
|
//获取用户的点赞记录
|
Set<Long> goods = redisAutoTemplate.getSet(userId+":user:good:");
|
for (TMusic vedio : vedios) {
|
//获取该视频的点赞用户
|
Set<Long> goodsUser = redisAutoTemplate.getSet("MUSIC"+vedio.getId()+":video:good:");
|
vedio.setLikeCount(goodsUser.size());
|
//判断当前用户是否点赞该视频
|
if (goods!=null&&goods.contains(vedio.getId().intValue())){
|
vedio.setIsGood(1);
|
}else {
|
vedio.setIsGood(0);
|
}
|
}
|
return ApiResult.success(vedios);
|
}
|
|
|
}
|