parent
010cf3dc0f
commit
1c2a2ef67e
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="SqlDialectMappings">
|
||||
<file url="file://$PROJECT_DIR$/service/src/main/resources/db/luojia_channel.sql" dialect="GenericSQL" />
|
||||
<file url="file://$PROJECT_DIR$/service/src/main/resources/db/luojia_channel.sql" dialect="MySQL" />
|
||||
<file url="PROJECT" dialect="MySQL" />
|
||||
</component>
|
||||
</project>
|
@ -1,12 +0,0 @@
|
||||
package com.luojia_channel.common.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CreatePostDTO {
|
||||
private String title;
|
||||
private String content;
|
||||
private Long userId;
|
||||
private Long categoryId;
|
||||
}
|
||||
|
@ -0,0 +1,7 @@
|
||||
package com.luojia_channel.common.exception;
|
||||
|
||||
public class PostException extends BaseException{
|
||||
public PostException(String msg){
|
||||
super(500, msg);
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,64 @@
|
||||
package com.luojia_channel.modules.post.controller;
|
||||
|
||||
import com.luojia_channel.common.domain.Result;
|
||||
import com.luojia_channel.common.domain.page.PageResponse;
|
||||
import com.luojia_channel.common.utils.UserContext;
|
||||
import com.luojia_channel.modules.post.dto.req.CommentPageQueryDTO;
|
||||
import com.luojia_channel.modules.post.dto.resp.CommentInfoDTO;
|
||||
import com.luojia_channel.modules.post.entity.Comment;
|
||||
import com.luojia_channel.modules.post.service.CommentService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/comments")
|
||||
public class CommentController {
|
||||
|
||||
private final CommentService commentService;
|
||||
|
||||
@Autowired
|
||||
public CommentController(CommentService commentService) {
|
||||
this.commentService = commentService;
|
||||
}
|
||||
|
||||
// 创建评论
|
||||
@PostMapping
|
||||
public Result<Void> saveComment(@RequestBody Comment comment) {
|
||||
commentService.saveComment(comment);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
// 更新评论
|
||||
@PutMapping("/{id}")
|
||||
public Result<Void> updateComment(@PathVariable Long id, @RequestBody Comment comment) {
|
||||
Long currentUserId = UserContext.getUserId();
|
||||
commentService.updateComment(comment, currentUserId);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
// 删除评论
|
||||
@DeleteMapping("/{id}")
|
||||
public Result<Void> deleteComment(@PathVariable Long id) {
|
||||
Long currentUserId = UserContext.getUserId();
|
||||
commentService.deleteComment(id, currentUserId);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
// 根据帖子ID分页获取评论
|
||||
@GetMapping("/list")
|
||||
public Result<PageResponse<CommentInfoDTO>> getCommentsByPostId(@RequestBody CommentPageQueryDTO commentPageQueryDTO) {
|
||||
PageResponse<CommentInfoDTO> commentList = commentService.getCommentsByPostId(commentPageQueryDTO);
|
||||
return Result.success(commentList);
|
||||
}
|
||||
|
||||
// 根据帖子ID获取嵌套评论
|
||||
@GetMapping("/nested/post/{postId}")
|
||||
public Result<List<CommentInfoDTO>> getNestedCommentsByPostId(@PathVariable Long postId) {
|
||||
List<CommentInfoDTO> nestedComments = commentService.getNestedCommentsByPostId(postId);
|
||||
return Result.success(nestedComments);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.luojia_channel.modules.post.dto.req;
|
||||
|
||||
import com.luojia_channel.common.domain.page.PageRequest;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CommentPageQueryDTO extends PageRequest {
|
||||
private Integer postId;
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
package com.luojia_channel.modules.post.dto.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class PostUpdateDTO {
|
||||
private String title;
|
||||
private String content;
|
||||
private Long categoryId;
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package com.luojia_channel.modules.post.dto.resp;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class CommentInfoDTO {
|
||||
private Long id;
|
||||
private String content;
|
||||
private Long userId;
|
||||
private String postType;
|
||||
private Long postId;
|
||||
private Long parentCommentId;
|
||||
private Long topId;
|
||||
private LocalDateTime createTime;
|
||||
|
||||
private List<CommentInfoDTO> commentInfoDTOList;
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package com.luojia_channel.modules.post.dto.resp;
|
||||
|
||||
import com.luojia_channel.modules.post.entity.Comment;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PostInfoDTO {
|
||||
private Long id;
|
||||
private String image;
|
||||
private String title;
|
||||
private Integer likeCount;
|
||||
private Integer commentCount;
|
||||
private Integer favoriteCount;
|
||||
private String content;
|
||||
|
||||
private Boolean isLike;
|
||||
private Long userId;
|
||||
private String userName;
|
||||
private String userAvatar;
|
||||
|
||||
private List<Comment> commentList;
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package com.luojia_channel.modules.post.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@TableName("comment")
|
||||
public class Comment {
|
||||
private Long id;
|
||||
private String content;
|
||||
private Long userId;
|
||||
private String postType;
|
||||
private Long postId;
|
||||
private Long parentCommentId;
|
||||
private Long topId;
|
||||
private LocalDateTime createTime;
|
||||
private LocalDateTime updateTime;
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
package com.luojia_channel.modules.post.mapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.luojia_channel.modules.post.entity.Comment;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface CommentMapper extends BaseMapper<Comment> {
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package com.luojia_channel.modules.post.service;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.luojia_channel.modules.post.dto.resp.CommentInfoDTO;
|
||||
import com.luojia_channel.modules.post.entity.Comment;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public interface CommentService {
|
||||
|
||||
void saveComment(Comment comment);
|
||||
|
||||
void updateComment(Comment comment, Long userId);
|
||||
|
||||
void deleteComment(Long id, Long userId);
|
||||
|
||||
Page<CommentInfoDTO> getCommentsByPostId(Long postId, int pageNum, int pageSize);
|
||||
|
||||
List<CommentInfoDTO> getNestedCommentsByPostId(Long postId);
|
||||
}
|
@ -1,7 +1,25 @@
|
||||
package com.luojia_channel.modules.post.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.luojia_channel.common.domain.page.PageResponse;
|
||||
import com.luojia_channel.modules.post.dto.req.PostSaveDTO;
|
||||
import com.luojia_channel.modules.post.dto.req.PostPageQueryDTO;
|
||||
import com.luojia_channel.modules.post.dto.resp.PostBasicInfoDTO;
|
||||
import com.luojia_channel.modules.post.entity.Post;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
public interface PostService extends IService<Post> {
|
||||
void createPost(PostSaveDTO postSaveDTO);
|
||||
|
||||
String setCover(MultipartFile file);
|
||||
|
||||
void updatePost(PostSaveDTO postSaveDTO);
|
||||
|
||||
void deletePost(Long id);
|
||||
|
||||
Post getPostDetail(Long id);
|
||||
|
||||
PageResponse<PostBasicInfoDTO> pagePost(PostPageQueryDTO postPageQueryDTO);
|
||||
|
||||
PageResponse<PostBasicInfoDTO> pagePostOfMe(PostPageQueryDTO postPageQueryDTO);
|
||||
}
|
||||
|
@ -0,0 +1,124 @@
|
||||
package com.luojia_channel.modules.post.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.luojia_channel.common.exception.PostException;
|
||||
import com.luojia_channel.modules.post.dto.resp.CommentInfoDTO;
|
||||
import com.luojia_channel.modules.post.entity.Comment;
|
||||
import com.luojia_channel.modules.post.mapper.CommentMapper;
|
||||
import com.luojia_channel.modules.post.service.CommentService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class CommentServiceImpl extends ServiceImpl<CommentMapper, Comment> implements CommentService {
|
||||
|
||||
private CommentMapper commentMapper;
|
||||
|
||||
@Override
|
||||
public void saveComment(Comment comment) {
|
||||
comment.setCreateTime(LocalDateTime.now());
|
||||
comment.setUpdateTime(LocalDateTime.now());
|
||||
commentMapper.insert(comment);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateComment(Comment comment, Long userId) {
|
||||
validatePostOwnership(comment.getId(), userId);
|
||||
comment.setUpdateTime(LocalDateTime.now());
|
||||
if(!updateById(comment)){
|
||||
throw new PostException("更新帖子失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteComment(Long id, Long userId) {
|
||||
validatePostOwnership(id, userId);
|
||||
commentMapper.deleteById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<CommentInfoDTO> getCommentsByPostId(Long postId, int pageNum, int pageSize) {
|
||||
LambdaQueryWrapper<Comment> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(Comment::getPostId, postId)
|
||||
.isNull(Comment::getParentCommentId)
|
||||
.orderByAsc(Comment::getCreateTime);
|
||||
|
||||
Page<Comment> page = new Page<>(pageNum, pageSize);
|
||||
commentMapper.selectPage(page, queryWrapper);
|
||||
|
||||
Page<CommentInfoDTO> commentInfoDTOS = new Page<>();
|
||||
BeanUtils.copyProperties(page, commentInfoDTOS, "records");
|
||||
|
||||
List<CommentInfoDTO> records = convertToDTO(page.getRecords());
|
||||
commentInfoDTOS.setRecords(records);
|
||||
|
||||
return commentInfoDTOS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CommentInfoDTO> getNestedCommentsByPostId(Long postId) {
|
||||
LambdaQueryWrapper<Comment> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(Comment::getPostId, postId)
|
||||
.orderByAsc(Comment::getCreateTime);
|
||||
|
||||
List<Comment> comments = commentMapper.selectList(queryWrapper);
|
||||
return buildNestedComments(comments);
|
||||
}
|
||||
|
||||
private void validatePostOwnership(Long commentId, Long userId) {
|
||||
Comment comment = commentMapper.selectById(commentId);
|
||||
if (comment == null) {
|
||||
throw new PostException("评论不存在");
|
||||
}
|
||||
if (!userId.equals(comment.getUserId())) {
|
||||
throw new PostException("你无权操作他人的评论");
|
||||
}
|
||||
}
|
||||
|
||||
private List<CommentInfoDTO> convertToDTO(List<Comment> comments) {
|
||||
List<CommentInfoDTO> dtos = new ArrayList<>();
|
||||
for (Comment comment : comments) {
|
||||
CommentInfoDTO dto = new CommentInfoDTO();
|
||||
BeanUtils.copyProperties(comment, dto);
|
||||
dtos.add(dto);
|
||||
}
|
||||
return dtos;
|
||||
}
|
||||
|
||||
private List<CommentInfoDTO> buildNestedComments(List<Comment> comments) {
|
||||
Map<Long, CommentInfoDTO> map = new HashMap<>();
|
||||
List<CommentInfoDTO> rootComments = new ArrayList<>();
|
||||
|
||||
for (Comment comment : comments) {
|
||||
CommentInfoDTO dto = new CommentInfoDTO();
|
||||
BeanUtils.copyProperties(comment, dto);
|
||||
|
||||
map.put(comment.getId(), dto);
|
||||
|
||||
if (comment.getParentCommentId() == null) {
|
||||
rootComments.add(dto);
|
||||
} else {
|
||||
CommentInfoDTO parentDto = map.get(comment.getParentCommentId());
|
||||
if (parentDto != null && parentDto.getCommentInfoDTOList() == null) {
|
||||
parentDto.setCommentInfoDTOList(new ArrayList<>());
|
||||
}
|
||||
if (parentDto != null) {
|
||||
parentDto.getCommentInfoDTOList().add(dto);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return rootComments;
|
||||
}
|
||||
}
|
@ -1,25 +1,102 @@
|
||||
package com.luojia_channel.modules.post.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.luojia_channel.modules.file.mapper.LjFileMapper;
|
||||
import com.luojia_channel.common.domain.page.PageResponse;
|
||||
import com.luojia_channel.common.exception.PostException;
|
||||
import com.luojia_channel.common.utils.PageUtil;
|
||||
import com.luojia_channel.common.utils.RedisUtil;
|
||||
import com.luojia_channel.common.utils.UserContext;
|
||||
import com.luojia_channel.modules.file.service.impl.FileServiceImpl;
|
||||
import com.luojia_channel.modules.post.dto.req.PostSaveDTO;
|
||||
import com.luojia_channel.modules.post.dto.req.PostPageQueryDTO;
|
||||
import com.luojia_channel.modules.post.dto.resp.PostBasicInfoDTO;
|
||||
import com.luojia_channel.modules.post.entity.Post;
|
||||
import com.luojia_channel.modules.post.mapper.PostMapper;
|
||||
import com.luojia_channel.modules.post.service.PostService;
|
||||
import com.luojia_channel.modules.post.utils.ValidatePostUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements PostService {
|
||||
|
||||
private final PostMapper postMapper;
|
||||
private final LjFileMapper fileMapper;
|
||||
private String getUrlById(String id){
|
||||
return fileMapper.selectById(id).getFileUrl();
|
||||
private final FileServiceImpl fileService;
|
||||
private final ValidatePostUtil validatePostUtil;
|
||||
private final RedisUtil redisUtil;
|
||||
|
||||
@Override
|
||||
public void createPost(PostSaveDTO postSaveDTO) {
|
||||
validatePostUtil.validatePost(postSaveDTO);
|
||||
Long userId = UserContext.getUserId();
|
||||
Post post = BeanUtil.copyProperties(postSaveDTO, Post.class);
|
||||
post.setUserId(userId);
|
||||
if(!save(post)){
|
||||
throw new PostException("创建帖子失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String setCover(MultipartFile file) {
|
||||
return fileService.uploadFile(file);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updatePost(PostSaveDTO postSaveDTO) {
|
||||
validatePostUtil.validatePost(postSaveDTO);
|
||||
Post post = BeanUtil.copyProperties(postSaveDTO, Post.class);
|
||||
post.setUpdateTime(LocalDateTime.now());
|
||||
if(!updateById(post)){
|
||||
throw new PostException("更新帖子失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deletePost(Long id) {
|
||||
validatePostUtil.validatePostOwnership(id);
|
||||
int delete = postMapper.deleteById(id);
|
||||
if(delete <= 0){
|
||||
throw new PostException("删除帖子失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Post getPostDetail(Long id) {
|
||||
return redisUtil.safeGet("post:detail" + id.toString(), Post.class,
|
||||
() -> {
|
||||
Post post = getById(id);
|
||||
if(post == null){
|
||||
throw new PostException("帖子不存在或被删除");
|
||||
}
|
||||
return post;
|
||||
}, 10, TimeUnit.MINUTES);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<PostBasicInfoDTO> pagePost(PostPageQueryDTO postPageQueryDTO) {
|
||||
// TODO 目前分页查询直接按照创建时间顺序排序了,未来考虑加入多种规则
|
||||
LambdaQueryWrapper<Post> queryWrapper = Wrappers.lambdaQuery(Post.class)
|
||||
.orderByDesc(Post::getCreateTime);
|
||||
IPage<Post> postPage = postMapper.selectPage(PageUtil.convert(postPageQueryDTO), queryWrapper);
|
||||
return PageUtil.convert(postPage, PostBasicInfoDTO.class);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public PageResponse<PostBasicInfoDTO> pagePostOfMe(PostPageQueryDTO postPageQueryDTO) {
|
||||
Long userId = UserContext.getUserId();
|
||||
LambdaQueryWrapper<Post> queryWrapper = Wrappers.lambdaQuery(Post.class)
|
||||
.eq(Post::getUserId, userId)
|
||||
.orderByDesc(Post::getCreateTime);
|
||||
IPage<Post> postPage = postMapper.selectPage(PageUtil.convert(postPageQueryDTO), queryWrapper);
|
||||
return PageUtil.convert(postPage, PostBasicInfoDTO.class);
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,49 @@
|
||||
package com.luojia_channel.modules.post.utils;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.luojia_channel.common.exception.PostException;
|
||||
import com.luojia_channel.common.utils.UserContext;
|
||||
import com.luojia_channel.modules.post.dto.req.PostSaveDTO;
|
||||
import com.luojia_channel.modules.post.entity.Post;
|
||||
import com.luojia_channel.modules.post.mapper.PostMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class ValidatePostUtil {
|
||||
|
||||
private final PostMapper postMapper;
|
||||
|
||||
public void validatePost(PostSaveDTO postSaveDTO) {
|
||||
// 非空字段检验
|
||||
if (StrUtil.isBlank(postSaveDTO.getTitle())) {
|
||||
throw new PostException("标题不能为空");
|
||||
}
|
||||
if (StrUtil.isBlank(postSaveDTO.getImage())) {
|
||||
throw new PostException("未设置图片");
|
||||
}
|
||||
if (StrUtil.isBlank(postSaveDTO.getContent())) {
|
||||
throw new PostException("内容不能为空");
|
||||
}
|
||||
if (postSaveDTO.getCategoryId() == null || postSaveDTO.getCategoryId() <= 0) {
|
||||
throw new PostException("分区不合法");
|
||||
}
|
||||
}
|
||||
|
||||
public void validatePostOwnership(Long id){
|
||||
Long userId = UserContext.getUserId();
|
||||
Post post = postMapper.selectById(id);
|
||||
if(post == null){
|
||||
throw new PostException("帖子不存在");
|
||||
}
|
||||
if(!userId.equals(post.getUserId())){
|
||||
throw new PostException("你无权操作他人的帖子");
|
||||
}
|
||||
}
|
||||
|
||||
public void AIValidate(PostSaveDTO postSaveDTO){
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,19 +1,36 @@
|
||||
# 本地开发环境
|
||||
# lj:
|
||||
# db:
|
||||
# host: localhost
|
||||
# password: 123456
|
||||
# redis:
|
||||
# host: localhost
|
||||
# port: 6379
|
||||
# password: 123456
|
||||
# rabbitmq:
|
||||
# host: localhost
|
||||
# port: 15672
|
||||
# username: root
|
||||
# password: 123456
|
||||
# minio:
|
||||
# endpoint: http://localhost:9000
|
||||
# accessKey: minioadmin
|
||||
# secretKey: minioadmin
|
||||
|
||||
lj:
|
||||
db:
|
||||
host: localhost
|
||||
password: 123456
|
||||
host: 192.168.59.129
|
||||
password: Forely123!
|
||||
redis:
|
||||
host: localhost
|
||||
host: 192.168.59.129
|
||||
port: 6379
|
||||
password: 123456
|
||||
password: Forely123!
|
||||
rabbitmq:
|
||||
host: localhost
|
||||
port: 15672
|
||||
username: root
|
||||
password: 123456
|
||||
host: 192.168.59.129
|
||||
port: 5672
|
||||
username: admin
|
||||
password: Forely123!
|
||||
minio:
|
||||
endpoint: http://localhost:9000
|
||||
accessKey: minioadmin
|
||||
secretKey: minioadmin
|
||||
|
||||
endpoint: http://192.168.59.129:9000
|
||||
accessKey: forely
|
||||
secretKey: Forely123!
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue