fix: 新增表userfavorite,用于展示用户收藏的分享列表

This commit is contained in:
sjm
2024-07-19 15:03:13 +08:00
parent 1c09e70586
commit 0c8bafd3ec
16 changed files with 621 additions and 12 deletions

View File

@@ -28,6 +28,11 @@ public class SchisandraShareCommentReplyController {
@Resource
private SchisandraShareCommentReplyDomainService schisandraShareCommentReplyDomainService;
/**
* 点赞
* @param Id
* @return
*/
@GetMapping("addlike")
public Result addLike(String Id){
return Result.ok(schisandraShareCommentReplyDomainService.addLike(Id));

View File

@@ -28,6 +28,9 @@ public class SchisandraShareDetailController {
@Resource
private SchisandraShareDetailDomainService schisandraShareDetailDomainService;
/**
* 获取我的分享
*/
@GetMapping("mydetail")
public Result mydetail(@RequestParam("userId") String userId) {
try{

View File

@@ -0,0 +1,118 @@
package com.schisandra.share.application.controller;
import com.alibaba.fastjson.JSON;
import com.google.common.base.Preconditions;
import com.schisandra.share.application.convert.SchisandraUserFavoritesDTOConverter;
import com.schisandra.share.application.dto.SchisandraUserFavoritesDTO;
import com.schisandra.share.common.entity.Result;
import com.schisandra.share.domain.bo.SchisandraUserFavoritesBO;
import com.schisandra.share.domain.service.SchisandraUserFavoritesDomainService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 收藏表 controller
*
* @author sjm
* @since 2024-07-19 14:58:33
*/
@RestController
@RequestMapping("/share/user/favorites/")
@Slf4j
public class SchisandraUserFavoritesController {
@Resource
private SchisandraUserFavoritesDomainService schisandraUserFavoritesDomainService;
/**
* 新增收藏表
*/
@RequestMapping("add")
public Result<Boolean> add(@RequestBody SchisandraUserFavoritesDTO schisandraUserFavoritesDTO) {
try {
if (log.isInfoEnabled()) {
log.info("SchisandraUserFavoritesController.add.dto:{}", JSON.toJSONString(schisandraUserFavoritesDTO));
}
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getId(), "不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getUserId(), "不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getDetailId(), "不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getCircleId(), "不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getExtJson(), "不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getCreatedBy(), "创建人不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getCreatedTime(), "创建时间不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getUpdateBy(), "更新人不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getUpdateTime(), "更新时间不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getIsDeleted(), "不能为空");
SchisandraUserFavoritesBO SchisandraUserFavoritesBO = SchisandraUserFavoritesDTOConverter.INSTANCE.convertDTOToBO(schisandraUserFavoritesDTO);
return Result.ok(schisandraUserFavoritesDomainService.add(SchisandraUserFavoritesBO));
} catch (Exception e) {
log.error("SchisandraUserFavoritesController.register.error:{}", e.getMessage(), e);
return Result.fail("新增收藏表失败");
}
}
/**
* 修改收藏表
*/
@RequestMapping("update")
public Result<Boolean> update(@RequestBody SchisandraUserFavoritesDTO schisandraUserFavoritesDTO) {
try {
if (log.isInfoEnabled()) {
log.info("SchisandraUserFavoritesController.update.dto:{}", JSON.toJSONString(schisandraUserFavoritesDTO));
}
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getId(), "不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getUserId(), "不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getDetailId(), "不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getCircleId(), "不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getExtJson(), "不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getCreatedBy(), "创建人不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getCreatedTime(), "创建时间不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getUpdateBy(), "更新人不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getUpdateTime(), "更新时间不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getIsDeleted(), "不能为空");
SchisandraUserFavoritesBO schisandraUserFavoritesBO = SchisandraUserFavoritesDTOConverter.INSTANCE.convertDTOToBO(schisandraUserFavoritesDTO);
return Result.ok(schisandraUserFavoritesDomainService.update(schisandraUserFavoritesBO));
} catch (Exception e) {
log.error("SchisandraUserFavoritesController.update.error:{}", e.getMessage(), e);
return Result.fail("更新收藏表信息失败");
}
}
/**
* 删除收藏表
*/
@RequestMapping("delete")
public Result<Boolean> delete(@RequestBody SchisandraUserFavoritesDTO schisandraUserFavoritesDTO) {
try {
if (log.isInfoEnabled()) {
log.info("SchisandraUserFavoritesController.delete.dto:{}", JSON.toJSONString(schisandraUserFavoritesDTO));
}
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getId(), "不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getUserId(), "不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getDetailId(), "不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getCircleId(), "不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getExtJson(), "不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getCreatedBy(), "创建人不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getCreatedTime(), "创建时间不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getUpdateBy(), "更新人不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getUpdateTime(), "更新时间不能为空");
Preconditions.checkNotNull(schisandraUserFavoritesDTO.getIsDeleted(), "不能为空");
SchisandraUserFavoritesBO schisandraUserFavoritesBO = SchisandraUserFavoritesDTOConverter.INSTANCE.convertDTOToBO(schisandraUserFavoritesDTO);
return Result.ok(schisandraUserFavoritesDomainService.delete(schisandraUserFavoritesBO));
} catch (Exception e) {
log.error("SchisandraUserFavoritesController.delete.error:{}", e.getMessage(), e);
return Result.fail("删除收藏表信息失败");
}
}
}

View File

@@ -0,0 +1,25 @@
package com.schisandra.share.application.convert;
import com.schisandra.share.application.dto.SchisandraUserFavoritesDTO;
import com.schisandra.share.domain.bo.SchisandraUserFavoritesBO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* 收藏表 dto转换器
*
* @author sjm
* @since 2024-07-19 14:58:33
*/
@Mapper
public interface SchisandraUserFavoritesDTOConverter {
SchisandraUserFavoritesDTOConverter INSTANCE = Mappers.getMapper(SchisandraUserFavoritesDTOConverter.class);
SchisandraUserFavoritesBO convertDTOToBO(SchisandraUserFavoritesDTO schisandraUserFavoritesDTO);
SchisandraUserFavoritesDTO convertBOToDTO(SchisandraUserFavoritesBO schisandraUserFavoritesBO);
List<SchisandraUserFavoritesDTO> convertBOToDTOList(List<SchisandraUserFavoritesBO> schisandraUserFavoritesBOList);
}

View File

@@ -0,0 +1,68 @@
package com.schisandra.share.application.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 收藏表 dto
*
* @author sjm
* @since 2024-07-19 14:58:33
*/
@Data
public class SchisandraUserFavoritesDTO implements Serializable {
/**
*
*/
private String id;
/**
*
*/
private String userId;
/**
*
*/
private String detailId;
/**
*
*/
private String circleId;
/**
*
*/
private String extJson;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
*
*/
private Integer isDeleted;
}

View File

@@ -95,12 +95,11 @@
<artifactId>org.apache.commons.codec</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>2.9.3</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>

View File

@@ -0,0 +1,67 @@
package com.schisandra.share.domain.bo;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 收藏表 bo
*
* @author sjm
* @since 2024-07-19 14:58:33
*/
@Data
public class SchisandraUserFavoritesBO implements Serializable {
/**
*
*/
private String id;
/**
*
*/
private String userId;
/**
*
*/
private String detailId;
/**
*
*/
private String circleId;
/**
*
*/
private String extJson;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
*
*/
private Integer isDeleted;
}

View File

@@ -0,0 +1,22 @@
package com.schisandra.share.domain.convert;
import com.schisandra.share.domain.bo.SchisandraUserFavoritesBO;
import com.schisandra.share.infra.basic.entity.SchisandraUserFavorites;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
* 收藏表 bo转换器
*
* @author sjm
* @since 2024-07-19 14:58:33
*/
@Mapper
public interface SchisandraUserFavoritesBOConverter {
SchisandraUserFavoritesBOConverter INSTANCE = Mappers.getMapper(SchisandraUserFavoritesBOConverter.class);
SchisandraUserFavorites convertBOToEntity(SchisandraUserFavoritesBO schisandraUserFavoritesBO);
SchisandraUserFavoritesBO convertEntityToBO(SchisandraUserFavorites schisandraUserFavorites);
}

View File

@@ -0,0 +1,28 @@
package com.schisandra.share.domain.service;
import com.schisandra.share.domain.bo.SchisandraUserFavoritesBO;
/**
* 收藏表 领域service
*
* @author sjm
* @since 2024-07-19 14:58:33
*/
public interface SchisandraUserFavoritesDomainService {
/**
* 添加 收藏表 信息
*/
Boolean add(SchisandraUserFavoritesBO schisandraUserFavoritesBO);
/**
* 更新 收藏表 信息
*/
Boolean update(SchisandraUserFavoritesBO schisandraUserFavoritesBO);
/**
* 删除 收藏表 信息
*/
Boolean delete(SchisandraUserFavoritesBO schisandraUserFavoritesBO);
}

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.SchisandraUserFavoritesBOConverter;
import com.schisandra.share.domain.bo.SchisandraUserFavoritesBO;
import com.schisandra.share.domain.service.SchisandraUserFavoritesDomainService;
import com.schisandra.share.infra.basic.entity.SchisandraUserFavorites;
import com.schisandra.share.infra.basic.service.SchisandraUserFavoritesService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 收藏表 领域service实现了
*
* @author sjm
* @since 2024-07-19 14:58:33
*/
@Service
@Slf4j
public class SchisandraUserFavoritesDomainServiceImpl implements SchisandraUserFavoritesDomainService {
@Resource
private SchisandraUserFavoritesService schisandraUserFavoritesService;
@Override
public Boolean add(SchisandraUserFavoritesBO schisandraUserFavoritesBO) {
SchisandraUserFavorites schisandraUserFavorites = SchisandraUserFavoritesBOConverter.INSTANCE.convertBOToEntity(schisandraUserFavoritesBO);
schisandraUserFavorites.setIsDeleted(IsDeletedFlagEnum.UN_DELETED.getCode());
return schisandraUserFavoritesService.insert(schisandraUserFavorites) > 0;
}
@Override
public Boolean update(SchisandraUserFavoritesBO schisandraUserFavoritesBO) {
SchisandraUserFavorites schisandraUserFavorites = SchisandraUserFavoritesBOConverter.INSTANCE.convertBOToEntity(schisandraUserFavoritesBO);
return schisandraUserFavoritesService.update(schisandraUserFavorites) > 0;
}
@Override
public Boolean delete(SchisandraUserFavoritesBO schisandraUserFavoritesBO) {
SchisandraUserFavorites schisandraUserFavorites = new SchisandraUserFavorites();
schisandraUserFavorites.setId(schisandraUserFavoritesBO.getId());
schisandraUserFavorites.setIsDeleted(IsDeletedFlagEnum.DELETED.getCode());
return schisandraUserFavoritesService.update(schisandraUserFavorites) > 0;
}
}

View File

@@ -0,0 +1,17 @@
package com.schisandra.share.infra.basic.dao;
import com.schisandra.share.infra.basic.entity.SchisandraUserFavorites;
import com.mybatisflex.core.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 收藏表 表数据库访问层
*
* @author sjm
* @since 2024-07-19 14:58:33
*/
@Repository
public interface SchisandraUserFavoritesDao extends BaseMapper<SchisandraUserFavorites> {
}

View File

@@ -0,0 +1,84 @@
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 com.mybatisflex.core.keygen.KeyGenerators;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 收藏表 实体类
*
* @author sjm
* @since 2024-07-19 14:58:33
*/
@Data
@Table("schisandra_user_favorites")
public class SchisandraUserFavorites implements Serializable {
/**
*
*/
@Id(keyType=KeyType.Generator, value= KeyGenerators.flexId)
private String id;
/**
*
*/
@Column("user_id")
private String userId;
/**
*
*/
@Column("detail_id")
private String detailId;
/**
*
*/
@Column("circle_id")
private String circleId;
/**
*
*/
@Column("ext_json")
private String extJson;
/**
* 创建人
*/
@Column("created_by")
private String createdBy;
/**
* 创建时间
*/
@Column("created_time")
private Date createdTime;
/**
* 更新人
*/
@Column("update_by")
private String updateBy;
/**
* 更新时间
*/
@Column("update_time")
private Date updateTime;
/**
*
*/
@Column(value = "is_deleted",isLogicDelete = true)
private Integer isDeleted;
}

View File

@@ -0,0 +1,46 @@
package com.schisandra.share.infra.basic.service;
import com.schisandra.share.infra.basic.entity.SchisandraUserFavorites;
/**
* 收藏表 表服务接口
*
* @author sjm
* @since 2024-07-19 14:58:33
*/
public interface SchisandraUserFavoritesService {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
SchisandraUserFavorites queryById(Long id);
/**
* 新增数据
*
* @param schisandraUserFavorites 实例对象
* @return 实例对象
*/
int insert(SchisandraUserFavorites schisandraUserFavorites);
/**
* 修改数据
*
* @param schisandraUserFavorites 实例对象
* @return 实例对象
*/
int update(SchisandraUserFavorites schisandraUserFavorites);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
boolean deleteById(Long id);
}

View File

@@ -0,0 +1,67 @@
package com.schisandra.share.infra.basic.service.impl;
import com.schisandra.share.infra.basic.entity.SchisandraUserFavorites;
import com.schisandra.share.infra.basic.dao.SchisandraUserFavoritesDao;
import com.schisandra.share.infra.basic.service.SchisandraUserFavoritesService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 收藏表 表服务实现类
*
* @author sjm
* @since 2024-07-19 14:58:33
*/
@Service("SchisandraUserFavoritesService")
public class SchisandraUserFavoritesServiceImpl implements SchisandraUserFavoritesService {
@Resource
private SchisandraUserFavoritesDao schisandraUserFavoritesDao;
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
@Override
public SchisandraUserFavorites queryById(Long id) {
return this.schisandraUserFavoritesDao.selectOneById(id);
}
/**
* 新增数据
*
* @param schisandraUserFavorites 实例对象
* @return 实例对象
*/
@Override
public int insert(SchisandraUserFavorites schisandraUserFavorites) {
return this.schisandraUserFavoritesDao.insertSelective(schisandraUserFavorites);
}
/**
* 修改数据
*
* @param schisandraUserFavorites 实例对象
* @return 实例对象
*/
@Override
public int update(SchisandraUserFavorites schisandraUserFavorites) {
return this.schisandraUserFavoritesDao.update(schisandraUserFavorites,true);
}
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
@Override
public boolean deleteById(Long id) {
return this.schisandraUserFavoritesDao.deleteById(id) > 0;
}
}

View File

@@ -0,0 +1,18 @@
<?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.SchisandraUserFavoritesDao">
<resultMap id="BaseResultMap" type="com.schisandra.share.infra.basic.entity.SchisandraUserFavorites">
<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="circle_id" jdbcType="VARCHAR" property="circleId"/>
<result column="ext_json" jdbcType="VARCHAR" property="extJson"/>
<result column="created_by" jdbcType="VARCHAR" property="createdBy"/>
<result column="created_time" jdbcType="TIMESTAMP" property="createdTime"/>
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="is_deleted" jdbcType="INTEGER" property="isDeleted"/>
</resultMap>
</mapper>