diff --git a/src/main/java/org/hlrj/duobao_demo/DuobaoDemoApplication.java b/src/main/java/org/hlrj/duobao_demo/DuobaoDemoApplication.java
index 1739a1a..7402ec0 100644
--- a/src/main/java/org/hlrj/duobao_demo/DuobaoDemoApplication.java
+++ b/src/main/java/org/hlrj/duobao_demo/DuobaoDemoApplication.java
@@ -4,8 +4,10 @@ import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
@SpringBootApplication
+@EnableCaching
@MapperScan("org.hlrj.duobao_demo.mapper")
public class DuobaoDemoApplication {
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 97c3871..64c13ff 100644
--- a/src/main/java/org/hlrj/duobao_demo/controller/RecommendationController.java
+++ b/src/main/java/org/hlrj/duobao_demo/controller/RecommendationController.java
@@ -1,6 +1,7 @@
package org.hlrj.duobao_demo.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
import net.bytebuddy.asm.Advice;
import org.hlrj.duobao_demo.entity.Recommendation;
@@ -9,9 +10,12 @@ 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.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
+import java.util.HashMap;
import java.util.List;
+import java.util.Optional;
/**
*
@@ -23,7 +27,7 @@ import java.util.List;
*/
@RestController
@Slf4j//日志记录
-@RequestMapping("/recommendation")
+@RequestMapping("/recommendation/api")
public class RecommendationController {
//记录日志
@@ -33,7 +37,12 @@ public class RecommendationController {
private IRecommendationService recommendationService;
///api/brain/addUserPrivileges
//@RequestMapping(value = "/api/selectRecommendation",method = RequestMethod.POST)
- @PostMapping("/api/selectRecommendation")
+
+ /**
+ * 查询操作
+ * @return
+ */
+ @PostMapping("/selectRecommendation")
public Result selectRecommendation() {
log.info("查询全部的推荐视频");//日志记录
@@ -42,11 +51,87 @@ public class RecommendationController {
return Result.success(recommendationList);
}
- @PostMapping("/api/deleteRecommendation/{id}")
+
+ /**
+ * 删除操作
+ * @param id
+ * @return
+ */
+ @PostMapping("/deleteRecommendation/{id}")
public Result deleteRecommendation(@PathVariable Integer id) {
log.info("根据id删除推荐:{}",id);
recommendationService.delete(id);
return Result.success();
}
+
+ /**
+ * 新增操作
+ * @param recommendation
+ * @return
+ */
+ @PostMapping("/addRecommendation")
+ public Result addRecommendation(@RequestBody Recommendation recommendation) {
+ log.info("新增推荐内容:{}",recommendation);
+ //调用service
+ recommendationService.add(recommendation);
+ return Result.success();
+ }
+
+ /**
+ * 根据id查询数据
+ * @param id
+ * @return
+ */
+ @PostMapping("/selectRecommendationById/{id}")
+ public Result selectRecommendationById(@PathVariable Integer id) {
+ log.info("根据id进行查询:{}",id);
+ Recommendation recommendation = recommendationService.selectById(id);
+ return Result.success(recommendation);
+ }
+
+ /**
+ * 更新
+ * @param recommendation
+ * @return
+ */
+ @PostMapping("/updateRecommendation")
+ public Result updateRecommendation(@RequestBody Recommendation recommendation) {
+ log.info("更新员工的信息:{}",recommendation);
+ recommendationService.updateRecommendation(recommendation);
+ return Result.success();
+ }
+
+
+
+ @PostMapping()
+ public Result likeRecommendation(@RequestParam Integer id) {
+ log.info("点赞操作,推荐视频ID:{}",id);
+ Recommendation recommendation = recommendationService.selectById(id);
+ return Result.success(recommendation);
+
+
+ //查询推荐视频
+ /*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/mapper/RecommendationMapper.java b/src/main/java/org/hlrj/duobao_demo/mapper/RecommendationMapper.java
index 62e660b..b31a1d3 100644
--- a/src/main/java/org/hlrj/duobao_demo/mapper/RecommendationMapper.java
+++ b/src/main/java/org/hlrj/duobao_demo/mapper/RecommendationMapper.java
@@ -1,10 +1,11 @@
package org.hlrj.duobao_demo.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
import org.hlrj.duobao_demo.entity.Recommendation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.mapstruct.Mapper;
/**
*
@@ -14,7 +15,9 @@ import org.mapstruct.Mapper;
* @author liuyusong
* @since 2025-04-09
*/
-
+@Mapper
public interface RecommendationMapper extends BaseMapper {
+
+ void updateRecommendation(Recommendation recommendation);
}
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 744e9ed..a79a254 100644
--- a/src/main/java/org/hlrj/duobao_demo/service/IRecommendationService.java
+++ b/src/main/java/org/hlrj/duobao_demo/service/IRecommendationService.java
@@ -4,6 +4,7 @@ import org.hlrj.duobao_demo.entity.Recommendation;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
+import java.util.Optional;
/**
*
@@ -26,5 +27,24 @@ public interface IRecommendationService extends IService {
*/
public void delete(Integer id);
+ /**
+ * 增添
+ * @param recommendation
+ */
+ public void add(Recommendation recommendation);
+
+ /**
+ * 根据id进行查询
+ * @param id
+ * @return
+ */
+ public Recommendation selectById(Integer id);
+
+ /**
+ * 更新
+ * @param recommendation
+ */
+ public void updateRecommendation(Recommendation recommendation);
+
}
diff --git a/src/main/java/org/hlrj/duobao_demo/service/RedisService.java b/src/main/java/org/hlrj/duobao_demo/service/RedisService.java
new file mode 100644
index 0000000..85b39af
--- /dev/null
+++ b/src/main/java/org/hlrj/duobao_demo/service/RedisService.java
@@ -0,0 +1,57 @@
+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/RecommendationServiceImpl.java b/src/main/java/org/hlrj/duobao_demo/service/impl/RecommendationServiceImpl.java
index b61b9ae..43fa4ab 100644
--- a/src/main/java/org/hlrj/duobao_demo/service/impl/RecommendationServiceImpl.java
+++ b/src/main/java/org/hlrj/duobao_demo/service/impl/RecommendationServiceImpl.java
@@ -8,8 +8,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List;
+import java.util.Optional;
/**
*
@@ -34,5 +36,25 @@ public class RecommendationServiceImpl extends ServiceImpl redisTemplate(
+ RedisConnectionFactory redisConnectionFactory)
+ throws UnknownHostException {
+
+ Jackson2JsonRedisSerializer