feat: 获取分享列表接口

This commit is contained in:
landaiqing
2024-07-15 20:45:12 +08:00
parent 14530e56e7
commit 0af1bb572f
37 changed files with 838 additions and 361 deletions

View File

@@ -1,7 +1,9 @@
package com.schisandra.auth.api;
import com.schisandra.auth.entity.Result;
import com.schisandra.auth.entity.SchisandraAuthUserDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
@@ -9,4 +11,7 @@ import org.springframework.web.bind.annotation.RequestParam;
public interface SchisandraAuthFeignService {
@PostMapping("/auth/user/wechatRegister")
Boolean wechatRegister(@RequestParam(name = "appId") String appId, @RequestParam(name = "openId") String openId, @RequestParam("clientId") String clientId);
@GetMapping("/auth/user/getUserInfo")
Result<SchisandraAuthUserDTO> getUserInfo(@RequestParam("userId") Long userId);
}

View File

@@ -0,0 +1,131 @@
package com.schisandra.auth.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* dto
*
* @author landaiqing
* @since 2024-05-23 20:00:28
*/
@Data
public class SchisandraAuthUserDTO implements Serializable {
/**
* id
*/
private Long id;
/**
* 用户名
*/
private String userName;
/**
* 昵称
*/
private String nickName;
/**
* 邮箱
*/
private String email;
/**
* 手机号
*/
private String phone;
/**
* 密码
*/
private String password;
/**
* 性别
*/
private String gender;
/**
* 头像
*/
private String avatar;
/**
* 状态
*/
private Integer status;
/**
* 介绍
*/
private String introduce;
/**
* 扩展字段
*/
private String extJson;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
* 是否删除
*/
private Integer isDeleted;
/**
* 博客
*/
private String blog;
/**
* 城市
*/
private String location;
/**
* 公司
*/
private String company;
/**
* 激活码
*/
private String activeCode;
/**
* 确认密码
*/
private String confirmPassword;
/**
* 旋转图片验证token
*/
private String token;
/**
* 旋转图片验证的旋转角度
*/
private Double deg;
}

View File

@@ -8,7 +8,7 @@
# 数据库连接信息
jdbc:
dbName: schisandra-cloud-storage
tableName: schisandra_social_user_auth
tableName: schisandra_share_message
url: jdbc:mysql://1.95.0.111:3306/
username: root
password: LDQ20020618xxx
@@ -22,9 +22,9 @@ params:
# 作者
author: landaiqing
# 模块
module: auth
module: share
# controller 通用前缀
api: /auth/social
api: /share/message/
# 生成对象是否移除前缀
removePre: false
# 使用内置函数赋值给变量 FunctionUtils 中替换

View File

@@ -66,7 +66,7 @@ public class SchisandraOssMinioController {
@GetMapping("returnAll")
public Result returnAll() {
List<SchisandraOssMinioBO> list = schisandraOssMinioDomainService.selectAll();
if(list.isEmpty()){
if (list.isEmpty()) {
return Result.fail();
}
return Result.ok(SchisandraOssMinioDTOConverter.INSTANCE.convertBOToDTOList(list));
@@ -86,7 +86,7 @@ public class SchisandraOssMinioController {
log.info("SchisandraOssMinioController.init.userId:{}", userId);
}
Preconditions.checkNotNull(userId, "用户id不能为空");
List<SchisandraOssMinioBO> list= schisandraOssMinioDomainService.getAllMinioInfoByUserId(Long.valueOf(userId));
List<SchisandraOssMinioBO> list = schisandraOssMinioDomainService.getAllMinioInfoByUserId(Long.valueOf(userId));
if (list.size() != 0) {
return Result.fail(list);
}
@@ -112,7 +112,7 @@ public class SchisandraOssMinioController {
bo.setUserId(Long.valueOf(userId));
bo.setStatus(String.valueOf(false));
if (schisandraOssMinioDomainService.update(bo)) {
SpringUtil.unregisterBean(OssConstant.OssType.MINIO+userId);
SpringUtil.unregisterBean(OssConstant.OssType.MINIO + userId);
return Result.ok();
} else {
return Result.fail();
@@ -132,7 +132,7 @@ public class SchisandraOssMinioController {
@GetMapping("listDir")
public Result<String> listMinioInfo(@RequestParam String userId, @RequestParam String dirName, @RequestParam String bucket) throws Exception {
Preconditions.checkNotNull(userId, "不能为空");
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO+userId);
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId);
bean.getMinioOssConfig().setBucketName(bucket);
return Result.ok(bean.listDir(bucket, dirName));
}
@@ -149,7 +149,7 @@ public class SchisandraOssMinioController {
Preconditions.checkNotNull(bucket, "不能为空");
Preconditions.checkNotNull(userId, "不能为空");
Preconditions.checkNotNull(listObjectsArgs, "不能为空");
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO+userId);
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId);
bean.getMinioOssConfig().setBucketName(bucket);
HashMap<String, InputStream> list = bean.getTargetDir(listObjectsArgs);
@@ -166,13 +166,13 @@ public class SchisandraOssMinioController {
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = dateFormat.format(date);
list.keySet().forEach( name -> {
list.keySet().forEach(name -> {
try {
byte[] bytes = StreamUtils.copyToByteArray(list.get(name));
String key = redisUtil.buildKey(USER_OSS_PREFIX, "download", formattedDate, userId, name);
HashMap<Object, Object> map = new HashMap<>();
map.put("size", bytes.length);
map.put("time",formattedDate);
map.put("time", formattedDate);
redisUtil.setNx(key, map, 30L, TimeUnit.DAYS);
} catch (IOException e) {
throw new RuntimeException(e);
@@ -195,7 +195,7 @@ public class SchisandraOssMinioController {
Preconditions.checkNotNull(bucket, "不能为空");
Preconditions.checkNotNull(userId, "不能为空");
Preconditions.checkNotNull(filePath, "不能为空");
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO+userId);
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId);
bean.getMinioOssConfig().setBucketName(bucket);
bean.delete(filePath);
return Result.ok();
@@ -216,7 +216,7 @@ public class SchisandraOssMinioController {
Preconditions.checkNotNull(bucket, "不能为空");
// 获取文件输入流
InputStream is = file.getInputStream();
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO+userId);
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId);
bean.getMinioOssConfig().setBucketName(bucket);
//设置热力图
Date date = new Date();
@@ -226,7 +226,7 @@ public class SchisandraOssMinioController {
HashMap<Object, Object> map = new HashMap<>();
map.put("descreption", "这是一个文件");
map.put("size", String.valueOf(file.getSize()));
map.put("time",formattedDate);
map.put("time", formattedDate);
if (bean.upLoad(is, fileName, true) != null) {
redisUtil.setNx(key, map, 30L, TimeUnit.DAYS);
return Result.ok();
@@ -251,7 +251,7 @@ public class SchisandraOssMinioController {
Preconditions.checkNotNull(bucket, "不能为空");
Preconditions.checkNotNull(oldFileName, "不能为空");
Preconditions.checkNotNull(newFileName, "不能为空");
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO+userId);
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId);
bean.getMinioOssConfig().setBucketName(bucket);
try {
bean.rename(oldFileName, newFileName);
@@ -276,7 +276,7 @@ public class SchisandraOssMinioController {
Preconditions.checkNotNull(bucket, "不能为空");
Preconditions.checkNotNull(oldFilePath, "不能为空");
Preconditions.checkNotNull(newFilePath, "不能为空");
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO+userId);
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId);
bean.getMinioOssConfig().setBucketName(bucket);
try {
bean.copy(oldFilePath, newFilePath);
@@ -298,7 +298,7 @@ public class SchisandraOssMinioController {
Preconditions.checkNotNull(userId, "不能为空");
Preconditions.checkNotNull(bucket, "不能为空");
Preconditions.checkNotNull(filePath, "不能为空");
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO+userId);
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId);
bean.getMinioOssConfig().setBucketName(bucket);
try {
Date date = new Date();
@@ -306,7 +306,7 @@ public class SchisandraOssMinioController {
String formattedDate = dateFormat.format(date);
String key = redisUtil.buildKey(USER_OSS_PREFIX, "previewFile", formattedDate, userId, filePath);
HashMap<Object, Object> map = new HashMap<>();
String url=bean.getMinioPreviewUrl(filePath);
String url = bean.getMinioPreviewUrl(filePath);
map.put("url", url);
map.put("time", formattedDate);
redisUtil.setNx(key, map, 30L, TimeUnit.DAYS);
@@ -329,7 +329,7 @@ public class SchisandraOssMinioController {
Preconditions.checkNotNull(userId, "不能为空");
Preconditions.checkNotNull(bucket, "不能为空");
Preconditions.checkNotNull(filePath, "不能为空");
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO+userId);
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId);
bean.getMinioOssConfig().setBucketName(bucket);
try {
return Result.ok(bean.shareMinioFile(filePath, time));
@@ -348,7 +348,7 @@ public class SchisandraOssMinioController {
@PostMapping("seleteBucket")
public Result<String> seleteBucket(@RequestParam String userId) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
Preconditions.checkNotNull(userId, "不能为空");
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO+userId);
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId);
return Result.ok(bean.selectAllBucket());
}
@@ -363,7 +363,7 @@ public class SchisandraOssMinioController {
public Result<String> createBucket(@RequestParam String userId, @RequestParam String bucket) {
Preconditions.checkNotNull(userId, "不能为空");
Preconditions.checkNotNull(bucket, "不能为空");
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO+userId);
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId);
bean.getMinioOssConfig().setBucketName(bucket);
return Result.ok(bean.createBucket(bucket));
}
@@ -379,7 +379,7 @@ public class SchisandraOssMinioController {
public Result<String> deleteBucket(@RequestParam String userId, @RequestParam String bucket) {
Preconditions.checkNotNull(userId, "不能为空");
Preconditions.checkNotNull(bucket, "不能为空");
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO+userId);
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId);
bean.getMinioOssConfig().setBucketName(bucket);
return Result.ok(bean.deleteBucket(bucket));
}
@@ -453,7 +453,7 @@ public class SchisandraOssMinioController {
@PostMapping("getBaseInfo")
public Result getBaseInfo(@RequestParam String fileName, @RequestParam String userId) {
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO+userId);
MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId);
if (bean == null) {
log.error("容器获取失败!");
return null;

View File

@@ -1,38 +1,40 @@
package com.schisandra.oss.application.oss.model;
import lombok.Data;
/**
* @author landaiqing
* @version Info.java, v 1.1 2021/11/15 10:16 chenmin Exp $
* Created on 2021/11/15
*/
@Data
public class OssInfo {
/**
* 名称
*/
private String name;
/**
* 是否是文件夹
*/
private Boolean isDir;
/**
* 存储路径
*/
private String path;
/**
* 对象大小
*/
private String length;
/**
* 创建时间
*/
private String createTime;
/**
* 最新修改时间
*/
private String lastUpdateTime;
}
package com.schisandra.oss.application.oss.model;
import lombok.Data;
import java.io.Serializable;
/**
* @author landaiqing
* @version Info.java, v 1.1 2021/11/15 10:16 chenmin Exp $
* Created on 2021/11/15
*/
@Data
public class OssInfo implements Serializable {
/**
* 名称
*/
private String name;
/**
* 是否是文件夹
*/
private Boolean isDir;
/**
* 存储路径
*/
private String path;
/**
* 对象大小
*/
private String length;
/**
* 创建时间
*/
private String createTime;
/**
* 最新修改时间
*/
private String lastUpdateTime;
}

View File

@@ -1,6 +1,5 @@
package com.schisandra.oss.job.job;
import com.schisandra.oss.domain.bo.SchisandraFileHeatmapBO;
import com.schisandra.oss.domain.service.SchisandraFileHeatmapDomainService;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
@@ -8,7 +7,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
@Component
@Slf4j
@@ -19,17 +17,17 @@ public class OssHeatMapRedisToMysqlHandler {
@XxlJob("ossHeatMapRedisToMysqlHandler")
public void ossHeatMapRedisToMysqlHandler() throws Exception {
XxlJobHelper.log("ossHeatMapRedisToMysqlHandler.starter");
if (schisandraFileHeatmapDomainService.uploadHeatMapRedisToMysql()==1 ){
XxlJobHelper.log("ossHeatMapRedisToMysqlHandler.upload.success");
log.info("1");
}else {
XxlJobHelper.log("ossHeatMapRedisToMysqlHandler.fail");
}
if (schisandraFileHeatmapDomainService.downloadHeatMapRedisToMysql()==1){
XxlJobHelper.log("ossHeatMapRedisToMysqlHandler.success");
}else {
XxlJobHelper.log("ossHeatMapRedisToMysqlHandler.download.fail");
}
if (schisandraFileHeatmapDomainService.uploadHeatMapRedisToMysql() == 1) {
XxlJobHelper.log("ossHeatMapRedisToMysqlHandler.upload.success");
log.info("1");
} else {
XxlJobHelper.log("ossHeatMapRedisToMysqlHandler.fail");
}
if (schisandraFileHeatmapDomainService.downloadHeatMapRedisToMysql() == 1) {
XxlJobHelper.log("ossHeatMapRedisToMysqlHandler.success");
} else {
XxlJobHelper.log("ossHeatMapRedisToMysqlHandler.download.fail");
}
}
}

View File

@@ -1,56 +1,58 @@
package com.schisandra.oss.common.entity;
import com.schisandra.oss.common.enums.ResultCodeEnum;
import lombok.Data;
/**
* @description: 返回结果泛型类
* @author: schisandra
* @date: 2024/3/22 13:09
*/
@Data
public class Result<T> {
private Boolean success;
private Integer code;
private String message;
private T data;
public static Result ok() {
Result result = new Result();
result.setSuccess(true);
result.setCode(ResultCodeEnum.SUCCESS.getCode());
result.setMessage(ResultCodeEnum.SUCCESS.getDesc());
return result;
}
public static <T> Result ok(T data) {
Result result = new Result();
result.setSuccess(true);
result.setCode(ResultCodeEnum.SUCCESS.getCode());
result.setMessage(ResultCodeEnum.SUCCESS.getDesc());
result.setData(data);
return result;
}
public static Result fail() {
Result result = new Result();
result.setSuccess(false);
result.setCode(ResultCodeEnum.FAIL.getCode());
result.setMessage(ResultCodeEnum.FAIL.getDesc());
return result;
}
public static <T> Result fail(T data) {
Result result = new Result();
result.setSuccess(false);
result.setCode(ResultCodeEnum.FAIL.getCode());
result.setMessage(ResultCodeEnum.FAIL.getDesc());
result.setData(data);
return result;
}
}
package com.schisandra.oss.common.entity;
import com.schisandra.oss.common.enums.ResultCodeEnum;
import lombok.Data;
import java.io.Serializable;
/**
* @description: 返回结果泛型类
* @author: schisandra
* @date: 2024/3/22 13:09
*/
@Data
public class Result<T> implements Serializable {
private Boolean success;
private Integer code;
private String message;
private T data;
public static Result ok() {
Result result = new Result();
result.setSuccess(true);
result.setCode(ResultCodeEnum.SUCCESS.getCode());
result.setMessage(ResultCodeEnum.SUCCESS.getDesc());
return result;
}
public static <T> Result ok(T data) {
Result result = new Result();
result.setSuccess(true);
result.setCode(ResultCodeEnum.SUCCESS.getCode());
result.setMessage(ResultCodeEnum.SUCCESS.getDesc());
result.setData(data);
return result;
}
public static Result fail() {
Result result = new Result();
result.setSuccess(false);
result.setCode(ResultCodeEnum.FAIL.getCode());
result.setMessage(ResultCodeEnum.FAIL.getDesc());
return result;
}
public static <T> Result fail(T data) {
Result result = new Result();
result.setSuccess(false);
result.setCode(ResultCodeEnum.FAIL.getCode());
result.setMessage(ResultCodeEnum.FAIL.getDesc());
result.setData(data);
return result;
}
}

View File

@@ -67,12 +67,12 @@ mybatis-flex:
xxl:
job:
admin:
addresses: http://127.0.0.1:8080/xxl-job-admin
addresses: http://1.95.0.111:8088/xxl-job-admin
accessToken: default_token
executor:
appname: schisandra-cloud-storage-oss
address:
ip: 127.0.0.1
port: 9999
ip: 1.95.0.111
port: 9998
logpath: /data/applogs/xxl-job/jobhandler
logretentiondays: 30

View File

@@ -1,53 +1,53 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.schisandra.share</groupId>
<artifactId>schisandra-cloud-storage-share</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>schisandra-cloud-storage-share</name>
<modules>
<module>schisandra-cloud-storage-share-api</module>
<module>schisandra-cloud-storage-share-starter</module>
<module>schisandra-cloud-storage-share-infra</module>
<module>schisandra-cloud-storage-share-domain</module>
<module>schisandra-cloud-storage-share-common</module>
<module>schisandra-cloud-storage-share-application</module>
</modules>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.4.2</spring-boot.version>
<spring-cloud-alibaba.version>2021.1</spring-cloud-alibaba.version>
<spring-cloud.version>2020.0.6</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.4.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>central</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</project>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.schisandra.share</groupId>
<artifactId>schisandra-cloud-storage-share</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>schisandra-cloud-storage-share</name>
<modules>
<module>schisandra-cloud-storage-share-api</module>
<module>schisandra-cloud-storage-share-starter</module>
<module>schisandra-cloud-storage-share-infra</module>
<module>schisandra-cloud-storage-share-common</module>
<module>schisandra-cloud-storage-share-application</module>
<module>schisandra-cloud-storage-share-domain</module>
</modules>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.4.2</spring-boot.version>
<spring-cloud-alibaba.version>2021.1</spring-cloud-alibaba.version>
<spring-cloud.version>2020.0.6</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.4.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>central</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</project>

View File

@@ -1,79 +1,79 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.schisandra.share</groupId>
<artifactId>schisandra-cloud-storage-share-application</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>schisandra-cloud-storage-share-application-controller</artifactId>
<packaging>jar</packaging>
<name>schisandra-cloud-storage-share-application-controller</name>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</path>
<!-- 必须要加, 否则生成不了 MapperImpl 实现类 -->
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.4.2.Final</version>
</path>
<!-- 如果是 0.1.0 有可能出现生成了maptruct的实现类, 但该类只创建了对象, 没有进行赋值 -->
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>0.2.0</version>
</path>
<path>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-processor</artifactId>
<version>1.9.0</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.4.2</version>
</dependency>
<dependency>
<groupId>com.schisandra.share</groupId>
<artifactId>schisandra-cloud-storage-share-domain</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.schisandra.share</groupId>
<artifactId>schisandra-cloud-storage-share-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.schisandra.share</groupId>
<artifactId>schisandra-cloud-storage-share-application</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>schisandra-cloud-storage-share-application-controller</artifactId>
<packaging>jar</packaging>
<name>schisandra-cloud-storage-share-application-controller</name>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</path>
<!-- 必须要加, 否则生成不了 MapperImpl 实现类 -->
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.4.2.Final</version>
</path>
<!-- 如果是 0.1.0 有可能出现生成了maptruct的实现类, 但该类只创建了对象, 没有进行赋值 -->
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>0.2.0</version>
</path>
<path>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-processor</artifactId>
<version>1.9.0</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.4.2</version>
</dependency>
<dependency>
<groupId>com.schisandra.share</groupId>
<artifactId>schisandra-cloud-storage-share-domain</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.schisandra.share</groupId>
<artifactId>schisandra-cloud-storage-share-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,44 @@
package com.schisandra.share.application.config;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import java.util.List;
/**
* @Classname GlobalConfig
* @BelongsProject: schisandra-cloud-storage
* @BelongsPackage: com.schisandra.auth.application.common
* @Author: schisandra
* @CreateTime: 2024-02-16 15:57
* @Description: MVC全局处理
* @Version: 1.0
*/
@Configuration
public class GlobalConfig extends WebMvcConfigurationSupport {
@Override
protected void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
converters.add(mappingJackson2HttpMessageConverter());
}
private MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(objectMapper);
return converter;
}
// @Override
// protected void addInterceptors(InterceptorRegistry registry) {
// registry.addInterceptor(new LoginInterceptor())
// .addPathPatterns("/**").excludePathPatterns("/oauth/**","/system/**","/auth/**","/ReactRotateCaptcha/**","/sms/sendByTemplate");
// }
}

View File

@@ -27,7 +27,6 @@ public class SchisandraShareCircleController {
@Resource
private SchisandraShareCircleDomainService schisandraShareCircleDomainService;
/**
* 新增分享圈
*/

View File

@@ -8,11 +8,10 @@ import com.schisandra.share.common.entity.Result;
import com.schisandra.share.domain.bo.SchisandraShareDetailBO;
import com.schisandra.share.domain.service.SchisandraShareDetailDomainService;
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 org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 分享详情表 controller
@@ -28,6 +27,21 @@ public class SchisandraShareDetailController {
@Resource
private SchisandraShareDetailDomainService schisandraShareDetailDomainService;
/**
* @description: 查询分享列表
* @param: []
* @return: com.schisandra.share.common.entity.Result<java.util.List < com.schisandra.share.domain.bo.SchisandraShareCircleBO>>
* @author: landaiqing
* @date: 2024/7/15 下午7:09
*/
@PostMapping("/list")
public Result<List<SchisandraShareDetailDTO>> selectCircleList(@RequestParam("circleId") Long circleId) {
List<SchisandraShareDetailBO> resultList = schisandraShareDetailDomainService.list(circleId);
List<SchisandraShareDetailDTO> schisandraShareDetailDTOS = SchisandraShareDetailDTOConverter.INSTANCE.convertBOToDTOList(resultList);
return Result.ok(schisandraShareDetailDTOS);
}
/**
* 新增分享详情表
*/

View File

@@ -4,6 +4,7 @@ import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 分享详情表 dto
@@ -15,32 +16,32 @@ import java.util.Date;
public class SchisandraShareDetailDTO implements Serializable {
/**
*
*
*/
private Long id;
/**
*
*
*/
private Long circleId;
/**
*
*
*/
private Long userId;
/**
*
*
*/
private String title;
/**
*
*
*/
private String icon;
/**
*
*
*/
private String description;
@@ -60,12 +61,12 @@ public class SchisandraShareDetailDTO implements Serializable {
private Long likesCount;
/**
*
*
*/
private Long views;
/**
*
*
*/
private String extJson;
@@ -90,9 +91,15 @@ public class SchisandraShareDetailDTO implements Serializable {
private Date updateTime;
/**
*
*
*/
private Integer isDeleted;
List<SchisandraShareTagsDTO> tags;
private String nickname;
private String avatar;
}

View File

@@ -1,74 +1,74 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.schisandra.share</groupId>
<artifactId>schisandra-cloud-storage-share</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>schisandra-cloud-storage-share-domain</artifactId>
<packaging>jar</packaging>
<name>schisandra-cloud-storage-share-domain</name>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</path>
<!-- 必须要加, 否则生成不了 MapperImpl 实现类 -->
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.4.2.Final</version>
</path>
<!-- 如果是 0.1.0 有可能出现生成了maptruct的实现类, 但该类只创建了对象, 没有进行赋值 -->
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>0.2.0</version>
</path>
<path>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-processor</artifactId>
<version>1.9.0</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.schisandra.share</groupId>
<artifactId>schisandra-cloud-storage-share-infra</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.schisandra.share</groupId>
<artifactId>schisandra-cloud-storage-share-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.schisandra.share</groupId>
<artifactId>schisandra-cloud-storage-share</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>schisandra-cloud-storage-share-domain</artifactId>
<packaging>jar</packaging>
<name>schisandra-cloud-storage-share-domain</name>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</path>
<!-- 必须要加, 否则生成不了 MapperImpl 实现类 -->
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.4.2.Final</version>
</path>
<!-- 如果是 0.1.0 有可能出现生成了maptruct的实现类, 但该类只创建了对象, 没有进行赋值 -->
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>0.2.0</version>
</path>
<path>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-processor</artifactId>
<version>1.9.0</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.schisandra.share</groupId>
<artifactId>schisandra-cloud-storage-share-infra</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.schisandra.share</groupId>
<artifactId>schisandra-cloud-storage-share-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>

View File

@@ -4,6 +4,8 @@ import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 分享详情表 bo
*
@@ -93,5 +95,11 @@ public class SchisandraShareDetailBO implements Serializable {
*/
private Integer isDeleted;
List<SchisandraShareTagsBO> tags;
private String nickname;
private String avatar;
}

View File

@@ -5,6 +5,8 @@ import com.schisandra.share.infra.basic.entity.SchisandraShareDetail;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* 分享详情表 bo转换器
*
@@ -18,5 +20,6 @@ public interface SchisandraShareDetailBOConverter {
SchisandraShareDetail convertBOToEntity(SchisandraShareDetailBO schisandraShareDetailBO);
SchisandraShareDetailBO convertEntityToBO(SchisandraShareDetail schisandraShareDetail);
List<SchisandraShareDetailBO> convertEntityToBOList(List<SchisandraShareDetail> schisandraShareDetailList);
}

View File

@@ -5,6 +5,8 @@ import com.schisandra.share.infra.basic.entity.SchisandraShareDetailTag;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* 详情/标签映射表 bo转换器
*
@@ -18,5 +20,6 @@ public interface SchisandraShareDetailTagBOConverter {
SchisandraShareDetailTag convertBOToEntity(SchisandraShareDetailTagBO schisandraShareDetailTagBO);
SchisandraShareDetailTagBO convertEntityToBO(SchisandraShareDetailTag schisandraShareDetailTag);
List<SchisandraShareDetailTagBO> convertEntityToBOList(List<SchisandraShareDetailTag> schisandraShareDetailTagList);
}

View File

@@ -5,6 +5,8 @@ import com.schisandra.share.infra.basic.entity.SchisandraShareTags;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* 分享详情标签表 bo转换器
*
@@ -18,5 +20,6 @@ public interface SchisandraShareTagsBOConverter {
SchisandraShareTags convertBOToEntity(SchisandraShareTagsBO schisandraShareTagsBO);
SchisandraShareTagsBO convertEntityToBO(SchisandraShareTags schisandraShareTags);
List<SchisandraShareTagsBO> convertEntityToBOList(List<SchisandraShareTags> schisandraShareTagList);
}

View File

@@ -2,6 +2,8 @@ package com.schisandra.share.domain.service;
import com.schisandra.share.domain.bo.SchisandraShareCircleBO;
import java.util.List;
/**
* 分享圈 领域service
*

View File

@@ -2,6 +2,8 @@ package com.schisandra.share.domain.service;
import com.schisandra.share.domain.bo.SchisandraShareDetailBO;
import java.util.List;
/**
* 分享详情表 领域service
*
@@ -25,4 +27,5 @@ public interface SchisandraShareDetailDomainService {
*/
Boolean delete(SchisandraShareDetailBO schisandraShareDetailBO);
List<SchisandraShareDetailBO> list(Long circleId);
}

View File

@@ -1,6 +1,9 @@
package com.schisandra.share.domain.service;
import com.schisandra.share.domain.bo.SchisandraShareDetailTagBO;
import com.schisandra.share.infra.basic.entity.SchisandraShareDetailTag;
import java.util.List;
/**
* 详情/标签映射表 领域service
@@ -24,5 +27,4 @@ public interface SchisandraShareDetailTagDomainService {
* 删除 详情/标签映射表 信息
*/
Boolean delete(SchisandraShareDetailTagBO schisandraShareDetailTagBO);
}

View File

@@ -10,6 +10,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
/**
* 分享圈 领域service实现了

View File

@@ -1,15 +1,29 @@
package com.schisandra.share.domain.service.impl;
import com.schisandra.share.common.enums.IsDeletedFlagEnum;
import com.schisandra.share.domain.convert.SchisandraShareDetailBOConverter;
import com.schisandra.share.domain.bo.SchisandraShareDetailBO;
import com.schisandra.share.domain.bo.SchisandraShareDetailTagBO;
import com.schisandra.share.domain.bo.SchisandraShareTagsBO;
import com.schisandra.share.domain.convert.SchisandraShareDetailBOConverter;
import com.schisandra.share.domain.convert.SchisandraShareDetailTagBOConverter;
import com.schisandra.share.domain.convert.SchisandraShareTagsBOConverter;
import com.schisandra.share.domain.service.SchisandraShareDetailDomainService;
import com.schisandra.share.infra.basic.entity.SchisandraShareDetail;
import com.schisandra.share.infra.basic.entity.SchisandraShareDetailTag;
import com.schisandra.share.infra.basic.entity.SchisandraShareTags;
import com.schisandra.share.infra.basic.service.SchisandraShareDetailService;
import com.schisandra.share.infra.basic.service.SchisandraShareDetailTagService;
import com.schisandra.share.infra.basic.service.SchisandraShareTagsService;
import com.schisandra.share.infra.entity.AuthUserInfoEntity;
import com.schisandra.share.infra.rpc.UserRpc;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 分享详情表 领域service实现了
@@ -23,6 +37,14 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
@Resource
private SchisandraShareDetailService schisandraShareDetailService;
@Resource
private SchisandraShareDetailTagService schisandraShareDetailTagService;
@Resource
private SchisandraShareTagsService schisandraShareTagsService;
@Resource
UserRpc userRpc;
@Override
public Boolean add(SchisandraShareDetailBO schisandraShareDetailBO) {
@@ -45,4 +67,35 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
return schisandraShareDetailService.update(schisandraShareDetail) > 0;
}
@Transactional
@Override
public List<SchisandraShareDetailBO> list(Long circleId) {
List<SchisandraShareDetail> schisandraShareDetails = schisandraShareDetailService.queryByCircleId(circleId);
List<SchisandraShareDetailBO> shareDetailBOList = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetails);
LinkedList<SchisandraShareDetailBO> resultList = new LinkedList<>();
shareDetailBOList.forEach(shareDetailBO -> {
AuthUserInfoEntity userInfo = userRpc.getUserInfo(shareDetailBO.getUserId());
SchisandraShareDetailBO schisandraShareDetailBO = new SchisandraShareDetailBO();
schisandraShareDetailBO.setCircleId(shareDetailBO.getCircleId());
schisandraShareDetailBO.setIcon(shareDetailBO.getIcon());
schisandraShareDetailBO.setDescription(shareDetailBO.getDescription());
schisandraShareDetailBO.setTitle(shareDetailBO.getTitle());
schisandraShareDetailBO.setId(shareDetailBO.getId());
schisandraShareDetailBO.setLikesCount(shareDetailBO.getLikesCount());
schisandraShareDetailBO.setViews(shareDetailBO.getViews());
schisandraShareDetailBO.setAvatar(userInfo.getAvatar());
schisandraShareDetailBO.setNickname(userInfo.getNickName());
List<SchisandraShareDetailTag> schisandraShareDetailTags = schisandraShareDetailTagService.queryTagIdsByDetailId(shareDetailBO.getId());
List<SchisandraShareDetailTagBO> shareDetailTagBOList = SchisandraShareDetailTagBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetailTags);
List<Long> tagIds = shareDetailTagBOList.stream().map(SchisandraShareDetailTagBO::getTagId).collect(Collectors.toList());
List<SchisandraShareTags> shareTagList = schisandraShareTagsService.queryByIds(tagIds);
List<SchisandraShareTagsBO> shareTagsBOList = SchisandraShareTagsBOConverter.INSTANCE.convertEntityToBOList(shareTagList);
schisandraShareDetailBO.setTags(shareTagsBOList);
resultList.add(schisandraShareDetailBO);
});
return resultList;
}
}

View File

@@ -1,8 +1,8 @@
package com.schisandra.share.domain.service.impl;
import com.schisandra.share.common.enums.IsDeletedFlagEnum;
import com.schisandra.share.domain.convert.SchisandraShareDetailTagBOConverter;
import com.schisandra.share.domain.bo.SchisandraShareDetailTagBO;
import com.schisandra.share.domain.convert.SchisandraShareDetailTagBOConverter;
import com.schisandra.share.domain.service.SchisandraShareDetailTagDomainService;
import com.schisandra.share.infra.basic.entity.SchisandraShareDetailTag;
import com.schisandra.share.infra.basic.service.SchisandraShareDetailTagService;
@@ -10,6 +10,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* 详情/标签映射表 领域service实现了
@@ -44,5 +45,4 @@ public class SchisandraShareDetailTagDomainServiceImpl implements SchisandraShar
schisandraShareDetailTag.setIsDeleted(IsDeletedFlagEnum.DELETED.getCode());
return schisandraShareDetailTagService.update(schisandraShareDetailTag) > 0;
}
}

View File

@@ -60,6 +60,11 @@
<artifactId>schisandra-cloud-storage-share-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.schisandra</groupId>
<artifactId>schisandra-cloud-storage-auth-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>

View File

@@ -2,6 +2,8 @@ package com.schisandra.share.infra.basic.service;
import com.schisandra.share.infra.basic.entity.SchisandraShareDetail;
import java.util.List;
/**
* 分享详情表 表服务接口
*
@@ -43,4 +45,5 @@ public interface SchisandraShareDetailService {
boolean deleteById(Long id);
List<SchisandraShareDetail> queryByCircleId(Long circleId);
}

View File

@@ -2,6 +2,8 @@ package com.schisandra.share.infra.basic.service;
import com.schisandra.share.infra.basic.entity.SchisandraShareDetailTag;
import java.util.List;
/**
* 详情/标签映射表 表服务接口
*
@@ -43,4 +45,5 @@ public interface SchisandraShareDetailTagService {
boolean deleteById(Long id);
List<SchisandraShareDetailTag> queryTagIdsByDetailId(Long detailId);
}

View File

@@ -2,6 +2,8 @@ package com.schisandra.share.infra.basic.service;
import com.schisandra.share.infra.basic.entity.SchisandraShareTags;
import java.util.List;
/**
* 分享详情标签表 表服务接口
*
@@ -43,4 +45,5 @@ public interface SchisandraShareTagsService {
boolean deleteById(Long id);
List<SchisandraShareTags> queryByIds(List<Long> tagIds);
}

View File

@@ -1,11 +1,13 @@
package com.schisandra.share.infra.basic.service.impl;
import com.schisandra.share.infra.basic.entity.SchisandraShareDetail;
import com.schisandra.share.infra.basic.dao.SchisandraShareDetailDao;
import com.schisandra.share.infra.basic.entity.SchisandraShareDetail;
import com.schisandra.share.infra.basic.entity.table.SchisandraShareDetailTableDef;
import com.schisandra.share.infra.basic.service.SchisandraShareDetailService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* 分享详情表 表服务实现类
@@ -49,7 +51,7 @@ public class SchisandraShareDetailServiceImpl implements SchisandraShareDetailSe
*/
@Override
public int update(SchisandraShareDetail schisandraShareDetail) {
return this.schisandraShareDetailDao.update(schisandraShareDetail,true);
return this.schisandraShareDetailDao.update(schisandraShareDetail, true);
}
/**
@@ -63,5 +65,10 @@ public class SchisandraShareDetailServiceImpl implements SchisandraShareDetailSe
return this.schisandraShareDetailDao.deleteById(id) > 0;
}
@Override
public List<SchisandraShareDetail> queryByCircleId(Long circleId) {
return this.schisandraShareDetailDao.selectListByCondition(SchisandraShareDetailTableDef.SCHISANDRA_SHARE_DETAIL.CIRCLE_ID.eq(circleId));
}
}

View File

@@ -1,11 +1,13 @@
package com.schisandra.share.infra.basic.service.impl;
import com.schisandra.share.infra.basic.entity.SchisandraShareDetailTag;
import com.schisandra.share.infra.basic.dao.SchisandraShareDetailTagDao;
import com.schisandra.share.infra.basic.entity.SchisandraShareDetailTag;
import com.schisandra.share.infra.basic.entity.table.SchisandraShareDetailTagTableDef;
import com.schisandra.share.infra.basic.service.SchisandraShareDetailTagService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* 详情/标签映射表 表服务实现类
@@ -49,7 +51,7 @@ public class SchisandraShareDetailTagServiceImpl implements SchisandraShareDetai
*/
@Override
public int update(SchisandraShareDetailTag schisandraShareDetailTag) {
return this.schisandraShareDetailTagDao.update(schisandraShareDetailTag,true);
return this.schisandraShareDetailTagDao.update(schisandraShareDetailTag, true);
}
/**
@@ -63,5 +65,10 @@ public class SchisandraShareDetailTagServiceImpl implements SchisandraShareDetai
return this.schisandraShareDetailTagDao.deleteById(id) > 0;
}
@Override
public List<SchisandraShareDetailTag> queryTagIdsByDetailId(Long detailId) {
return this.schisandraShareDetailTagDao.selectListByCondition(SchisandraShareDetailTagTableDef.SCHISANDRA_SHARE_DETAIL_TAG.DETAIL_ID.eq(detailId));
}
}

View File

@@ -1,11 +1,12 @@
package com.schisandra.share.infra.basic.service.impl;
import com.schisandra.share.infra.basic.entity.SchisandraShareTags;
import com.schisandra.share.infra.basic.dao.SchisandraShareTagsDao;
import com.schisandra.share.infra.basic.entity.SchisandraShareTags;
import com.schisandra.share.infra.basic.service.SchisandraShareTagsService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* 分享详情标签表 表服务实现类
@@ -49,7 +50,7 @@ public class SchisandraShareTagsServiceImpl implements SchisandraShareTagsServic
*/
@Override
public int update(SchisandraShareTags schisandraShareTags) {
return this.schisandraShareTagsDao.update(schisandraShareTags,true);
return this.schisandraShareTagsDao.update(schisandraShareTags, true);
}
/**
@@ -63,5 +64,10 @@ public class SchisandraShareTagsServiceImpl implements SchisandraShareTagsServic
return this.schisandraShareTagsDao.deleteById(id) > 0;
}
@Override
public List<SchisandraShareTags> queryByIds(List<Long> tagIds) {
return this.schisandraShareTagsDao.selectListByIds(tagIds);
}
}

View File

@@ -0,0 +1,33 @@
package com.schisandra.share.infra.config;
import com.mybatisflex.core.audit.AuditManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Configuration;
/**
* @Classname MyBatisFlexConfiguration
* @BelongsProject: schisandra-cloud-storage
* @BelongsPackage: com.schisandra.oss.infra.common
* @Author: landaiqing
* @CreateTime: 2024-05-31 16:14
* @Description: Mybatis flex 配置类
* @Version: 1.0
*/
@Configuration
public class ShareMyBatisFlexConfiguration {
private static final Logger logger = LoggerFactory
.getLogger("mybatis-flex-sql");
public ShareMyBatisFlexConfiguration() {
//开启审计功能
AuditManager.setAuditEnable(true);
//设置 SQL 审计收集器
AuditManager.setMessageCollector(auditMessage ->
logger.info("{},{}ms", auditMessage.getFullSql()
, auditMessage.getElapsedTime())
);
}
}

View File

@@ -0,0 +1,74 @@
package com.schisandra.share.infra.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* dto
*
* @author landaiqing
* @since 2024-05-23 20:00:28
*/
@Data
public class AuthUserInfoEntity implements Serializable {
/**
* 用户名
*/
private String userName;
/**
* 昵称
*/
private String nickName;
/**
* 邮箱
*/
private String email;
/**
* 手机号
*/
private String phone;
/**
* 性别
*/
private String gender;
/**
* 头像
*/
private String avatar;
/**
* 状态
*/
private Integer status;
/**
* 介绍
*/
private String introduce;
/**
* 博客
*/
private String blog;
/**
* 城市
*/
private String location;
/**
* 公司
*/
private String company;
}

View File

@@ -0,0 +1,46 @@
package com.schisandra.share.infra.rpc;
import com.schisandra.auth.api.SchisandraAuthFeignService;
import com.schisandra.auth.entity.Result;
import com.schisandra.auth.entity.SchisandraAuthUserDTO;
import com.schisandra.share.infra.entity.AuthUserInfoEntity;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* @Classname UserRpc
* @BelongsProject: schisandra-cloud-storage
* @BelongsPackage: com.schisandra.share.infra.rpc
* @Author: landaiqing
* @CreateTime: 2024-07-15 09:48
* @Description: TODO
* @Version: 1.0
*/
@Component
public class UserRpc {
@Resource
private SchisandraAuthFeignService schisandraAuthFeignService;
public AuthUserInfoEntity getUserInfo(Long userId) {
Result<SchisandraAuthUserDTO> result = schisandraAuthFeignService.getUserInfo(userId);
AuthUserInfoEntity authUserInfoEntity = new AuthUserInfoEntity();
if (!result.getSuccess()) {
return authUserInfoEntity;
}
SchisandraAuthUserDTO data = result.getData();
authUserInfoEntity.setUserName(data.getUserName());
authUserInfoEntity.setNickName(data.getNickName());
authUserInfoEntity.setBlog(data.getBlog());
authUserInfoEntity.setCompany(data.getCompany());
authUserInfoEntity.setAvatar(data.getAvatar());
authUserInfoEntity.setEmail(data.getEmail());
authUserInfoEntity.setGender(data.getGender());
authUserInfoEntity.setIntroduce(data.getIntroduce());
authUserInfoEntity.setPhone(data.getPhone());
authUserInfoEntity.setStatus(data.getStatus());
return authUserInfoEntity;
}
}

View File

@@ -58,6 +58,11 @@
<artifactId>schisandra-cloud-storage-share-application-controller</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.schisandra.share</groupId>
<artifactId>schisandra-cloud-storage-share-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>

View File

@@ -3,7 +3,9 @@ package com.schisandra.share;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
* 分享微服务启动类
@@ -14,6 +16,8 @@ import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan("com.schisandra")
@MapperScan("com.schisandra.**.dao")
@EnableFeignClients(basePackages = "com.schisandra")
@EnableTransactionManagement
public class ShareApplication {
public static void main(String[] args) {
SpringApplication.run(ShareApplication.class);