Administrator 1 month ago
parent
commit
9ce849292b
  1. 5
      pom.xml
  2. 19
      src/main/java/org/hlrj/duobao_demo/controller/CuratedVideoController.java
  3. 51
      src/main/java/org/hlrj/duobao_demo/controller/RecommendationController.java
  4. 44
      src/main/java/org/hlrj/duobao_demo/controller/SpecialTopicController.java
  5. 6
      src/main/java/org/hlrj/duobao_demo/controller/VideoDataController.java
  6. 2
      src/main/java/org/hlrj/duobao_demo/mapper/RecommendationMapper.java
  7. 1
      src/main/java/org/hlrj/duobao_demo/mapper/SpecialTopicMapper.java
  8. 9
      src/main/java/org/hlrj/duobao_demo/service/ICuratedVideoService.java
  9. 6
      src/main/java/org/hlrj/duobao_demo/service/IRecommendationService.java
  10. 13
      src/main/java/org/hlrj/duobao_demo/service/ISpecialTopicService.java
  11. 57
      src/main/java/org/hlrj/duobao_demo/service/RedisService.java
  12. 5
      src/main/java/org/hlrj/duobao_demo/service/impl/CuratedVideoServiceImpl.java
  13. 5
      src/main/java/org/hlrj/duobao_demo/service/impl/RecommendationServiceImpl.java
  14. 10
      src/main/java/org/hlrj/duobao_demo/service/impl/SpecialTopicServiceImpl.java
  15. 9
      src/main/resources/application.properties
  16. 32
      src/main/resources/mapper/RecommendationMapper.xml
  17. 30
      src/main/resources/mapper/SpecialTopicMapper.xml

5
pom.xml

@ -65,6 +65,11 @@
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>

19
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);
}
}

51
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<Recommendation> optional = recommendationService.selectById(id);
if (!optional.isPresent()) {
return ResponseEntity.notFound().build();
}
//更新点赞数
Recommendation recommendation = optional.get();
QueryWrapper<Recommendation> queryWrapper = new QueryWrapper<Recommendation>();
recommendation.setLikes(recommendation.getLikes() + 1);
recommendationService.update(queryWrapper);
//返回最新点赞数
HashMap<String, Object> 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("服务器内部错误");
}*/
}
}*/
}

44
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();
}
}

6
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);

2
src/main/java/org/hlrj/duobao_demo/mapper/RecommendationMapper.java

@ -20,4 +20,6 @@ public interface RecommendationMapper extends BaseMapper<Recommendation> {
void updateRecommendation(Recommendation recommendation);
void addLike(Recommendation recommendation);
}

1
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<SpecialTopic> {
public void addLike(SpecialTopic specialTopic);
}

9
src/main/java/org/hlrj/duobao_demo/service/ICuratedVideoService.java

@ -25,4 +25,13 @@ public interface ICuratedVideoService extends IService<CuratedVideo> {
* @param id
*/
public void delete(Integer id);
/**
* 根据id查询数据
* @param id
* @return
*/
public CuratedVideo selectById(Integer id);
}

6
src/main/java/org/hlrj/duobao_demo/service/IRecommendationService.java

@ -46,5 +46,9 @@ public interface IRecommendationService extends IService<Recommendation> {
*/
public void updateRecommendation(Recommendation recommendation);
/**
* 增加点赞操作
* @param recommendation
*/
public void addLike(Recommendation recommendation);
}

13
src/main/java/org/hlrj/duobao_demo/service/ISpecialTopicService.java

@ -25,4 +25,17 @@ public interface ISpecialTopicService extends IService<SpecialTopic> {
* @param id
*/
public void delete(Integer id);
/**
* 根据id查询数据
* @param id
* @return
*/
public SpecialTopic selectById(Integer id);
/**
* 点赞设置
* @param specialTopic
*/
public void addLike(SpecialTopic specialTopic);
}

57
src/main/java/org/hlrj/duobao_demo/service/RedisService.java

@ -1,57 +0,0 @@
package org.hlrj.duobao_demo.service;
/**
* @program: duobao_demo
* @ClassName RedisService
* @description:
* @author:liuyusong
* @create: 202504-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<UserLike> getLikedDataFromRedis();
/**
* 获取Redis中存储的所有点赞数量
* @return
*/
// List<LikedCountDTO> getLikedCountFromRedis();
}

5
src/main/java/org/hlrj/duobao_demo/service/impl/CuratedVideoServiceImpl.java

@ -35,4 +35,9 @@ public class CuratedVideoServiceImpl extends ServiceImpl<CuratedVideoMapper, Cur
public void delete(Integer id) {
curatedVideoMapper.deleteById(id);
}
@Override
public CuratedVideo selectById(Integer id) {
return curatedVideoMapper.selectById(id);
}
}

5
src/main/java/org/hlrj/duobao_demo/service/impl/RecommendationServiceImpl.java

@ -54,7 +54,10 @@ public class RecommendationServiceImpl extends ServiceImpl<RecommendationMapper,
recommendationMapper.updateRecommendation(recommendation);
}
@Override
public void addLike(Recommendation recommendation) {
recommendationMapper.addLike(recommendation);
}
}

10
src/main/java/org/hlrj/duobao_demo/service/impl/SpecialTopicServiceImpl.java

@ -33,4 +33,14 @@ public class SpecialTopicServiceImpl extends ServiceImpl<SpecialTopicMapper, Spe
public void delete(Integer id) {
specialTopicMapper.deleteById(id);
}
@Override
public SpecialTopic selectById(Integer id) {
return specialTopicMapper.selectById(id);
}
@Override
public void addLike(SpecialTopic specialTopic) {
specialTopicMapper.addLike(specialTopic);
}
}

9
src/main/resources/application.properties

@ -1,11 +1,14 @@
# 应用服务 WEB 访问端口
server.port=8080
<<<<<<< HEAD
#<<<<<<< HEAD
spring.datasource.url=jdbc:mysql://localhost:3306/duobao?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
=======
>>>>>>> 3430379550bce337a88771020e4a1dfb7cbf7dd7
#=======
#>>>>>>> 3430379550bce337a88771020e4a1dfb7cbf7dd7
spring.redis.host=localhost
spring.redis.port=6379

32
src/main/resources/mapper/RecommendationMapper.xml

@ -14,6 +14,38 @@
<result column="shares" property="shares" />
<result column="source" property="source" />
</resultMap>
<!--点赞操作-->
<update id="addLike" parameterType="org.hlrj.duobao_demo.entity.Recommendation">
update Recommendation
<set>
<if test="imageUrl !=null and imageUrl!=''">
image_url=#{imageUrl},
</if>
<if test="title !=null and title!=''">
title=#{title},
</if>
<if test="author !=null and author!=''">
author=#{author},
</if>
<if test="publishTime !=null and publishTime!=''">
publish_time=#{publishTime},
</if>
<if test="comments !=null and comments!=''">
comments=#{comments},
</if>
<if test="shares !=null">
shares=#{shares},
</if>
<if test="source !=null">
source=#{source},
</if>
likes = likes + 1
</set>
where id = #{id}
</update>
<!--更新操作-->
<update id="updateRecommendation" parameterType="org.hlrj.duobao_demo.entity.Recommendation">
update Recommendation
<set>

30
src/main/resources/mapper/SpecialTopicMapper.xml

@ -14,5 +14,35 @@
<result column="comment_count" property="commentCount" />
<result column="like_count" property="likeCount" />
</resultMap>
<!--点赞操作-->
<update id="addLike" parameterType="org.hlrj.duobao_demo.entity.SpecialTopic">
update Special_topic
<set>
<if test="mainTitle !=null and mainTitle!=''">
main_title=#{mainTitle},
</if>
<if test="sectionTitle !=null and sectionTitle!=''">
section_title=#{sectionTitle},
</if>
<if test="coverImg !=null and coverImg!=''">
cover_img=#{coverImg},
</if>
<if test="author !=null and author!=''">
author=#{author},
</if>
<if test="publishTime !=null and publishTime!=''">
publish_time=#{publishTime},
</if>
<if test="viewCount !=null">
view_count=#{viewCount},
</if>
<if test="commentCount !=null">
commentCount=#{commentCount},
</if>
like_count = like_count + 1
</set>
where id = #{id}
</update>
</mapper>
Loading…
Cancel
Save