feat: mq,评论,分享点赞,view等

This commit is contained in:
zlg
2024-07-20 14:42:21 +08:00
parent 310a4b23dc
commit 58b5430115
30 changed files with 927 additions and 23 deletions

View File

@@ -4,10 +4,13 @@ import com.alibaba.fastjson.JSON;
import com.google.common.base.Preconditions;
import com.google.gson.Gson;
import com.schisandra.share.application.convert.SchisandraShareCommentReplyDTOConverter;
import com.schisandra.share.application.convert.SchisandraUserLikesCommentDTOConverter;
import com.schisandra.share.application.dto.SchisandraShareCommentReplyDTO;
import com.schisandra.share.application.dto.SchisandraUserLikesCommentDTO;
import com.schisandra.share.common.entity.Result;
import com.schisandra.share.common.utils.CaffeineUtil;
import com.schisandra.share.domain.bo.SchisandraShareCommentReplyBO;
import com.schisandra.share.domain.bo.SchisandraUserLikesCommentBO;
import com.schisandra.share.domain.service.SchisandraShareCommentReplyDomainService;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.client.producer.SendCallback;
@@ -43,15 +46,19 @@ public class SchisandraShareCommentReplyController {
CaffeineUtil caffeineUtil;
@Resource
private SchisandraShareCommentReplyDomainService schisandraShareCommentReplyDomainService;
/**
* @description: 点赞
* @param: [schisandraUserLikesCommentDTO]
* @return: void
* @author zlg
* @date: 2024/7/20 14:39
*/
@GetMapping("addlike")
public void addLike(@RequestParam String Id) {
HashMap<String, Object> map = new HashMap<>();
map.put("Id", Id);
map.put("like", true);
Gson gson = new Gson();
String message = gson.toJson(map);
rocketMQTemplate.asyncSend("CommentLikes-topic", message, new SendCallback() {
public void addLike(@RequestParam SchisandraUserLikesCommentDTO schisandraUserLikesCommentDTO) {
Preconditions.checkNotNull(schisandraUserLikesCommentDTO);
SchisandraUserLikesCommentBO schisandraUserLikesCommentBO=SchisandraUserLikesCommentDTOConverter.INSTANCE.convertDTOToBO(schisandraUserLikesCommentDTO);
schisandraUserLikesCommentBO.setLike(true);
rocketMQTemplate.asyncSend("CommentLikes-topic", schisandraUserLikesCommentBO, new SendCallback() {
@Override
public void onSuccess(SendResult sendResult) {
System.out.println(sendResult);
@@ -66,13 +73,12 @@ public class SchisandraShareCommentReplyController {
}
@GetMapping("dellike")
public void delLike(String Id) {
HashMap<String, Object> map = new HashMap<>();
map.put("Id", Id);
map.put("like", false);
Gson gson = new Gson();
String message = gson.toJson(map);
rocketMQTemplate.asyncSend("CommentLikes-topic", message, new SendCallback() {
public void delLike( @RequestParam SchisandraUserLikesCommentDTO schisandraUserLikesCommentDTO) {
Preconditions.checkNotNull(schisandraUserLikesCommentDTO);
SchisandraUserLikesCommentBO schisandraUserLikesCommentBO=SchisandraUserLikesCommentDTOConverter.INSTANCE.convertDTOToBO(schisandraUserLikesCommentDTO);
schisandraUserLikesCommentBO.setLike(false);
rocketMQTemplate.asyncSend("CommentLikes-topic", schisandraUserLikesCommentBO, new SendCallback() {
@Override
public void onSuccess(SendResult sendResult) {
System.out.println(sendResult);

View File

@@ -4,10 +4,16 @@ import com.alibaba.fastjson.JSON;
import com.google.common.base.Preconditions;
import com.google.gson.Gson;
import com.schisandra.share.application.convert.SchisandraShareDetailDTOConverter;
import com.schisandra.share.application.convert.SchisandraUserLikesCommentDTOConverter;
import com.schisandra.share.application.convert.SchisandraUserLikesDetailDTOConverter;
import com.schisandra.share.application.dto.SchisandraShareDetailDTO;
import com.schisandra.share.application.dto.SchisandraUserLikesCommentDTO;
import com.schisandra.share.application.dto.SchisandraUserLikesDetailDTO;
import com.schisandra.share.common.entity.Result;
import com.schisandra.share.common.utils.CaffeineUtil;
import com.schisandra.share.domain.bo.SchisandraShareDetailBO;
import com.schisandra.share.domain.bo.SchisandraUserLikesCommentBO;
import com.schisandra.share.domain.bo.SchisandraUserLikesDetailBO;
import com.schisandra.share.domain.service.SchisandraShareDetailDomainService;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.client.producer.SendCallback;
@@ -38,6 +44,53 @@ public class SchisandraShareDetailController {
@Resource
CaffeineUtil caffeineUtil;
/**
* @description: 点赞
* @param: [schisandraUserLikesDetailDTO]
* @return: void
* @author zlg
* @date: 2024/7/20 14:38
*/
@GetMapping("addlike")
public void addLike(@RequestParam SchisandraUserLikesDetailDTO schisandraUserLikesDetailDTO) {
Preconditions.checkNotNull(schisandraUserLikesDetailDTO);
SchisandraUserLikesDetailBO schisandraUserLikesDetailBO= SchisandraUserLikesDetailDTOConverter.INSTANCE.convertDTOToBO(schisandraUserLikesDetailDTO);
schisandraUserLikesDetailBO.setLike(true);
rocketMQTemplate.asyncSend("DetailLikes-topic", schisandraUserLikesDetailBO, new SendCallback() {
@Override
public void onSuccess(SendResult sendResult) {
System.out.println(sendResult);
}
@Override
public void onException(Throwable e) {
e.printStackTrace();
}
}
);
}
@GetMapping("dellike")
public void delLike( @RequestParam SchisandraUserLikesDetailDTO schisandraUserLikesDetailDTO) {
Preconditions.checkNotNull(schisandraUserLikesDetailDTO);
SchisandraUserLikesDetailBO schisandraUserLikesDetailBO= SchisandraUserLikesDetailDTOConverter.INSTANCE.convertDTOToBO(schisandraUserLikesDetailDTO);
schisandraUserLikesDetailBO.setLike(false);
rocketMQTemplate.asyncSend("DetailLikes-topic", schisandraUserLikesDetailBO, new SendCallback() {
@Override
public void onSuccess(SendResult sendResult) {
System.out.println(sendResult);
}
@Override
public void onException(Throwable e) {
e.printStackTrace();
}
}
);
}
/**
* 返回评论回复总数
*

View File

@@ -0,0 +1,25 @@
package com.schisandra.share.application.convert;
import com.schisandra.share.application.dto.SchisandraUserLikesCommentDTO;
import com.schisandra.share.domain.bo.SchisandraUserLikesCommentBO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* 评论点赞表 dto转换器
*
* @author zlg
* @since 2024-07-20 14:11:01
*/
@Mapper
public interface SchisandraUserLikesCommentDTOConverter {
SchisandraUserLikesCommentDTOConverter INSTANCE = Mappers.getMapper(SchisandraUserLikesCommentDTOConverter.class);
SchisandraUserLikesCommentBO convertDTOToBO(SchisandraUserLikesCommentDTO schisandraUserLikesCommentDTO);
SchisandraUserLikesCommentDTO convertBOToDTO(SchisandraUserLikesCommentBO schisandraUserLikesCommentBO);
List<SchisandraUserLikesCommentDTO> convertBOToDTOList(List<SchisandraUserLikesCommentBO> schisandraUserLikesCommentBOList);
}

View File

@@ -0,0 +1,25 @@
package com.schisandra.share.application.convert;
import com.schisandra.share.application.dto.SchisandraUserLikesDetailDTO;
import com.schisandra.share.domain.bo.SchisandraUserLikesDetailBO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* 分享详情点赞表 dto转换器
*
* @author zlg
* @since 2024-07-20 14:12:42
*/
@Mapper
public interface SchisandraUserLikesDetailDTOConverter {
SchisandraUserLikesDetailDTOConverter INSTANCE = Mappers.getMapper(SchisandraUserLikesDetailDTOConverter.class);
SchisandraUserLikesDetailBO convertDTOToBO(SchisandraUserLikesDetailDTO schisandraUserLikesDetailDTO);
SchisandraUserLikesDetailDTO convertBOToDTO(SchisandraUserLikesDetailBO schisandraUserLikesDetailBO);
List<SchisandraUserLikesDetailDTO> convertBOToDTOList(List<SchisandraUserLikesDetailBO> schisandraUserLikesDetailBOList);
}

View File

@@ -0,0 +1,39 @@
package com.schisandra.share.application.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 评论点赞表 dto
*
* @author zlg
* @since 2024-07-20 14:11:01
*/
@Data
public class SchisandraUserLikesCommentDTO implements Serializable {
private Boolean like;
/**
*
*/
private String id;
/**
*
*/
private String userId;
/**
*
*/
private String commentId;
/**
* 是否删除 0 未删除 1已删除
*/
private Integer isDeleted;
}

View File

@@ -0,0 +1,39 @@
package com.schisandra.share.application.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 分享详情点赞表 dto
*
* @author zlg
* @since 2024-07-20 14:12:42
*/
@Data
public class SchisandraUserLikesDetailDTO implements Serializable {
private Boolean like;
/**
*
*/
private String id;
/**
*
*/
private String userId;
/**
*
*/
private String detailId;
/**
*
*/
private Integer isDeleted;
}

View File

@@ -2,7 +2,9 @@ package com.schisandra.share.mq.comment;
import com.google.gson.Gson;
import com.schisandra.share.domain.bo.SchisandraUserLikesCommentBO;
import com.schisandra.share.domain.service.SchisandraShareCommentReplyDomainService;
import com.schisandra.share.domain.service.SchisandraUserLikesCommentDomainService;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
@@ -15,19 +17,19 @@ import java.util.HashMap;
@RocketMQMessageListener(topic = "CommentLikes-topic", consumerGroup = "schisandra-cloud-storage-CommentLikes-consumer-group")
@Slf4j
@Component
public class CommentLikesConsumer implements RocketMQListener<String> {
public class CommentLikesConsumer implements RocketMQListener<SchisandraUserLikesCommentBO> {
@Resource
SchisandraShareCommentReplyDomainService schisandraShareCommentReplyDomainService;
@Resource
SchisandraUserLikesCommentDomainService schisandraUserLikesCommentDomainService;
@Override
public void onMessage(String message) {
Gson gson = new Gson();
HashMap<Object, Object> map = gson.fromJson(message, HashMap.class);
log.info("收到消息:{}", map);
String id = (String) map.get("Id");
Boolean likes = (Boolean) map.get("like");
public void onMessage(SchisandraUserLikesCommentBO message) {
log.info("收到消息:{}", message);
String id = message.getCommentId();
Boolean likes = message.getLike();
schisandraShareCommentReplyDomainService.updateCommentsLikes(id, likes);
schisandraUserLikesCommentDomainService.add(message);
}

View File

@@ -0,0 +1,32 @@
package com.schisandra.share.mq.comment;
import com.google.gson.Gson;
import com.schisandra.share.domain.bo.SchisandraUserLikesCommentBO;
import com.schisandra.share.domain.bo.SchisandraUserLikesDetailBO;
import com.schisandra.share.domain.service.SchisandraShareDetailDomainService;
import com.schisandra.share.domain.service.SchisandraUserLikesDetailDomainService;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.HashMap;
@RocketMQMessageListener(topic = "DetailLikes-topic", consumerGroup = "schisandra-cloud-storage-DetailLikes-consumer-group")
@Slf4j
@Component
public class DetailLikesConsumer implements RocketMQListener<SchisandraUserLikesDetailBO> {
@Resource
SchisandraShareDetailDomainService schisandraShareDetailDomainService;
@Resource
SchisandraUserLikesDetailDomainService schisandraUserLikesDetailDomainService;
@Override
public void onMessage(SchisandraUserLikesDetailBO message) {
log.info("收到消息:{}", message);
String id = message.getDetailId();
Boolean likes = message.getLike();
schisandraShareDetailDomainService.updateDetailLikes(id, likes);
schisandraUserLikesDetailDomainService.add(message);
}
}

View File

@@ -0,0 +1,39 @@
package com.schisandra.share.domain.bo;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 评论点赞表 bo
*
* @author zlg
* @since 2024-07-20 14:11:01
*/
@Data
public class SchisandraUserLikesCommentBO implements Serializable {
private Boolean like;
/**
*
*/
private String id;
/**
*
*/
private String userId;
/**
*
*/
private String commentId;
/**
* 是否删除 0 未删除 1已删除
*/
private Integer isDeleted;
}

View File

@@ -0,0 +1,38 @@
package com.schisandra.share.domain.bo;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 分享详情点赞表 bo
*
* @author zlg
* @since 2024-07-20 14:12:42
*/
@Data
public class SchisandraUserLikesDetailBO implements Serializable {
private Boolean like;
/**
*
*/
private String id;
/**
*
*/
private String userId;
/**
*
*/
private String detailId;
/**
*
*/
private Integer isDeleted;
}

View File

@@ -0,0 +1,22 @@
package com.schisandra.share.domain.convert;
import com.schisandra.share.domain.bo.SchisandraUserLikesCommentBO;
import com.schisandra.share.infra.basic.entity.SchisandraUserLikesComment;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
* 评论点赞表 bo转换器
*
* @author zlg
* @since 2024-07-20 14:11:01
*/
@Mapper
public interface SchisandraUserLikesCommentBOConverter {
SchisandraUserLikesCommentBOConverter INSTANCE = Mappers.getMapper(SchisandraUserLikesCommentBOConverter.class);
SchisandraUserLikesComment convertBOToEntity(SchisandraUserLikesCommentBO schisandraUserLikesCommentBO);
SchisandraUserLikesCommentBO convertEntityToBO(SchisandraUserLikesComment schisandraUserLikesComment);
}

View File

@@ -0,0 +1,22 @@
package com.schisandra.share.domain.convert;
import com.schisandra.share.domain.bo.SchisandraUserLikesDetailBO;
import com.schisandra.share.infra.basic.entity.SchisandraUserLikesDetail;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
* 分享详情点赞表 bo转换器
*
* @author zlg
* @since 2024-07-20 14:12:42
*/
@Mapper
public interface SchisandraUserLikesDetailBOConverter {
SchisandraUserLikesDetailBOConverter INSTANCE = Mappers.getMapper(SchisandraUserLikesDetailBOConverter.class);
SchisandraUserLikesDetail convertBOToEntity(SchisandraUserLikesDetailBO schisandraUserLikesDetailBO);
SchisandraUserLikesDetailBO convertEntityToBO(SchisandraUserLikesDetail schisandraUserLikesDetail);
}

View File

@@ -37,4 +37,6 @@ public interface SchisandraShareDetailDomainService {
Boolean updateCommentsLikes(String id,Boolean isReply);
Boolean updateDetailViews(String id,Boolean isView);
Boolean updateDetailLikes(String id,Boolean isLike);
}

View File

@@ -0,0 +1,28 @@
package com.schisandra.share.domain.service;
import com.schisandra.share.domain.bo.SchisandraUserLikesCommentBO;
/**
* 评论点赞表 领域service
*
* @author zlg
* @since 2024-07-20 14:11:01
*/
public interface SchisandraUserLikesCommentDomainService {
/**
* 添加 评论点赞表 信息
*/
Boolean add(SchisandraUserLikesCommentBO schisandraUserLikesCommentBO);
/**
* 更新 评论点赞表 信息
*/
Boolean update(SchisandraUserLikesCommentBO schisandraUserLikesCommentBO);
/**
* 删除 评论点赞表 信息
*/
Boolean delete(SchisandraUserLikesCommentBO schisandraUserLikesCommentBO);
}

View File

@@ -0,0 +1,28 @@
package com.schisandra.share.domain.service;
import com.schisandra.share.domain.bo.SchisandraUserLikesDetailBO;
/**
* 分享详情点赞表 领域service
*
* @author zlg
* @since 2024-07-20 14:12:42
*/
public interface SchisandraUserLikesDetailDomainService {
/**
* 添加 分享详情点赞表 信息
*/
Boolean add(SchisandraUserLikesDetailBO schisandraUserLikesDetailBO);
/**
* 更新 分享详情点赞表 信息
*/
Boolean update(SchisandraUserLikesDetailBO schisandraUserLikesDetailBO);
/**
* 删除 分享详情点赞表 信息
*/
Boolean delete(SchisandraUserLikesDetailBO schisandraUserLikesDetailBO);
}

View File

@@ -199,4 +199,13 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
return schisandraShareDetailService.delDetailViews(id) > 0;
}
}
@Override
public Boolean updateDetailLikes(String id, Boolean isLike) {
if (isLike) {
return schisandraShareDetailService.addDetailLike(id) > 0;
} else {
return schisandraShareDetailService.delDetailLike(id) > 0;
}
}
}

View File

@@ -0,0 +1,48 @@
package com.schisandra.share.domain.service.impl;
import com.schisandra.share.common.enums.IsDeletedFlagEnum;
import com.schisandra.share.domain.convert.SchisandraUserLikesCommentBOConverter;
import com.schisandra.share.domain.bo.SchisandraUserLikesCommentBO;
import com.schisandra.share.domain.service.SchisandraUserLikesCommentDomainService;
import com.schisandra.share.infra.basic.entity.SchisandraUserLikesComment;
import com.schisandra.share.infra.basic.service.SchisandraUserLikesCommentService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 评论点赞表 领域service实现了
*
* @author zlg
* @since 2024-07-20 14:11:01
*/
@Service
@Slf4j
public class SchisandraUserLikesCommentDomainServiceImpl implements SchisandraUserLikesCommentDomainService {
@Resource
private SchisandraUserLikesCommentService schisandraUserLikesCommentService;
@Override
public Boolean add(SchisandraUserLikesCommentBO schisandraUserLikesCommentBO) {
SchisandraUserLikesComment schisandraUserLikesComment = SchisandraUserLikesCommentBOConverter.INSTANCE.convertBOToEntity(schisandraUserLikesCommentBO);
schisandraUserLikesComment.setIsDeleted(IsDeletedFlagEnum.UN_DELETED.getCode());
return schisandraUserLikesCommentService.insert(schisandraUserLikesComment) > 0;
}
@Override
public Boolean update(SchisandraUserLikesCommentBO schisandraUserLikesCommentBO) {
SchisandraUserLikesComment schisandraUserLikesComment = SchisandraUserLikesCommentBOConverter.INSTANCE.convertBOToEntity(schisandraUserLikesCommentBO);
return schisandraUserLikesCommentService.update(schisandraUserLikesComment) > 0;
}
@Override
public Boolean delete(SchisandraUserLikesCommentBO schisandraUserLikesCommentBO) {
SchisandraUserLikesComment schisandraUserLikesComment = new SchisandraUserLikesComment();
schisandraUserLikesComment.setId(schisandraUserLikesCommentBO.getId());
schisandraUserLikesComment.setIsDeleted(IsDeletedFlagEnum.DELETED.getCode());
return schisandraUserLikesCommentService.update(schisandraUserLikesComment) > 0;
}
}

View File

@@ -0,0 +1,48 @@
package com.schisandra.share.domain.service.impl;
import com.schisandra.share.common.enums.IsDeletedFlagEnum;
import com.schisandra.share.domain.convert.SchisandraUserLikesDetailBOConverter;
import com.schisandra.share.domain.bo.SchisandraUserLikesDetailBO;
import com.schisandra.share.domain.service.SchisandraUserLikesDetailDomainService;
import com.schisandra.share.infra.basic.entity.SchisandraUserLikesDetail;
import com.schisandra.share.infra.basic.service.SchisandraUserLikesDetailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 分享详情点赞表 领域service实现了
*
* @author zlg
* @since 2024-07-20 14:12:42
*/
@Service
@Slf4j
public class SchisandraUserLikesDetailDomainServiceImpl implements SchisandraUserLikesDetailDomainService {
@Resource
private SchisandraUserLikesDetailService schisandraUserLikesDetailService;
@Override
public Boolean add(SchisandraUserLikesDetailBO schisandraUserLikesDetailBO) {
SchisandraUserLikesDetail schisandraUserLikesDetail = SchisandraUserLikesDetailBOConverter.INSTANCE.convertBOToEntity(schisandraUserLikesDetailBO);
schisandraUserLikesDetail.setIsDeleted(IsDeletedFlagEnum.UN_DELETED.getCode());
return schisandraUserLikesDetailService.insert(schisandraUserLikesDetail) > 0;
}
@Override
public Boolean update(SchisandraUserLikesDetailBO schisandraUserLikesDetailBO) {
SchisandraUserLikesDetail schisandraUserLikesDetail = SchisandraUserLikesDetailBOConverter.INSTANCE.convertBOToEntity(schisandraUserLikesDetailBO);
return schisandraUserLikesDetailService.update(schisandraUserLikesDetail) > 0;
}
@Override
public Boolean delete(SchisandraUserLikesDetailBO schisandraUserLikesDetailBO) {
SchisandraUserLikesDetail schisandraUserLikesDetail = new SchisandraUserLikesDetail();
schisandraUserLikesDetail.setId(schisandraUserLikesDetailBO.getId());
schisandraUserLikesDetail.setIsDeleted(IsDeletedFlagEnum.DELETED.getCode());
return schisandraUserLikesDetailService.update(schisandraUserLikesDetail) > 0;
}
}

View File

@@ -0,0 +1,17 @@
package com.schisandra.share.infra.basic.dao;
import com.schisandra.share.infra.basic.entity.SchisandraUserLikesComment;
import com.mybatisflex.core.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 评论点赞表 表数据库访问层
*
* @author zlg
* @since 2024-07-20 14:11:01
*/
@Repository
public interface SchisandraUserLikesCommentDao extends BaseMapper<SchisandraUserLikesComment> {
}

View File

@@ -0,0 +1,17 @@
package com.schisandra.share.infra.basic.dao;
import com.schisandra.share.infra.basic.entity.SchisandraUserLikesDetail;
import com.mybatisflex.core.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 分享详情点赞表 表数据库访问层
*
* @author zlg
* @since 2024-07-20 14:12:42
*/
@Repository
public interface SchisandraUserLikesDetailDao extends BaseMapper<SchisandraUserLikesDetail> {
}

View File

@@ -0,0 +1,47 @@
package com.schisandra.share.infra.basic.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 评论点赞表 实体类
*
* @author zlg
* @since 2024-07-20 14:11:01
*/
@Data
@Table("schisandra_user_likes_comment")
public class SchisandraUserLikesComment implements Serializable {
/**
*
*/
@Id(value = "id", keyType = KeyType.Auto)
private String id;
/**
*
*/
@Column("user_id")
private String userId;
/**
*
*/
@Column("comment_id")
private String commentId;
/**
* 是否删除 0 未删除 1已删除
*/
@Column("is_deleted")
private Integer isDeleted;
}

View File

@@ -0,0 +1,47 @@
package com.schisandra.share.infra.basic.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 分享详情点赞表 实体类
*
* @author zlg
* @since 2024-07-20 14:12:42
*/
@Data
@Table("schisandra_user_likes_detail")
public class SchisandraUserLikesDetail implements Serializable {
/**
*
*/
@Id(value = "id", keyType = KeyType.Auto)
private String id;
/**
*
*/
@Column("user_id")
private String userId;
/**
*
*/
@Column("detail_id")
private String detailId;
/**
*
*/
@Column("is_deleted")
private Integer isDeleted;
}

View File

@@ -31,6 +31,9 @@ public interface SchisandraShareDetailService {
int delDetailViews(String Id);
int addDetailLike(String Id);
int delDetailLike(String Id);
/**
* 通过ID查询单条数据

View File

@@ -0,0 +1,46 @@
package com.schisandra.share.infra.basic.service;
import com.schisandra.share.infra.basic.entity.SchisandraUserLikesComment;
/**
* 评论点赞表 表服务接口
*
* @author zlg
* @since 2024-07-20 14:11:01
*/
public interface SchisandraUserLikesCommentService {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
SchisandraUserLikesComment queryById(Long id);
/**
* 新增数据
*
* @param schisandraUserLikesComment 实例对象
* @return 实例对象
*/
int insert(SchisandraUserLikesComment schisandraUserLikesComment);
/**
* 修改数据
*
* @param schisandraUserLikesComment 实例对象
* @return 实例对象
*/
int update(SchisandraUserLikesComment schisandraUserLikesComment);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
boolean deleteById(Long id);
}

View File

@@ -0,0 +1,46 @@
package com.schisandra.share.infra.basic.service;
import com.schisandra.share.infra.basic.entity.SchisandraUserLikesDetail;
/**
* 分享详情点赞表 表服务接口
*
* @author zlg
* @since 2024-07-20 14:12:42
*/
public interface SchisandraUserLikesDetailService {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
SchisandraUserLikesDetail queryById(Long id);
/**
* 新增数据
*
* @param schisandraUserLikesDetail 实例对象
* @return 实例对象
*/
int insert(SchisandraUserLikesDetail schisandraUserLikesDetail);
/**
* 修改数据
*
* @param schisandraUserLikesDetail 实例对象
* @return 实例对象
*/
int update(SchisandraUserLikesDetail schisandraUserLikesDetail);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
boolean deleteById(Long id);
}

View File

@@ -65,6 +65,24 @@ public class SchisandraShareDetailServiceImpl implements SchisandraShareDetailSe
return schisandraShareDetailDao.update(schisandraShareDetail);
}
@Override
public int addDetailLike(String Id) {
SchisandraShareDetail schisandraShareDetail = UpdateEntity.of(SchisandraShareDetail.class, Id);
UpdateWrapper wrapper = UpdateWrapper.of(schisandraShareDetail);
wrapper.set(SchisandraShareDetailTableDef.SCHISANDRA_SHARE_DETAIL.LIKES_COUNT,
SchisandraShareDetailTableDef.SCHISANDRA_SHARE_DETAIL.LIKES_COUNT.add(1));
return schisandraShareDetailDao.update(schisandraShareDetail);
}
@Override
public int delDetailLike(String Id) {
SchisandraShareDetail schisandraShareDetail = UpdateEntity.of(SchisandraShareDetail.class, Id);
UpdateWrapper wrapper = UpdateWrapper.of(schisandraShareDetail);
wrapper.set(SchisandraShareDetailTableDef.SCHISANDRA_SHARE_DETAIL.LIKES_COUNT,
SchisandraShareDetailTableDef.SCHISANDRA_SHARE_DETAIL.LIKES_COUNT.subtract(1));
return schisandraShareDetailDao.update(schisandraShareDetail);
}
/**
* 通过ID查询单条数据
*

View File

@@ -0,0 +1,67 @@
package com.schisandra.share.infra.basic.service.impl;
import com.schisandra.share.infra.basic.entity.SchisandraUserLikesComment;
import com.schisandra.share.infra.basic.dao.SchisandraUserLikesCommentDao;
import com.schisandra.share.infra.basic.service.SchisandraUserLikesCommentService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 评论点赞表 表服务实现类
*
* @author zlg
* @since 2024-07-20 14:11:01
*/
@Service("SchisandraUserLikesCommentService")
public class SchisandraUserLikesCommentServiceImpl implements SchisandraUserLikesCommentService {
@Resource
private SchisandraUserLikesCommentDao schisandraUserLikesCommentDao;
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
@Override
public SchisandraUserLikesComment queryById(Long id) {
return this.schisandraUserLikesCommentDao.selectOneById(id);
}
/**
* 新增数据
*
* @param schisandraUserLikesComment 实例对象
* @return 实例对象
*/
@Override
public int insert(SchisandraUserLikesComment schisandraUserLikesComment) {
return this.schisandraUserLikesCommentDao.insertSelective(schisandraUserLikesComment);
}
/**
* 修改数据
*
* @param schisandraUserLikesComment 实例对象
* @return 实例对象
*/
@Override
public int update(SchisandraUserLikesComment schisandraUserLikesComment) {
return this.schisandraUserLikesCommentDao.update(schisandraUserLikesComment,true);
}
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
@Override
public boolean deleteById(Long id) {
return this.schisandraUserLikesCommentDao.deleteById(id) > 0;
}
}

View File

@@ -0,0 +1,67 @@
package com.schisandra.share.infra.basic.service.impl;
import com.schisandra.share.infra.basic.entity.SchisandraUserLikesDetail;
import com.schisandra.share.infra.basic.dao.SchisandraUserLikesDetailDao;
import com.schisandra.share.infra.basic.service.SchisandraUserLikesDetailService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 分享详情点赞表 表服务实现类
*
* @author zlg
* @since 2024-07-20 14:12:42
*/
@Service("SchisandraUserLikesDetailService")
public class SchisandraUserLikesDetailServiceImpl implements SchisandraUserLikesDetailService {
@Resource
private SchisandraUserLikesDetailDao schisandraUserLikesDetailDao;
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
@Override
public SchisandraUserLikesDetail queryById(Long id) {
return this.schisandraUserLikesDetailDao.selectOneById(id);
}
/**
* 新增数据
*
* @param schisandraUserLikesDetail 实例对象
* @return 实例对象
*/
@Override
public int insert(SchisandraUserLikesDetail schisandraUserLikesDetail) {
return this.schisandraUserLikesDetailDao.insertSelective(schisandraUserLikesDetail);
}
/**
* 修改数据
*
* @param schisandraUserLikesDetail 实例对象
* @return 实例对象
*/
@Override
public int update(SchisandraUserLikesDetail schisandraUserLikesDetail) {
return this.schisandraUserLikesDetailDao.update(schisandraUserLikesDetail,true);
}
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
@Override
public boolean deleteById(Long id) {
return this.schisandraUserLikesDetailDao.deleteById(id) > 0;
}
}

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.schisandra.share.infra.basic.dao.SchisandraUserLikesCommentDao">
<resultMap id="BaseResultMap" type="com.schisandra.share.infra.basic.entity.SchisandraUserLikesComment">
<id column="id" jdbcType="VARCHAR" property="id"/>
<result column="user_id" jdbcType="VARCHAR" property="userId"/>
<result column="comment_id" jdbcType="VARCHAR" property="commentId"/>
<result column="is_deleted" jdbcType="INTEGER" property="isDeleted"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.schisandra.share.infra.basic.dao.SchisandraUserLikesDetailDao">
<resultMap id="BaseResultMap" type="com.schisandra.share.infra.basic.entity.SchisandraUserLikesDetail">
<id column="id" jdbcType="VARCHAR" property="id"/>
<result column="user_id" jdbcType="VARCHAR" property="userId"/>
<result column="detail_id" jdbcType="VARCHAR" property="detailId"/>
<result column="is_deleted" jdbcType="INTEGER" property="isDeleted"/>
</resultMap>
</mapper>