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 7ce64a7..4d27053 100644 --- a/src/main/java/org/hlrj/duobao_demo/controller/RecommendationController.java +++ b/src/main/java/org/hlrj/duobao_demo/controller/RecommendationController.java @@ -111,10 +111,10 @@ public class RecommendationController { */ @PostMapping("/addLike/{id}") public Result addLike( @PathVariable Integer id){ - log.info("增加点赞操作:{}"); - Recommendation recommendation1 = recommendationService.selectById(id); + log.info("点赞操作:{}"); + recommendationService.isLiked(id); + - recommendationService.addLike(recommendation1); return Result.success(); } 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 268fda7..5203b63 100644 --- a/src/main/java/org/hlrj/duobao_demo/controller/SpecialTopicController.java +++ b/src/main/java/org/hlrj/duobao_demo/controller/SpecialTopicController.java @@ -66,17 +66,23 @@ public class SpecialTopicController { SpecialTopic specialTopic = specialTopicService.selectById(id); return Result.success(specialTopic); } - /** - * 点赞数量加1 - * @param id - * @return - */ - @PostMapping("/addLike/{id}") - public Result addLike(@PathVariable Integer id){ - log.info("增加点赞操作:{}"); - SpecialTopic specialTopic = specialTopicService.selectById(id); - - specialTopicService.addLike(specialTopic); +// /** +// * 点赞数量加1 +// * @param id +// * @return +// */ +// @PostMapping("/addLike/{id}") +// public Result addLike(@PathVariable Integer id){ +// log.info("增加点赞操作:{}"); +// SpecialTopic specialTopic = specialTopicService.selectById(id); +// +// specialTopicService.addLike(specialTopic); +// return Result.success(); +// } + @PostMapping("/isLikedById/{id}") + public Result isLikedById(@PathVariable Integer id) { + log.info("点赞操作:{}",id); + specialTopicService.isLikedById(id); 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 e7681a1..3fb036a 100644 --- a/src/main/java/org/hlrj/duobao_demo/controller/VideoDataController.java +++ b/src/main/java/org/hlrj/duobao_demo/controller/VideoDataController.java @@ -47,4 +47,10 @@ public class VideoDataController { iVideoDataService.delete(id); return Result.success(); } + @PostMapping("/isBookedById/{id}") + public Result isBookedById(@PathVariable Integer id) { + log.info("根据id进行预约:{}",id); + iVideoDataService.isBooked(id); + return Result.success(); + } } diff --git a/src/main/java/org/hlrj/duobao_demo/entity/Recommendation.java b/src/main/java/org/hlrj/duobao_demo/entity/Recommendation.java index f755790..095e047 100644 --- a/src/main/java/org/hlrj/duobao_demo/entity/Recommendation.java +++ b/src/main/java/org/hlrj/duobao_demo/entity/Recommendation.java @@ -7,6 +7,7 @@ import java.time.LocalDateTime; import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import io.swagger.models.auth.In; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -59,4 +60,7 @@ public class Recommendation implements Serializable { @ApiModelProperty(value = "头像") private String head; + @ApiModelProperty(value = "是否点赞") + private Integer isLiked; + } diff --git a/src/main/java/org/hlrj/duobao_demo/entity/VideoData.java b/src/main/java/org/hlrj/duobao_demo/entity/VideoData.java index f768d21..de0bae7 100644 --- a/src/main/java/org/hlrj/duobao_demo/entity/VideoData.java +++ b/src/main/java/org/hlrj/duobao_demo/entity/VideoData.java @@ -45,5 +45,7 @@ public class VideoData implements Serializable { private String head;//头像 + private Integer isBooked;//是否预约 + } 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 6e0b692..a97f109 100644 --- a/src/main/java/org/hlrj/duobao_demo/mapper/RecommendationMapper.java +++ b/src/main/java/org/hlrj/duobao_demo/mapper/RecommendationMapper.java @@ -22,4 +22,6 @@ public interface RecommendationMapper extends BaseMapper { void updateRecommendation(Recommendation recommendation); void addLike(Recommendation recommendation); + + void isLikedById(Integer id); } 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 1fe9411..c816b37 100644 --- a/src/main/java/org/hlrj/duobao_demo/mapper/SpecialTopicMapper.java +++ b/src/main/java/org/hlrj/duobao_demo/mapper/SpecialTopicMapper.java @@ -13,5 +13,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface SpecialTopicMapper extends BaseMapper { - public void addLike(SpecialTopic specialTopic); + + + void isLikedById(Integer id); } diff --git a/src/main/java/org/hlrj/duobao_demo/mapper/VideoDataMapper.java b/src/main/java/org/hlrj/duobao_demo/mapper/VideoDataMapper.java index 3b43d9c..9e3a8ab 100644 --- a/src/main/java/org/hlrj/duobao_demo/mapper/VideoDataMapper.java +++ b/src/main/java/org/hlrj/duobao_demo/mapper/VideoDataMapper.java @@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface VideoDataMapper extends BaseMapper { + void isBookedById(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 3296560..f31de04 100644 --- a/src/main/java/org/hlrj/duobao_demo/service/IRecommendationService.java +++ b/src/main/java/org/hlrj/duobao_demo/service/IRecommendationService.java @@ -42,9 +42,10 @@ public interface IRecommendationService extends IService { */ public void updateRecommendation(Recommendation recommendation); + /** - * 增加点赞操作 - * @param recommendation + * 进行点赞操作 + * @param id */ - public void addLike(Recommendation recommendation); + public void isLiked(Integer id); } 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 fa06962..52a2bbe 100644 --- a/src/main/java/org/hlrj/duobao_demo/service/ISpecialTopicService.java +++ b/src/main/java/org/hlrj/duobao_demo/service/ISpecialTopicService.java @@ -33,9 +33,10 @@ public interface ISpecialTopicService extends IService { */ public SpecialTopic selectById(Integer id); + /** * 点赞设置 - * @param specialTopic + * @param id */ - public void addLike(SpecialTopic specialTopic); + public void isLikedById(Integer id); } diff --git a/src/main/java/org/hlrj/duobao_demo/service/IVideoDataService.java b/src/main/java/org/hlrj/duobao_demo/service/IVideoDataService.java index 09727b4..4057b8a 100644 --- a/src/main/java/org/hlrj/duobao_demo/service/IVideoDataService.java +++ b/src/main/java/org/hlrj/duobao_demo/service/IVideoDataService.java @@ -25,4 +25,10 @@ public interface IVideoDataService extends IService { * @param id */ public void delete(Integer id); + + /** + * 根据id进行预订 + * @param id + */ + public void isBooked(Integer id); } 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 d669bb6..9988804 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 @@ -51,9 +51,11 @@ public class RecommendationServiceImpl extends ServiceImpl + - - - update Recommendation - - - image_url=#{imageUrl}, - - - title=#{title}, - - - author=#{author}, - - - publish_time=#{publishTime}, - - - comments=#{comments}, - - - shares=#{shares}, - - - source=#{source}, - - - head=#{head}, - - likes = likes + 1 - - where id = #{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + update Recommendation @@ -78,7 +79,10 @@ source=#{source}, - head=#{head} + head=#{head}, + + + isLiked=#{isLiked} @@ -86,5 +90,18 @@ where id = #{id} + + UPDATE Recommendation + SET + is_liked = CASE + WHEN is_liked = 0 THEN 1 + ELSE 0 + END, + likes = CASE + WHEN is_liked = 0 THEN likes + 1 + ELSE likes - 1 + END + WHERE id = #{id} + diff --git a/src/main/resources/mapper/SpecialTopicMapper.xml b/src/main/resources/mapper/SpecialTopicMapper.xml index 1d48bdb..9d1a35b 100644 --- a/src/main/resources/mapper/SpecialTopicMapper.xml +++ b/src/main/resources/mapper/SpecialTopicMapper.xml @@ -15,41 +15,55 @@ - - - update Special_topic - - - main_title=#{mainTitle}, - - - section_title=#{sectionTitle}, - - - cover_img=#{coverImg}, - - - author=#{author}, - - - publish_time=#{publishTime}, - - - view_count=#{viewCount}, - - - commentCount=#{commentCount}, - - - club=#{club}, - - - head=#{head}, - - like_count = like_count + 1 - - where id = #{id} + + UPDATE Special_topic + SET + is_liked = CASE + WHEN is_liked = 0 THEN 1 + ELSE 0 + END, + likes = CASE + WHEN is_liked = 0 THEN likes + 1 + ELSE likes - 1 + END + WHERE id = #{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/mapper/VideoDateMapper.xml b/src/main/resources/mapper/VideoDateMapper.xml index 5720098..38cc8b2 100644 --- a/src/main/resources/mapper/VideoDateMapper.xml +++ b/src/main/resources/mapper/VideoDateMapper.xml @@ -12,6 +12,15 @@ + + + UPDATE Video_data + SET is_booked = CASE + WHEN is_booked = 0 THEN 1 + ELSE 0 + END + WHERE id = #{id} +