diff --git a/pom.xml b/pom.xml index 466e6b8..3257e75 100644 --- a/pom.xml +++ b/pom.xml @@ -65,6 +65,11 @@ spring-boot-starter-data-redis + + org.springframework.boot + spring-boot-starter-data-jpa + + diff --git a/src/main/java/org/hlrj/duobao_demo/controller/CuratedVideoController.java b/src/main/java/org/hlrj/duobao_demo/controller/CuratedVideoController.java index a58e0fa..015b3d0 100644 --- a/src/main/java/org/hlrj/duobao_demo/controller/CuratedVideoController.java +++ b/src/main/java/org/hlrj/duobao_demo/controller/CuratedVideoController.java @@ -22,13 +22,13 @@ import java.util.List; */ @RestController @Slf4j -@RequestMapping("/curated-video") +@RequestMapping("/curated-video/api") public class CuratedVideoController { @Autowired private ICuratedVideoService curatedVideoService; ///api/brain/addUserPrivileges //@RequestMapping(value = "/api/selectRecommendation",method = RequestMethod.POST) - @PostMapping("/api/selectCuratedVideo") + @PostMapping("/selectCuratedVideo") public Result selectCuratedVideo() { log.info("查询全部的精选的视频");//日志记录 @@ -38,7 +38,7 @@ public class CuratedVideoController { return Result.success(curatedVideo); } - @PostMapping("/api/deleteCuratedVideo/{id}") + @PostMapping("/deleteCuratedVideo/{id}") public Result deleteCuratedVideo(@PathVariable Integer id) { log.info("根据id删除精选:{}",id); @@ -46,4 +46,17 @@ public class CuratedVideoController { return Result.success(); } + /** + * 根据id查询数据 + * @param id + * @return + */ + @PostMapping("/selectCuratedVideoById/{id}") + public Result selectRecommendationById(@PathVariable Integer id) { + log.info("根据id进行查询:{}",id); + CuratedVideo curatedVideo = curatedVideoService.selectById(id); + return Result.success(curatedVideo); + } + + } diff --git a/src/main/java/org/hlrj/duobao_demo/controller/RecommendationController.java b/src/main/java/org/hlrj/duobao_demo/controller/RecommendationController.java index 64c13ff..9e4289d 100644 --- a/src/main/java/org/hlrj/duobao_demo/controller/RecommendationController.java +++ b/src/main/java/org/hlrj/duobao_demo/controller/RecommendationController.java @@ -10,6 +10,7 @@ import org.hlrj.duobao_demo.tool.Result; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -37,7 +38,8 @@ public class RecommendationController { private IRecommendationService recommendationService; ///api/brain/addUserPrivileges //@RequestMapping(value = "/api/selectRecommendation",method = RequestMethod.POST) - + @Autowired + private RedisTemplate redisTemplate; /** * 查询操作 * @return @@ -102,36 +104,27 @@ public class RecommendationController { return Result.success(); } + /** + * 点赞数量加1 + * @param recommendation + * @return + */ + @PostMapping("/addLike") + public Result addLike(@RequestBody Recommendation recommendation){ + log.info("增加点赞操作:{}",recommendation); + recommendationService.addLike(recommendation); + return Result.success(); + } - @PostMapping() - public Result likeRecommendation(@RequestParam Integer id) { - log.info("点赞操作,推荐视频ID:{}",id); - Recommendation recommendation = recommendationService.selectById(id); - return Result.success(recommendation); - + + /* @PostMapping("/addLike/{id}") + public Result addLike(@RequestParam Integer id) { + Recommendation recommendation = new Recommendation(); + String key= String.valueOf(recommendation.getLikes()); + key = "like:"+ id; + long result = redisTemplate.opsForValue().increment(key); + return Result.success(result); - //查询推荐视频 - /*try { - - Optional optional = recommendationService.selectById(id); - if (!optional.isPresent()) { - return ResponseEntity.notFound().build(); - } - //更新点赞数 - Recommendation recommendation = optional.get(); - QueryWrapper queryWrapper = new QueryWrapper(); - recommendation.setLikes(recommendation.getLikes() + 1); - recommendationService.update(queryWrapper); - //返回最新点赞数 - HashMap response = new HashMap<>(); - response.put("code",200); - response.put("msg","点赞成功"); - response.put("likes", recommendation.getLikes()); - return ResponseEntity.ok(response); - }catch (Exception e){ - log.error("点赞失败,推荐ID:{},错误信息:{}",id,e.getMessage()); - return ResponseEntity.internalServerError().body("服务器内部错误"); - }*/ - } + }*/ } diff --git a/src/main/java/org/hlrj/duobao_demo/controller/SpecialTopicController.java b/src/main/java/org/hlrj/duobao_demo/controller/SpecialTopicController.java index db68de1..ef41e65 100644 --- a/src/main/java/org/hlrj/duobao_demo/controller/SpecialTopicController.java +++ b/src/main/java/org/hlrj/duobao_demo/controller/SpecialTopicController.java @@ -3,16 +3,13 @@ package org.hlrj.duobao_demo.controller; import lombok.extern.slf4j.Slf4j; import org.hlrj.duobao_demo.entity.CuratedVideo; +import org.hlrj.duobao_demo.entity.Recommendation; import org.hlrj.duobao_demo.entity.SpecialTopic; import org.hlrj.duobao_demo.service.ICuratedVideoService; import org.hlrj.duobao_demo.service.ISpecialTopicService; import org.hlrj.duobao_demo.tool.Result; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; - -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -26,12 +23,16 @@ import java.util.List; */ @RestController @Slf4j -@RequestMapping("/special-topic") +@RequestMapping("/special-topic/api") public class SpecialTopicController { @Autowired private ISpecialTopicService specialTopicService; - @PostMapping("/api/selectSpecialTopic") + /** + * 查询全部数据 + * @return + */ + @PostMapping("/selectSpecialTopic") public Result selectSpecialTopic() { log.info("查询全部的专题视频");//日志记录 @@ -42,11 +43,38 @@ public class SpecialTopicController { return Result.success(specialTopic); } - @PostMapping("/api/deleteSpecialTopic/{id}") + /** + * 根据id删除专题 + * @param id + * @return + */ + @PostMapping("/deleteSpecialTopic/{id}") public Result deleteSpecialTopic(@PathVariable Integer id) { log.info("根据id删除专题:{}",id); specialTopicService.delete(id); return Result.success(); } + /** + * 根据id查询数据 + * @param id + * @return + */ + @PostMapping("/selectSpecialTopicById/{id}") + public Result selectSpecialTopicById(@PathVariable Integer id) { + log.info("根据id进行查询:{}",id); + SpecialTopic specialTopic = specialTopicService.selectById(id); + return Result.success(specialTopic); + } + /** + * 点赞数量加1 + * @param specialTopic + * @return + */ + @PostMapping("/addLike") + public Result addLike(@RequestBody SpecialTopic specialTopic){ + log.info("增加点赞操作:{}",specialTopic); + specialTopicService.addLike(specialTopic); + return Result.success(); + } } diff --git a/src/main/java/org/hlrj/duobao_demo/controller/VideoDataController.java b/src/main/java/org/hlrj/duobao_demo/controller/VideoDataController.java index b2b7ad4..e7681a1 100644 --- a/src/main/java/org/hlrj/duobao_demo/controller/VideoDataController.java +++ b/src/main/java/org/hlrj/duobao_demo/controller/VideoDataController.java @@ -26,12 +26,12 @@ import java.util.List; */ @RestController @Slf4j -@RequestMapping("/video-data") +@RequestMapping("/video-data/api") public class VideoDataController { @Autowired private IVideoDataService iVideoDataService; - @PostMapping("/api/selectVideoData") + @PostMapping("/selectVideoData") public Result selectVideoData() { log.info("查询全部的直播广场内容");//日志记录 @@ -40,7 +40,7 @@ public class VideoDataController { return Result.success(videoData); } - @PostMapping("/api/deleteVideoData/{id}") + @PostMapping("/deleteVideoData/{id}") public Result deleteVideoData(@PathVariable Integer id) { log.info("根据id删除直播:{}",id); diff --git a/src/main/java/org/hlrj/duobao_demo/mapper/RecommendationMapper.java b/src/main/java/org/hlrj/duobao_demo/mapper/RecommendationMapper.java index b31a1d3..6e0b692 100644 --- a/src/main/java/org/hlrj/duobao_demo/mapper/RecommendationMapper.java +++ b/src/main/java/org/hlrj/duobao_demo/mapper/RecommendationMapper.java @@ -20,4 +20,6 @@ public interface RecommendationMapper extends BaseMapper { void updateRecommendation(Recommendation recommendation); + + void addLike(Recommendation recommendation); } diff --git a/src/main/java/org/hlrj/duobao_demo/mapper/SpecialTopicMapper.java b/src/main/java/org/hlrj/duobao_demo/mapper/SpecialTopicMapper.java index 997a1ef..1fe9411 100644 --- a/src/main/java/org/hlrj/duobao_demo/mapper/SpecialTopicMapper.java +++ b/src/main/java/org/hlrj/duobao_demo/mapper/SpecialTopicMapper.java @@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface SpecialTopicMapper extends BaseMapper { + public void addLike(SpecialTopic specialTopic); } diff --git a/src/main/java/org/hlrj/duobao_demo/service/ICuratedVideoService.java b/src/main/java/org/hlrj/duobao_demo/service/ICuratedVideoService.java index 31e3549..29c11d8 100644 --- a/src/main/java/org/hlrj/duobao_demo/service/ICuratedVideoService.java +++ b/src/main/java/org/hlrj/duobao_demo/service/ICuratedVideoService.java @@ -25,4 +25,13 @@ public interface ICuratedVideoService extends IService { * @param id */ public void delete(Integer id); + + /** + * 根据id查询数据 + * @param id + * @return + */ + public CuratedVideo selectById(Integer id); + + } diff --git a/src/main/java/org/hlrj/duobao_demo/service/IRecommendationService.java b/src/main/java/org/hlrj/duobao_demo/service/IRecommendationService.java index a79a254..11a850a 100644 --- a/src/main/java/org/hlrj/duobao_demo/service/IRecommendationService.java +++ b/src/main/java/org/hlrj/duobao_demo/service/IRecommendationService.java @@ -46,5 +46,9 @@ public interface IRecommendationService extends IService { */ public void updateRecommendation(Recommendation recommendation); - + /** + * 增加点赞操作 + * @param recommendation + */ + public void addLike(Recommendation recommendation); } diff --git a/src/main/java/org/hlrj/duobao_demo/service/ISpecialTopicService.java b/src/main/java/org/hlrj/duobao_demo/service/ISpecialTopicService.java index 0e42e49..fa06962 100644 --- a/src/main/java/org/hlrj/duobao_demo/service/ISpecialTopicService.java +++ b/src/main/java/org/hlrj/duobao_demo/service/ISpecialTopicService.java @@ -25,4 +25,17 @@ public interface ISpecialTopicService extends IService { * @param id */ public void delete(Integer id); + + /** + * 根据id查询数据 + * @param id + * @return + */ + public SpecialTopic selectById(Integer id); + + /** + * 点赞设置 + * @param specialTopic + */ + public void addLike(SpecialTopic specialTopic); } diff --git a/src/main/java/org/hlrj/duobao_demo/service/RedisService.java b/src/main/java/org/hlrj/duobao_demo/service/RedisService.java deleted file mode 100644 index 85b39af..0000000 --- a/src/main/java/org/hlrj/duobao_demo/service/RedisService.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.hlrj.duobao_demo.service; - -/** - * @program: duobao_demo - * @ClassName RedisService - * @description: - * @author:liuyusong - * @create: 2025−04-11 15:55 - * @Version 1.0 - **/ - -public interface RedisService { - /** - * 点赞。状态为1 - * @param likedUserId - * @param likedPostId - */ - void saveLiked2Redis(String likedUserId, String likedPostId); - - /** - * 取消点赞。将状态改变为0 - * @param likedUserId - * @param likedPostId - */ - void unlikeFromRedis(String likedUserId, String likedPostId); - - /** - * 从Redis中删除一条点赞数据 - * @param likedUserId - * @param likedPostId - */ - void deleteLikedFromRedis(String likedUserId, String likedPostId); - - /** - * 该用户的点赞数加1 - * @param likedUserId - */ - void incrementLikedCount(String likedUserId); - - /** - * 该用户的点赞数减1 - * @param likedUserId - */ - void decrementLikedCount(String likedUserId); - - /** - * 获取Redis中存储的所有点赞数据 - * @return - */ - // List getLikedDataFromRedis(); - - /** - * 获取Redis中存储的所有点赞数量 - * @return - */ - // List getLikedCountFromRedis(); -} diff --git a/src/main/java/org/hlrj/duobao_demo/service/impl/CuratedVideoServiceImpl.java b/src/main/java/org/hlrj/duobao_demo/service/impl/CuratedVideoServiceImpl.java index dbfa963..a7b85b9 100644 --- a/src/main/java/org/hlrj/duobao_demo/service/impl/CuratedVideoServiceImpl.java +++ b/src/main/java/org/hlrj/duobao_demo/service/impl/CuratedVideoServiceImpl.java @@ -35,4 +35,9 @@ public class CuratedVideoServiceImpl extends ServiceImpl>>>>>> 3430379550bce337a88771020e4a1dfb7cbf7dd7 +#======= +#>>>>>>> 3430379550bce337a88771020e4a1dfb7cbf7dd7 + +spring.redis.host=localhost +spring.redis.port=6379 diff --git a/src/main/resources/mapper/RecommendationMapper.xml b/src/main/resources/mapper/RecommendationMapper.xml index 5114bf0..b13cf3f 100644 --- a/src/main/resources/mapper/RecommendationMapper.xml +++ b/src/main/resources/mapper/RecommendationMapper.xml @@ -14,6 +14,38 @@ + + + + update Recommendation + + + image_url=#{imageUrl}, + + + title=#{title}, + + + author=#{author}, + + + publish_time=#{publishTime}, + + + comments=#{comments}, + + + shares=#{shares}, + + + source=#{source}, + + likes = likes + 1 + + where id = #{id} + + + update Recommendation diff --git a/src/main/resources/mapper/SpecialTopicMapper.xml b/src/main/resources/mapper/SpecialTopicMapper.xml index a9bbd63..1b2dfc5 100644 --- a/src/main/resources/mapper/SpecialTopicMapper.xml +++ b/src/main/resources/mapper/SpecialTopicMapper.xml @@ -14,5 +14,35 @@ + + + update Special_topic + + + main_title=#{mainTitle}, + + + section_title=#{sectionTitle}, + + + cover_img=#{coverImg}, + + + author=#{author}, + + + publish_time=#{publishTime}, + + + view_count=#{viewCount}, + + + commentCount=#{commentCount}, + + like_count = like_count + 1 + + where id = #{id} + +