├── .DS_Store
├── doc
└── swagger.png
├── src
├── .DS_Store
├── test
│ ├── .DS_Store
│ └── java
│ │ └── com
│ │ └── xiaobaitiao
│ │ └── springbootinit
│ │ ├── MainApplicationTests.java
│ │ ├── manager
│ │ └── CosManagerTest.java
│ │ ├── mapper
│ │ ├── PostMapperTest.java
│ │ └── PostFavourMapperTest.java
│ │ ├── service
│ │ ├── PostThumbServiceTest.java
│ │ ├── PostServiceTest.java
│ │ ├── UserServiceTest.java
│ │ └── PostFavourServiceTest.java
│ │ └── utils
│ │ └── EasyExcelTest.java
└── main
│ ├── resources
│ ├── test_excel.xlsx
│ ├── banner.txt
│ ├── application-test.yml
│ ├── templates
│ │ └── model
│ │ │ ├── TemplateAddRequest.java.ftl
│ │ │ ├── TemplateEditRequest.java.ftl
│ │ │ ├── TemplateUpdateRequest.java.ftl
│ │ │ └── TemplateQueryRequest.java.ftl
│ ├── mapper
│ │ ├── PostThumbMapper.xml
│ │ ├── SpotScoreMapper.xml
│ │ ├── NoticeMapper.xml
│ │ ├── UserAiMessageMapper.xml
│ │ ├── BarrageMapper.xml
│ │ ├── UserSpotFavoritesMapper.xml
│ │ ├── SpotRouteMapper.xml
│ │ ├── CommentMapper.xml
│ │ ├── PostFavourMapper.xml
│ │ ├── SpotOrderMapper.xml
│ │ └── PostMapper.xml
│ ├── META-INF
│ │ └── additional-spring-configuration-metadata.json
│ └── application-prod.yml
│ └── java
│ └── com
│ └── xiaobaitiao
│ └── springbootinit
│ ├── constant
│ ├── SpotScoreConstant.java
│ ├── FileConstant.java
│ ├── QuestionConstant.java
│ ├── CommonConstant.java
│ └── UserConstant.java
│ ├── wxmp
│ ├── WxMpConstant.java
│ └── handler
│ │ ├── EventHandler.java
│ │ ├── MessageHandler.java
│ │ └── SubscribeHandler.java
│ ├── mapper
│ ├── PostThumbMapper.java
│ ├── UserMapper.java
│ ├── NoticeMapper.java
│ ├── CommentMapper.java
│ ├── SpotRouteMapper.java
│ ├── SpotOrderMapper.java
│ ├── BarrageMapper.java
│ ├── UserAiMessageMapper.java
│ ├── UserSpotFavoritesMapper.java
│ ├── PostMapper.java
│ ├── SpotMapper.java
│ ├── SpotFeeMapper.java
│ ├── SpotScoreMapper.java
│ └── PostFavourMapper.java
│ ├── common
│ ├── DeleteRequest.java
│ ├── PageRequest.java
│ ├── ErrorCode.java
│ ├── JwtProperties.java
│ ├── BaseResponse.java
│ └── ResultUtils.java
│ ├── manager
│ ├── constant
│ │ ├── SparkMessageRole.java
│ │ └── SparkApiVersion.java
│ ├── model
│ │ ├── response
│ │ │ ├── SparkResponseUsage.java
│ │ │ ├── SparkResponse.java
│ │ │ ├── SparkResponsePayload.java
│ │ │ ├── SparkResponseChoices.java
│ │ │ ├── SparkResponseHeader.java
│ │ │ └── SparkResponseFunctionCall.java
│ │ └── request
│ │ │ ├── SparkRequestParameter.java
│ │ │ ├── SparkRequestMessage.java
│ │ │ ├── function
│ │ │ ├── SparkRequestFunctions.java
│ │ │ └── SparkRequestFunctionProperty.java
│ │ │ ├── SparkRequestHeader.java
│ │ │ └── SparkRequestPayload.java
│ ├── exception
│ │ └── SparkException.java
│ └── CosManager.java
│ ├── model
│ ├── dto
│ │ ├── file
│ │ │ └── UploadFileRequest.java
│ │ ├── postthumb
│ │ │ └── PostThumbAddRequest.java
│ │ ├── postfavour
│ │ │ ├── PostFavourAddRequest.java
│ │ │ └── PostFavourQueryRequest.java
│ │ ├── user
│ │ │ ├── UserLoginRequest.java
│ │ │ ├── UserRegisterRequest.java
│ │ │ ├── UserUpdateMyRequest.java
│ │ │ ├── UserAddRequest.java
│ │ │ ├── UserUpdateRequest.java
│ │ │ └── UserQueryRequest.java
│ │ ├── comment
│ │ │ ├── CommentEditRequest.java
│ │ │ ├── CommentAddRequest.java
│ │ │ ├── CommentUpdateRequest.java
│ │ │ └── CommentQueryRequest.java
│ │ ├── post
│ │ │ ├── PostAddRequest.java
│ │ │ ├── PostEditRequest.java
│ │ │ ├── PostUpdateRequest.java
│ │ │ └── PostQueryRequest.java
│ │ ├── spotScore
│ │ │ ├── SpotScoreUpdateRequest.java
│ │ │ ├── SpotScoreQueryRequest.java
│ │ │ ├── SpotScoreAddRequest.java
│ │ │ └── SpotScoreEditRequest.java
│ │ ├── userAiMessage
│ │ │ ├── UserAiMessageAddRequest.java
│ │ │ ├── UserAiMessageEditRequest.java
│ │ │ ├── UserAiMessageUpdateRequest.java
│ │ │ └── UserAiMessageQueryRequest.java
│ │ ├── barrage
│ │ │ ├── BarrageUpdateRequest.java
│ │ │ ├── BarrageAddRequest.java
│ │ │ ├── BarrageEditRequest.java
│ │ │ └── BarrageQueryRequest.java
│ │ ├── spotRoute
│ │ │ ├── SpotRouteUpdateRequest.java
│ │ │ ├── SpotRouteQueryRequest.java
│ │ │ ├── SpotRouteAddRequest.java
│ │ │ └── SpotRouteEditRequest.java
│ │ ├── notice
│ │ │ ├── NoticeAddRequest.java
│ │ │ ├── NoticeEditRequest.java
│ │ │ ├── NoticeUpdateRequest.java
│ │ │ └── NoticeQueryRequest.java
│ │ ├── userSpotFavorites
│ │ │ ├── UserSpotFavoritesUpdateRequest.java
│ │ │ ├── UserSpotFavoritesQueryRequest.java
│ │ │ ├── UserSpotFavoritesAddRequest.java
│ │ │ └── UserSpotFavoritesEditRequest.java
│ │ ├── spot
│ │ │ ├── SpotAddRequest.java
│ │ │ ├── SpotUpdateRequest.java
│ │ │ └── SpotEditRequest.java
│ │ ├── spotFee
│ │ │ ├── SpotFeeUpdateRequest.java
│ │ │ ├── SpotFeeQueryRequest.java
│ │ │ ├── BuySpotFeeRequest.java
│ │ │ ├── SpotFeeAddRequest.java
│ │ │ └── SpotFeeEditRequest.java
│ │ └── spotOrder
│ │ │ ├── SpotOrderUpdateRequest.java
│ │ │ ├── SpotOrderAddRequest.java
│ │ │ ├── SpotOrderQueryRequest.java
│ │ │ └── SpotOrderEditRequest.java
│ ├── vo
│ │ ├── MyCommentVO.java
│ │ ├── LoginUserVO.java
│ │ └── UserVO.java
│ ├── entity
│ │ ├── PostThumb.java
│ │ ├── PostFavour.java
│ │ ├── Comment.java
│ │ ├── Barrage.java
│ │ ├── SpotScore.java
│ │ ├── Notice.java
│ │ ├── UserAiMessage.java
│ │ ├── SpotRoute.java
│ │ ├── UserSpotFavorites.java
│ │ ├── SpotOrder.java
│ │ └── SpotFee.java
│ └── enums
│ │ ├── FileUploadBizEnum.java
│ │ └── UserRoleEnum.java
│ ├── esdao
│ └── PostEsDao.java
│ ├── annotation
│ └── AuthCheck.java
│ ├── utils
│ ├── SqlUtils.java
│ └── PositionUtil.java
│ ├── service
│ ├── PostThumbService.java
│ ├── PostFavourService.java
│ ├── impl
│ │ └── CaptchaCacheServiceRedisImpl.java
│ ├── NoticeService.java
│ ├── BarrageService.java
│ └── SpotService.java
│ ├── config
│ ├── CaptchaConfig.java
│ ├── CorsConfig.java
│ ├── AuthInterceptorConfig.java
│ ├── MyBatisPlusConfig.java
│ ├── JsonConfig.java
│ ├── ThreadPoolExecutorConfig.java
│ ├── RedisConfig.java
│ ├── CosClientConfig.java
│ └── WxOpenConfig.java
│ ├── exception
│ ├── BusinessException.java
│ ├── GlobalExceptionHandler.java
│ └── ThrowUtils.java
│ └── MainApplication.java
├── .mvn
└── wrapper
│ └── maven-wrapper.properties
├── Dockerfile
├── generator
├── model
│ └── dto
│ │ ├── SpotAddRequest.java
│ │ ├── SpotFeeAddRequest.java
│ │ ├── SpotOrderAddRequest.java
│ │ ├── SpotRouteAddRequest.java
│ │ ├── SpotScoreAddRequest.java
│ │ ├── UserSpotFavoritesAddRequest.java
│ │ ├── SpotEditRequest.java
│ │ ├── SpotUpdateRequest.java
│ │ ├── SpotFeeEditRequest.java
│ │ ├── SpotFeeUpdateRequest.java
│ │ ├── SpotOrderEditRequest.java
│ │ ├── SpotRouteEditRequest.java
│ │ ├── SpotScoreEditRequest.java
│ │ ├── SpotOrderUpdateRequest.java
│ │ ├── SpotRouteUpdateRequest.java
│ │ ├── SpotScoreUpdateRequest.java
│ │ ├── UserSpotFavoritesEditRequest.java
│ │ ├── UserSpotFavoritesUpdateRequest.java
│ │ ├── SpotQueryRequest.java
│ │ ├── SpotFeeQueryRequest.java
│ │ ├── SpotOrderQueryRequest.java
│ │ ├── SpotRouteQueryRequest.java
│ │ ├── SpotScoreQueryRequest.java
│ │ └── UserSpotFavoritesQueryRequest.java
└── service
│ ├── SpotService.java
│ ├── SpotFeeService.java
│ ├── SpotOrderService.java
│ ├── SpotRouteService.java
│ └── SpotScoreService.java
└── sql
└── post_es_mapping.json
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luoye6/vue3_tourism_backend/HEAD/.DS_Store
--------------------------------------------------------------------------------
/doc/swagger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luoye6/vue3_tourism_backend/HEAD/doc/swagger.png
--------------------------------------------------------------------------------
/src/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luoye6/vue3_tourism_backend/HEAD/src/.DS_Store
--------------------------------------------------------------------------------
/src/test/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luoye6/vue3_tourism_backend/HEAD/src/test/.DS_Store
--------------------------------------------------------------------------------
/src/main/resources/test_excel.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luoye6/vue3_tourism_backend/HEAD/src/main/resources/test_excel.xlsx
--------------------------------------------------------------------------------
/src/main/resources/banner.txt:
--------------------------------------------------------------------------------
1 | by 程序员小白条
2 | GitEE: https://gitee.com/falle22222n-leaves
3 | GitHub: https://github.com/luoye6
4 | 个人博客: https://luoye6.github.io/
5 | Knife4j 在线接口文档调用地址(注意全局参数加 Token 后调用):http://localhost:8102/api/doc.html#/home
--------------------------------------------------------------------------------
/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/constant/SpotScoreConstant.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.constant;
2 |
3 | /**
4 | * @author 程序员小白条
5 | * @date 2025/2/26 13:57
6 | * @gitee https://gitee.com/falle22222n-leaves/vue_-book-manage-system
7 | */
8 | public interface SpotScoreConstant {
9 | /**
10 | * 景点评分
11 | */
12 | String SPOT_SCORE = "12345";
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/wxmp/WxMpConstant.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.wxmp;
2 |
3 | /**
4 | * 微信公众号相关常量
5 | *
6 | * @author 程序员小白条
7 | * @from 个人博客
8 | **/
9 | public class WxMpConstant {
10 |
11 | /**
12 | * 点击菜单 key
13 | */
14 | public static final String CLICK_MENU_KEY = "CLICK_MENU_KEY";
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/constant/FileConstant.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.constant;
2 |
3 | /**
4 | * 文件常量
5 | *
6 | * @author 程序员小白条
7 | * @from 个人博客
8 | */
9 | public interface FileConstant {
10 |
11 | /**
12 | * COS 访问地址
13 | * todo 需替换配置
14 | */
15 | String COS_HOST = "https://xiaobaitiao.icu";
16 | }
17 |
--------------------------------------------------------------------------------
/src/test/java/com/xiaobaitiao/springbootinit/MainApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | /**
7 | * 主类测试
8 | *
9 | * @author 程序员小白条
10 | * @from 个人博客
11 | */
12 | @SpringBootTest
13 | class MainApplicationTests {
14 |
15 | @Test
16 | void contextLoads() {
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | # Docker 镜像构建
2 | # @author 程序员小白条
3 | # @from 个人博客
4 | FROM maven:3.8.1-jdk-8-slim as builder
5 |
6 | # Copy local code to the container image.
7 | WORKDIR /app
8 | COPY pom.xml .
9 | COPY src ./src
10 |
11 | # Build a release artifact.
12 | RUN mvn package -DskipTests
13 |
14 | # Run the web service on container startup.
15 | CMD ["java","-jar","/app/target/springboot-init-0.0.1-SNAPSHOT.jar","--spring.profiles.active=prod"]
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/mapper/PostThumbMapper.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.mapper;
2 |
3 | import com.xiaobaitiao.springbootinit.model.entity.PostThumb;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 |
6 | /**
7 | * 帖子点赞数据库操作
8 | *
9 | * @author 程序员小白条
10 | * @from 个人博客
11 | */
12 | public interface PostThumbMapper extends BaseMapper {
13 |
14 | }
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/mapper/UserMapper.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.xiaobaitiao.springbootinit.model.entity.User;
5 |
6 | /**
7 | * @author zhao9
8 | * @description 针对表【user(用户)】的数据库操作Mapper
9 | * @createDate 2025-01-09 13:13:26
10 | * @Entity generator.domain.User
11 | */
12 | public interface UserMapper extends BaseMapper {
13 |
14 | }
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/common/DeleteRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.common;
2 |
3 | import java.io.Serializable;
4 | import lombok.Data;
5 |
6 | /**
7 | * 删除请求
8 | *
9 | * @author 程序员小白条
10 | * @from 个人博客
11 | */
12 | @Data
13 | public class DeleteRequest implements Serializable {
14 |
15 | /**
16 | * id
17 | */
18 | private Long id;
19 |
20 | private static final long serialVersionUID = 1L;
21 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/manager/constant/SparkMessageRole.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.manager.constant;
2 |
3 | /**
4 | * 消息角色常量
5 | *
6 | * @author briqt
7 | */
8 | public interface SparkMessageRole {
9 |
10 | /**
11 | * 用户
12 | */
13 | String USER = "user";
14 |
15 | /**
16 | * 机器人助手
17 | */
18 | String ASSISTANT = "assistant";
19 |
20 | /**
21 | * 系统指令
22 | */
23 | String SYSTEM = "system";
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/mapper/NoticeMapper.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.xiaobaitiao.springbootinit.model.entity.Notice;
5 |
6 | /**
7 | * @author zhao9
8 | * @description 针对表【notice】的数据库操作Mapper
9 | * @createDate 2025-01-25 15:44:30
10 | * @Entity generator.domain.Notice
11 | */
12 | public interface NoticeMapper extends BaseMapper {
13 |
14 | }
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/mapper/CommentMapper.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.xiaobaitiao.springbootinit.model.entity.Comment;
5 |
6 | /**
7 | * @author 程序员小白条
8 | * @description 针对表【comment】的数据库操作Mapper
9 | * @createDate 2024-12-02 10:41:09
10 | * @Entity com.yupi.mianshiya.model.entity.Comment
11 | */
12 | public interface CommentMapper extends BaseMapper {
13 |
14 | }
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/mapper/SpotRouteMapper.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.xiaobaitiao.springbootinit.model.entity.SpotRoute;
5 |
6 | /**
7 | * @author zhao9
8 | * @description 针对表【spot_route】的数据库操作Mapper
9 | * @createDate 2025-02-24 19:08:03
10 | * @Entity generator.domain.SpotRoute
11 | */
12 | public interface SpotRouteMapper extends BaseMapper {
13 |
14 | }
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/mapper/SpotOrderMapper.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.mapper;
2 |
3 |
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import com.xiaobaitiao.springbootinit.model.entity.SpotOrder;
6 |
7 | /**
8 | * @author zhao9
9 | * @description 针对表【spot_order】的数据库操作Mapper
10 | * @createDate 2025-02-27 14:21:32
11 | * @Entity generator.domain.SpotOrder
12 | */
13 | public interface SpotOrderMapper extends BaseMapper {
14 |
15 | }
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/file/UploadFileRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.file;
2 |
3 | import java.io.Serializable;
4 | import lombok.Data;
5 |
6 | /**
7 | * 文件上传请求
8 | *
9 | * @author 程序员小白条
10 | * @from 个人博客
11 | */
12 | @Data
13 | public class UploadFileRequest implements Serializable {
14 |
15 | /**
16 | * 业务
17 | */
18 | private String biz;
19 |
20 | private static final long serialVersionUID = 1L;
21 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/mapper/BarrageMapper.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.mapper;
2 |
3 | import com.xiaobaitiao.springbootinit.model.entity.Barrage;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 |
6 | /**
7 | * @author zhao9
8 | * @description 针对表【barrage】的数据库操作Mapper
9 | * @createDate 2025-01-30 12:10:23
10 | * @Entity com.xiaobaitiao.springbootinit.model.entity.Barrage
11 | */
12 | public interface BarrageMapper extends BaseMapper {
13 |
14 | }
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/mapper/UserAiMessageMapper.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.xiaobaitiao.springbootinit.model.entity.UserAiMessage;
5 |
6 | /**
7 | * @author zhao9
8 | * @description 针对表【user_ai_message】的数据库操作Mapper
9 | * @createDate 2025-02-07 16:02:58
10 | * @Entity generator.domain.UserAiMessage
11 | */
12 | public interface UserAiMessageMapper extends BaseMapper {
13 |
14 | }
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/postthumb/PostThumbAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.postthumb;
2 |
3 | import java.io.Serializable;
4 | import lombok.Data;
5 |
6 | /**
7 | * 帖子点赞请求
8 | *
9 | * @author 程序员小白条
10 | * @from 个人博客
11 | */
12 | @Data
13 | public class PostThumbAddRequest implements Serializable {
14 |
15 | /**
16 | * 帖子 id
17 | */
18 | private Long postId;
19 |
20 | private static final long serialVersionUID = 1L;
21 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/esdao/PostEsDao.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.esdao;
2 |
3 | import com.xiaobaitiao.springbootinit.model.dto.post.PostEsDTO;
4 | import java.util.List;
5 | import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
6 |
7 | /**
8 | * 帖子 ES 操作
9 | *
10 | * @author 程序员小白条
11 | * @from 个人博客
12 | */
13 | public interface PostEsDao extends ElasticsearchRepository {
14 |
15 | List findByUserId(Long userId);
16 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/postfavour/PostFavourAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.postfavour;
2 |
3 | import java.io.Serializable;
4 | import lombok.Data;
5 |
6 | /**
7 | * 帖子收藏 / 取消收藏请求
8 | *
9 | * @author 程序员小白条
10 | * @from 个人博客
11 | */
12 | @Data
13 | public class PostFavourAddRequest implements Serializable {
14 |
15 | /**
16 | * 帖子 id
17 | */
18 | private Long postId;
19 |
20 | private static final long serialVersionUID = 1L;
21 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/user/UserLoginRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.user;
2 |
3 | import java.io.Serializable;
4 | import lombok.Data;
5 |
6 | /**
7 | * 用户登录请求
8 | *
9 | * @author 程序员小白条
10 | * @from 个人博客
11 | */
12 | @Data
13 | public class UserLoginRequest implements Serializable {
14 |
15 | private static final long serialVersionUID = 3191241716373120793L;
16 |
17 | private String userAccount;
18 |
19 | private String userPassword;
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/mapper/UserSpotFavoritesMapper.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.xiaobaitiao.springbootinit.model.entity.UserSpotFavorites;
5 |
6 | /**
7 | * @author zhao9
8 | * @description 针对表【user_spot_favorites】的数据库操作Mapper
9 | * @createDate 2025-02-25 14:33:42
10 | * @Entity generator.domain.UserSpotFavorites
11 | */
12 | public interface UserSpotFavoritesMapper extends BaseMapper {
13 |
14 | }
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/constant/QuestionConstant.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.constant;
2 |
3 | /**
4 | * @author 程序员小白条
5 | * @date 2025/1/31 14:49
6 | * @gitee https://gitee.com/falle22222n-leaves/vue_-book-manage-system
7 | */
8 | public interface QuestionConstant {
9 | /**
10 | * 简单
11 | */
12 | String QUESTION_DIFFICULTY_EASY = "easy";
13 |
14 | /**
15 | * 中等
16 | */
17 | String QUESTION_DIFFICULTY_MEDIUM = "medium";
18 |
19 | /**
20 | * 困难
21 | */
22 | String QUESTION_DIFFICULTY_HARD = "hard";
23 | }
24 |
--------------------------------------------------------------------------------
/src/test/java/com/xiaobaitiao/springbootinit/manager/CosManagerTest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.manager;
2 |
3 | import javax.annotation.Resource;
4 | import org.junit.jupiter.api.Test;
5 | import org.springframework.boot.test.context.SpringBootTest;
6 |
7 | /**
8 | * Cos 操作测试
9 | *
10 | * @author 程序员小白条
11 | * @from 个人博客
12 | */
13 | @SpringBootTest
14 | class CosManagerTest {
15 |
16 | @Resource
17 | private CosManager cosManager;
18 |
19 | @Test
20 | void putObject() {
21 | cosManager.putObject("test", "test.json");
22 | }
23 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/comment/CommentEditRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.comment;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 编辑请求
9 | *
10 | * @author 码羊
11 | */
12 | @Data
13 | public class CommentEditRequest implements Serializable {
14 |
15 | /**
16 | * 评论 ID
17 | */
18 | private Long id;
19 |
20 |
21 | /**
22 | * 评论内容
23 | */
24 | private String content;
25 |
26 |
27 |
28 | private static final long serialVersionUID = 1L;
29 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/mapper/PostMapper.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.xiaobaitiao.springbootinit.model.entity.Post;
5 | import java.util.Date;
6 | import java.util.List;
7 |
8 | /**
9 | * 帖子数据库操作
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | public interface PostMapper extends BaseMapper {
15 |
16 | /**
17 | * 查询帖子列表(包括已被删除的数据)
18 | */
19 | List listPostWithDelete(Date minUpdateTime);
20 |
21 | }
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/manager/model/response/SparkResponseUsage.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.manager.model.response;
2 |
3 | import java.io.Serializable;
4 |
5 | /**
6 | * $.payload.usage
7 | *
8 | * @author briqt
9 | */
10 | public class SparkResponseUsage implements Serializable {
11 | private static final long serialVersionUID = 2181817132625461079L;
12 |
13 | private SparkTextUsage text;
14 |
15 | public SparkTextUsage getText() {
16 | return text;
17 | }
18 |
19 | public void setText(SparkTextUsage text) {
20 | this.text = text;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/constant/CommonConstant.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.constant;
2 |
3 | /**
4 | * 通用常量
5 | *
6 | * @author 程序员小白条
7 | * @from 个人博客
8 | */
9 | public interface CommonConstant {
10 |
11 | /**
12 | * 升序
13 | */
14 | String SORT_ORDER_ASC = "ascend";
15 |
16 | /**
17 | * 降序
18 | */
19 | String SORT_ORDER_DESC = " descend";
20 | /**
21 | * 预检请求
22 | */
23 | String OPTIONS = "OPTIONS";
24 | /**
25 | * 无敌令牌(仅用于测试接口文档)
26 | */
27 | String INVINCIBLE_TOKEN = "InvincibleToken";
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/user/UserRegisterRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.user;
2 |
3 | import java.io.Serializable;
4 | import lombok.Data;
5 |
6 | /**
7 | * 用户注册请求体
8 | *
9 | * @author 程序员小白条
10 | * @from 个人博客
11 | */
12 | @Data
13 | public class UserRegisterRequest implements Serializable {
14 |
15 | private static final long serialVersionUID = 3191241716373120793L;
16 |
17 | private String userAccount;
18 |
19 | private String userPassword;
20 |
21 | private String checkPassword;
22 |
23 | // private String captchaVerification;
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/annotation/AuthCheck.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.annotation;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | /**
9 | * 权限校验
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Target(ElementType.METHOD)
15 | @Retention(RetentionPolicy.RUNTIME)
16 | public @interface AuthCheck {
17 |
18 | /**
19 | * 必须有某个角色
20 | *
21 | * @return
22 | */
23 | String mustRole() default "";
24 |
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/src/main/resources/application-test.yml:
--------------------------------------------------------------------------------
1 | # 测试配置文件
2 | # @author 程序员小白条
3 | # @from 个人博客
4 | server:
5 | port: 8101
6 | spring:
7 | # 数据库配置
8 | # todo 需替换配置
9 | datasource:
10 | driver-class-name: com.mysql.cj.jdbc.Driver
11 | url: jdbc:mysql://localhost:3306/mianshi
12 | username: root
13 | password: 123456
14 | # Redis 配置
15 | # todo 需替换配置
16 | redis:
17 | database: 1
18 | host: localhost
19 | port: 6379
20 | timeout: 5000
21 | password: 123456
22 | # Elasticsearch 配置
23 | # todo 需替换配置
24 | elasticsearch:
25 | uris: http://localhost:9200
26 | username: root
27 | password: 123456
--------------------------------------------------------------------------------
/generator/model/dto/SpotAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spot;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 创建景点表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotAddRequest implements Serializable {
16 |
17 | /**
18 | * 标题
19 | */
20 | private String title;
21 |
22 | /**
23 | * 内容
24 | */
25 | private String content;
26 |
27 | /**
28 | * 标签列表
29 | */
30 | private List tags;
31 |
32 | private static final long serialVersionUID = 1L;
33 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/constant/UserConstant.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.constant;
2 |
3 | /**
4 | * 用户常量
5 | *
6 | * @author 程序员小白条
7 | * @from 个人博客
8 | */
9 | public interface UserConstant {
10 |
11 | /**
12 | * 用户登录态键
13 | */
14 | String USER_LOGIN_STATE = "user_login";
15 |
16 | // region 权限
17 |
18 | /**
19 | * 默认角色
20 | */
21 | String DEFAULT_ROLE = "user";
22 |
23 | /**
24 | * 管理员角色
25 | */
26 | String ADMIN_ROLE = "admin";
27 |
28 | /**
29 | * 被封号
30 | */
31 | String BAN_ROLE = "ban";
32 |
33 | // endregion
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/utils/SqlUtils.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.utils;
2 |
3 | import org.apache.commons.lang3.StringUtils;
4 |
5 | /**
6 | * SQL 工具
7 | *
8 | * @author 程序员小白条
9 | * @from 个人博客
10 | */
11 | public class SqlUtils {
12 |
13 | /**
14 | * 校验排序字段是否合法(防止 SQL 注入)
15 | *
16 | * @param sortField
17 | * @return
18 | */
19 | public static boolean validSortField(String sortField) {
20 | if (StringUtils.isBlank(sortField)) {
21 | return false;
22 | }
23 | return !StringUtils.containsAny(sortField, "=", "(", ")", " ");
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/generator/model/dto/SpotFeeAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotFee;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 创建景点门票表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotFeeAddRequest implements Serializable {
16 |
17 | /**
18 | * 标题
19 | */
20 | private String title;
21 |
22 | /**
23 | * 内容
24 | */
25 | private String content;
26 |
27 | /**
28 | * 标签列表
29 | */
30 | private List tags;
31 |
32 | private static final long serialVersionUID = 1L;
33 | }
--------------------------------------------------------------------------------
/generator/model/dto/SpotOrderAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotOrder;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 创建景点订单表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotOrderAddRequest implements Serializable {
16 |
17 | /**
18 | * 标题
19 | */
20 | private String title;
21 |
22 | /**
23 | * 内容
24 | */
25 | private String content;
26 |
27 | /**
28 | * 标签列表
29 | */
30 | private List tags;
31 |
32 | private static final long serialVersionUID = 1L;
33 | }
--------------------------------------------------------------------------------
/generator/model/dto/SpotRouteAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotRoute;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 创建景点路线表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotRouteAddRequest implements Serializable {
16 |
17 | /**
18 | * 标题
19 | */
20 | private String title;
21 |
22 | /**
23 | * 内容
24 | */
25 | private String content;
26 |
27 | /**
28 | * 标签列表
29 | */
30 | private List tags;
31 |
32 | private static final long serialVersionUID = 1L;
33 | }
--------------------------------------------------------------------------------
/generator/model/dto/SpotScoreAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotScore;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 创建景点评分表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotScoreAddRequest implements Serializable {
16 |
17 | /**
18 | * 标题
19 | */
20 | private String title;
21 |
22 | /**
23 | * 内容
24 | */
25 | private String content;
26 |
27 | /**
28 | * 标签列表
29 | */
30 | private List tags;
31 |
32 | private static final long serialVersionUID = 1L;
33 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/mapper/SpotMapper.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.xiaobaitiao.springbootinit.model.entity.Spot;
5 | import org.apache.ibatis.annotations.Select;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | * @author zhao9
11 | * @description 针对表【spot】的数据库操作Mapper
12 | * @createDate 2025-02-21 16:28:06
13 | * @Entity generator.domain.Spot
14 | */
15 | public interface SpotMapper extends BaseMapper {
16 | @Select("SELECT * FROM spot where isDelete = 0 ORDER BY viewNum DESC LIMIT 10")
17 | List selectTop10SpotsByViews();
18 | }
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/comment/CommentAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.comment;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 创建请求
9 | *
10 | * @author 码羊
11 | */
12 | @Data
13 | public class CommentAddRequest implements Serializable {
14 |
15 |
16 | /**
17 | * 面经帖子 ID
18 | */
19 | private Long postId;
20 |
21 | /**
22 | * 评论内容
23 | */
24 | private String content;
25 |
26 | /**
27 | * 父评论 ID,支持多级嵌套回复
28 | */
29 | private Long parentId;
30 |
31 |
32 | private static final long serialVersionUID = 1L;
33 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/post/PostAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.post;
2 |
3 | import java.io.Serializable;
4 | import java.util.List;
5 | import lombok.Data;
6 |
7 | /**
8 | * 创建请求
9 | *
10 | * @author 程序员小白条
11 | * @from 个人博客
12 | */
13 | @Data
14 | public class PostAddRequest implements Serializable {
15 |
16 | /**
17 | * 标题
18 | */
19 | private String title;
20 |
21 | /**
22 | * 内容
23 | */
24 | private String content;
25 |
26 | /**
27 | * 标签列表
28 | */
29 | private List tags;
30 |
31 | private static final long serialVersionUID = 1L;
32 | }
--------------------------------------------------------------------------------
/src/main/resources/templates/model/TemplateAddRequest.java.ftl:
--------------------------------------------------------------------------------
1 | package ${packageName}.model.dto.${dataKey};
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 创建${dataName}请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class ${upperDataKey}AddRequest implements Serializable {
16 |
17 | /**
18 | * 标题
19 | */
20 | private String title;
21 |
22 | /**
23 | * 内容
24 | */
25 | private String content;
26 |
27 | /**
28 | * 标签列表
29 | */
30 | private List tags;
31 |
32 | private static final long serialVersionUID = 1L;
33 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/mapper/SpotFeeMapper.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.xiaobaitiao.springbootinit.model.entity.Post;
5 | import com.xiaobaitiao.springbootinit.model.entity.SpotFee;
6 |
7 | import java.util.Date;
8 | import java.util.List;
9 |
10 | /**
11 | * @author zhao9
12 | * @description 针对表【spot_fee】的数据库操作Mapper
13 | * @createDate 2025-02-26 15:12:37
14 | * @Entity generator.domain.SpotFee
15 | */
16 | public interface SpotFeeMapper extends BaseMapper {
17 | /**
18 | * 根据 ID 查询门票信息并加锁
19 | */
20 | SpotFee selectByIdWithLock(Long id);
21 | }
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/generator/model/dto/UserSpotFavoritesAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.userSpotFavorites;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 创建用户景点收藏关联表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class UserSpotFavoritesAddRequest implements Serializable {
16 |
17 | /**
18 | * 标题
19 | */
20 | private String title;
21 |
22 | /**
23 | * 内容
24 | */
25 | private String content;
26 |
27 | /**
28 | * 标签列表
29 | */
30 | private List tags;
31 |
32 | private static final long serialVersionUID = 1L;
33 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/common/PageRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.common;
2 |
3 | import com.xiaobaitiao.springbootinit.constant.CommonConstant;
4 | import lombok.Data;
5 |
6 | /**
7 | * 分页请求
8 | *
9 | * @author 程序员小白条
10 | * @from 个人博客
11 | */
12 | @Data
13 | public class PageRequest {
14 |
15 | /**
16 | * 当前页号
17 | */
18 | private int current = 1;
19 |
20 | /**
21 | * 页面大小
22 | */
23 | private int pageSize = 10;
24 |
25 | /**
26 | * 排序字段
27 | */
28 | private String sortField;
29 |
30 | /**
31 | * 排序顺序(默认升序)
32 | */
33 | private String sortOrder = CommonConstant.SORT_ORDER_ASC;
34 | }
35 |
--------------------------------------------------------------------------------
/generator/model/dto/SpotEditRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spot;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 编辑景点表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotEditRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 标题
24 | */
25 | private String title;
26 |
27 | /**
28 | * 内容
29 | */
30 | private String content;
31 |
32 | /**
33 | * 标签列表
34 | */
35 | private List tags;
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/generator/model/dto/SpotUpdateRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spot;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 更新景点表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotUpdateRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 标题
24 | */
25 | private String title;
26 |
27 | /**
28 | * 内容
29 | */
30 | private String content;
31 |
32 | /**
33 | * 标签列表
34 | */
35 | private List tags;
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/generator/model/dto/SpotFeeEditRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotFee;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 编辑景点门票表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotFeeEditRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 标题
24 | */
25 | private String title;
26 |
27 | /**
28 | * 内容
29 | */
30 | private String content;
31 |
32 | /**
33 | * 标签列表
34 | */
35 | private List tags;
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/generator/model/dto/SpotFeeUpdateRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotFee;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 更新景点门票表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotFeeUpdateRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 标题
24 | */
25 | private String title;
26 |
27 | /**
28 | * 内容
29 | */
30 | private String content;
31 |
32 | /**
33 | * 标签列表
34 | */
35 | private List tags;
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/generator/model/dto/SpotOrderEditRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotOrder;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 编辑景点订单表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotOrderEditRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 标题
24 | */
25 | private String title;
26 |
27 | /**
28 | * 内容
29 | */
30 | private String content;
31 |
32 | /**
33 | * 标签列表
34 | */
35 | private List tags;
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/generator/model/dto/SpotRouteEditRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotRoute;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 编辑景点路线表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotRouteEditRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 标题
24 | */
25 | private String title;
26 |
27 | /**
28 | * 内容
29 | */
30 | private String content;
31 |
32 | /**
33 | * 标签列表
34 | */
35 | private List tags;
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/generator/model/dto/SpotScoreEditRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotScore;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 编辑景点评分表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotScoreEditRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 标题
24 | */
25 | private String title;
26 |
27 | /**
28 | * 内容
29 | */
30 | private String content;
31 |
32 | /**
33 | * 标签列表
34 | */
35 | private List tags;
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/generator/model/dto/SpotOrderUpdateRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotOrder;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 更新景点订单表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotOrderUpdateRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 标题
24 | */
25 | private String title;
26 |
27 | /**
28 | * 内容
29 | */
30 | private String content;
31 |
32 | /**
33 | * 标签列表
34 | */
35 | private List tags;
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/generator/model/dto/SpotRouteUpdateRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotRoute;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 更新景点路线表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotRouteUpdateRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 标题
24 | */
25 | private String title;
26 |
27 | /**
28 | * 内容
29 | */
30 | private String content;
31 |
32 | /**
33 | * 标签列表
34 | */
35 | private List tags;
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/generator/model/dto/SpotScoreUpdateRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotScore;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 更新景点评分表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotScoreUpdateRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 标题
24 | */
25 | private String title;
26 |
27 | /**
28 | * 内容
29 | */
30 | private String content;
31 |
32 | /**
33 | * 标签列表
34 | */
35 | private List tags;
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/user/UserUpdateMyRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.user;
2 |
3 | import java.io.Serializable;
4 | import lombok.Data;
5 |
6 | /**
7 | * 用户更新个人信息请求
8 | *
9 | * @author 程序员小白条
10 | * @from 个人博客
11 | */
12 | @Data
13 | public class UserUpdateMyRequest implements Serializable {
14 |
15 | /**
16 | * 用户昵称
17 | */
18 | private String userName;
19 |
20 | /**
21 | * 用户头像
22 | */
23 | private String userAvatar;
24 |
25 | /**
26 | * 简介
27 | */
28 | private String userProfile;
29 | /**
30 | * 联系方式
31 | */
32 | private String userPhone;
33 | private static final long serialVersionUID = 1L;
34 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/post/PostEditRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.post;
2 |
3 | import java.io.Serializable;
4 | import java.util.List;
5 | import lombok.Data;
6 |
7 | /**
8 | * 编辑请求
9 | *
10 | * @author 程序员小白条
11 | * @from 个人博客
12 | */
13 | @Data
14 | public class PostEditRequest implements Serializable {
15 |
16 | /**
17 | * id
18 | */
19 | private Long id;
20 |
21 | /**
22 | * 标题
23 | */
24 | private String title;
25 |
26 | /**
27 | * 内容
28 | */
29 | private String content;
30 |
31 | /**
32 | * 标签列表
33 | */
34 | private List tags;
35 |
36 | private static final long serialVersionUID = 1L;
37 | }
--------------------------------------------------------------------------------
/src/main/resources/templates/model/TemplateEditRequest.java.ftl:
--------------------------------------------------------------------------------
1 | package ${packageName}.model.dto.${dataKey};
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 编辑${dataName}请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class ${upperDataKey}EditRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 标题
24 | */
25 | private String title;
26 |
27 | /**
28 | * 内容
29 | */
30 | private String content;
31 |
32 | /**
33 | * 标签列表
34 | */
35 | private List tags;
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/post/PostUpdateRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.post;
2 |
3 | import java.io.Serializable;
4 | import java.util.List;
5 | import lombok.Data;
6 |
7 | /**
8 | * 更新请求
9 | *
10 | * @author 程序员小白条
11 | * @from 个人博客
12 | */
13 | @Data
14 | public class PostUpdateRequest implements Serializable {
15 |
16 | /**
17 | * id
18 | */
19 | private Long id;
20 |
21 | /**
22 | * 标题
23 | */
24 | private String title;
25 |
26 | /**
27 | * 内容
28 | */
29 | private String content;
30 |
31 | /**
32 | * 标签列表
33 | */
34 | private List tags;
35 |
36 | private static final long serialVersionUID = 1L;
37 | }
--------------------------------------------------------------------------------
/src/main/resources/templates/model/TemplateUpdateRequest.java.ftl:
--------------------------------------------------------------------------------
1 | package ${packageName}.model.dto.${dataKey};
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 更新${dataName}请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class ${upperDataKey}UpdateRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 标题
24 | */
25 | private String title;
26 |
27 | /**
28 | * 内容
29 | */
30 | private String content;
31 |
32 | /**
33 | * 标签列表
34 | */
35 | private List tags;
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/generator/model/dto/UserSpotFavoritesEditRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.userSpotFavorites;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 编辑用户景点收藏关联表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class UserSpotFavoritesEditRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 标题
24 | */
25 | private String title;
26 |
27 | /**
28 | * 内容
29 | */
30 | private String content;
31 |
32 | /**
33 | * 标签列表
34 | */
35 | private List tags;
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/generator/model/dto/UserSpotFavoritesUpdateRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.userSpotFavorites;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 更新用户景点收藏关联表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class UserSpotFavoritesUpdateRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 标题
24 | */
25 | private String title;
26 |
27 | /**
28 | * 内容
29 | */
30 | private String content;
31 |
32 | /**
33 | * 标签列表
34 | */
35 | private List tags;
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/spotScore/SpotScoreUpdateRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotScore;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 更新景点评分表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotScoreUpdateRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 景点 id
24 | */
25 | private Long spotId;
26 |
27 | /**
28 | * 用户 id
29 | */
30 | private Long userId;
31 |
32 | /**
33 | * 评分(满分5)
34 | */
35 | private Integer score;
36 |
37 |
38 | private static final long serialVersionUID = 1L;
39 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/userAiMessage/UserAiMessageAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.userAiMessage;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.Date;
7 | import java.util.List;
8 |
9 | /**
10 | * 创建用户对话表请求
11 | *
12 | * @author 程序员小白条
13 | * @from 个人博客
14 | */
15 | @Data
16 | public class UserAiMessageAddRequest implements Serializable {
17 |
18 |
19 | /**
20 | * 用户输入
21 | */
22 | private String userInputText;
23 |
24 | /**
25 | * AI 生成结果
26 | */
27 | private String aiGenerateText;
28 |
29 | /**
30 | * 用户ID
31 | */
32 | private Long userId;
33 |
34 |
35 |
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/mapper/SpotScoreMapper.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.xiaobaitiao.springbootinit.model.entity.SpotScore;
5 | import org.apache.ibatis.annotations.Select;
6 |
7 | /**
8 | * @author zhao9
9 | * @description 针对表【spot_score】的数据库操作Mapper
10 | * @createDate 2025-02-26 13:49:52
11 | * @Entity generator.domain.SpotScore
12 | */
13 | public interface SpotScoreMapper extends BaseMapper {
14 | /**
15 | * 查询景点的平均评分
16 | *
17 | * @param spotId 景点 ID
18 | * @return 平均评分
19 | */
20 | @Select("SELECT AVG(score) AS averageScore FROM spot_score WHERE spotId = #{spotId} AND isDelete = 0")
21 | Double getAverageScoreBySpotId(Long spotId);
22 | }
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/test/java/com/xiaobaitiao/springbootinit/mapper/PostMapperTest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.mapper;
2 |
3 | import com.xiaobaitiao.springbootinit.model.entity.Post;
4 | import java.util.Date;
5 | import java.util.List;
6 | import javax.annotation.Resource;
7 | import org.junit.jupiter.api.Assertions;
8 | import org.junit.jupiter.api.Test;
9 | import org.springframework.boot.test.context.SpringBootTest;
10 |
11 | /**
12 | * 帖子数据库操作测试
13 | *
14 | * @author 程序员小白条
15 | * @from 个人博客
16 | */
17 | @SpringBootTest
18 | class PostMapperTest {
19 |
20 | @Resource
21 | private PostMapper postMapper;
22 |
23 | @Test
24 | void listPostWithDelete() {
25 | List postList = postMapper.listPostWithDelete(new Date());
26 | Assertions.assertNotNull(postList);
27 | }
28 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/user/UserAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.user;
2 |
3 | import java.io.Serializable;
4 | import lombok.Data;
5 |
6 | /**
7 | * 用户创建请求
8 | *
9 | * @author 程序员小白条
10 | * @from 个人博客
11 | */
12 | @Data
13 | public class UserAddRequest implements Serializable {
14 |
15 | /**
16 | * 用户昵称
17 | */
18 | private String userName;
19 |
20 | /**
21 | * 账号
22 | */
23 | private String userAccount;
24 |
25 | /**
26 | * 用户头像
27 | */
28 | private String userAvatar;
29 |
30 | /**
31 | * 用户角色: user, admin
32 | */
33 | private String userRole;
34 | /**
35 | * 联系方式
36 | */
37 | private String userPhone;
38 | private static final long serialVersionUID = 1L;
39 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/comment/CommentUpdateRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.comment;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 更新请求
9 | *
10 | * @author 码羊
11 | */
12 | @Data
13 | public class CommentUpdateRequest implements Serializable {
14 |
15 | /**
16 | * 评论 ID
17 | */
18 | private Long id;
19 |
20 |
21 | /**
22 | * 面经帖子 ID
23 | */
24 | private Long postId;
25 |
26 | /**
27 | * 用户 ID
28 | */
29 | private Long userId;
30 |
31 | /**
32 | * 评论内容
33 | */
34 | private String content;
35 |
36 | /**
37 | * 父评论 ID,支持多级嵌套回复
38 | */
39 | private Long parentId;
40 |
41 |
42 | private static final long serialVersionUID = 1L;
43 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/postfavour/PostFavourQueryRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.postfavour;
2 |
3 | import com.xiaobaitiao.springbootinit.common.PageRequest;
4 | import com.xiaobaitiao.springbootinit.model.dto.post.PostQueryRequest;
5 | import java.io.Serializable;
6 | import lombok.Data;
7 | import lombok.EqualsAndHashCode;
8 |
9 | /**
10 | * 帖子收藏查询请求
11 | *
12 | * @author 程序员小白条
13 | * @from 个人博客
14 | */
15 | @Data
16 | @EqualsAndHashCode(callSuper = true)
17 | public class PostFavourQueryRequest extends PageRequest implements Serializable {
18 |
19 | /**
20 | * 帖子查询请求
21 | */
22 | private PostQueryRequest postQueryRequest;
23 |
24 | /**
25 | * 用户 id
26 | */
27 | private Long userId;
28 |
29 | private static final long serialVersionUID = 1L;
30 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/service/PostThumbService.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.service;
2 |
3 | import com.xiaobaitiao.springbootinit.model.entity.PostThumb;
4 | import com.baomidou.mybatisplus.extension.service.IService;
5 | import com.xiaobaitiao.springbootinit.model.entity.User;
6 |
7 | /**
8 | * 帖子点赞服务
9 | *
10 | * @author 程序员小白条
11 | * @from 个人博客
12 | */
13 | public interface PostThumbService extends IService {
14 |
15 | /**
16 | * 点赞
17 | *
18 | * @param postId
19 | * @param loginUser
20 | * @return
21 | */
22 | int doPostThumb(long postId, User loginUser);
23 |
24 | /**
25 | * 帖子点赞(内部服务)
26 | *
27 | * @param userId
28 | * @param postId
29 | * @return
30 | */
31 | int doPostThumbInner(long userId, long postId);
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/manager/model/request/SparkRequestParameter.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.manager.model.request;
2 |
3 |
4 |
5 | import com.xiaobaitiao.springbootinit.manager.model.SparkChatParameter;
6 |
7 | import java.io.Serializable;
8 |
9 | /**
10 | * $.parameter
11 | *
12 | * @author briqt
13 | */
14 | public class SparkRequestParameter implements Serializable {
15 | private static final long serialVersionUID = 4502096141480336425L;
16 |
17 | private SparkChatParameter chat;
18 |
19 | public SparkRequestParameter() {
20 | }
21 |
22 | public SparkRequestParameter(SparkChatParameter chat) {
23 | this.chat = chat;
24 | }
25 |
26 | public SparkChatParameter getChat() {
27 | return chat;
28 | }
29 |
30 | public void setChat(SparkChatParameter chat) {
31 | this.chat = chat;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/manager/model/response/SparkResponse.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.manager.model.response;
2 |
3 | import java.io.Serializable;
4 |
5 | /**
6 | * SparkResponse
7 | *
8 | * @author briqt
9 | */
10 | public class SparkResponse implements Serializable {
11 | private static final long serialVersionUID = 886720558849587945L;
12 |
13 | private SparkResponseHeader header;
14 |
15 | private SparkResponsePayload payload;
16 |
17 | public SparkResponseHeader getHeader() {
18 | return header;
19 | }
20 |
21 | public void setHeader(SparkResponseHeader header) {
22 | this.header = header;
23 | }
24 |
25 | public SparkResponsePayload getPayload() {
26 | return payload;
27 | }
28 |
29 | public void setPayload(SparkResponsePayload payload) {
30 | this.payload = payload;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/manager/model/response/SparkResponsePayload.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.manager.model.response;
2 |
3 | import java.io.Serializable;
4 |
5 | /**
6 | * $.payload
7 | *
8 | * @author briqt
9 | */
10 | public class SparkResponsePayload implements Serializable {
11 | private static final long serialVersionUID = 8090192271782303700L;
12 |
13 | private SparkResponseChoices choices;
14 |
15 | private SparkResponseUsage usage;
16 |
17 | public SparkResponseChoices getChoices() {
18 | return choices;
19 | }
20 |
21 | public void setChoices(SparkResponseChoices choices) {
22 | this.choices = choices;
23 | }
24 |
25 | public SparkResponseUsage getUsage() {
26 | return usage;
27 | }
28 |
29 | public void setUsage(SparkResponseUsage usage) {
30 | this.usage = usage;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/barrage/BarrageUpdateRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.barrage;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 更新弹幕请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class BarrageUpdateRequest implements Serializable {
16 | /**
17 | * id
18 | */
19 | private Long id;
20 |
21 | /**
22 | * 弹幕文本
23 | */
24 | private String message;
25 |
26 | /**
27 | * 用户头像
28 | */
29 | private String userAvatar;
30 |
31 | /**
32 | * 用户id
33 | */
34 | private Long userId;
35 |
36 | /**
37 | * 是否精选(默认0,精选为1)
38 | */
39 | private Integer isSelected;
40 |
41 |
42 |
43 | private static final long serialVersionUID = 1L;
44 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/config/CaptchaConfig.java:
--------------------------------------------------------------------------------
1 | //package com.xiaobaitiao.springbootinit.config;
2 | //
3 | //import com.anji.captcha.properties.AjCaptchaProperties;
4 | //import com.anji.captcha.service.CaptchaCacheService;
5 | //import com.anji.captcha.service.impl.CaptchaServiceFactory;
6 | //import org.springframework.context.annotation.Bean;
7 | //import org.springframework.context.annotation.Configuration;
8 | //import org.springframework.context.annotation.Primary;
9 | //
10 | ////@Configuration
11 | //public class CaptchaConfig {
12 | //
13 | //
14 | //
15 | //// @Bean(name = "CaptchaCacheService")
16 | //// @Primary
17 | // public CaptchaCacheService captchaCacheService(AjCaptchaProperties config){
18 | // //缓存类型redis/local/....
19 | // CaptchaCacheService ret = CaptchaServiceFactory.getCache(config.getCacheType().name());
20 | // return ret;
21 | // }
22 | //}
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/manager/model/request/SparkRequestMessage.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.manager.model.request;
2 |
3 |
4 |
5 | import com.xiaobaitiao.springbootinit.manager.model.SparkMessage;
6 |
7 | import java.io.Serializable;
8 | import java.util.List;
9 |
10 | /**
11 | * $.payload.message
12 | *
13 | * @author briqt
14 | */
15 | public class SparkRequestMessage implements Serializable {
16 | private static final long serialVersionUID = 6725091574720504980L;
17 |
18 | private List text;
19 |
20 | public SparkRequestMessage() {
21 | }
22 |
23 | public SparkRequestMessage(List text) {
24 | this.text = text;
25 | }
26 |
27 | public List getText() {
28 | return text;
29 | }
30 |
31 | public void setText(List text) {
32 | this.text = text;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/manager/model/request/function/SparkRequestFunctions.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.manager.model.request.function;
2 |
3 | import java.io.Serializable;
4 | import java.util.List;
5 |
6 | /**
7 | * $.payload.functions
8 | *
9 | * @author briqt
10 | */
11 | public class SparkRequestFunctions implements Serializable {
12 |
13 | private static final long serialVersionUID = -7696196392354475586L;
14 |
15 | private List text;
16 |
17 | public SparkRequestFunctions() {
18 | }
19 |
20 | public SparkRequestFunctions(List text) {
21 | this.text = text;
22 | }
23 |
24 | public List getText() {
25 | return text;
26 | }
27 |
28 | public void setText(List text) {
29 | this.text = text;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/barrage/BarrageAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.barrage;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import com.baomidou.mybatisplus.annotation.TableLogic;
7 | import lombok.Data;
8 |
9 | import java.io.Serializable;
10 | import java.util.Date;
11 | import java.util.List;
12 |
13 | /**
14 | * 创建弹幕请求
15 | *
16 | * @author 程序员小白条
17 | * @from 个人博客
18 | */
19 | @Data
20 | public class BarrageAddRequest implements Serializable {
21 |
22 |
23 | /**
24 | * 弹幕文本
25 | */
26 | private String message;
27 |
28 | /**
29 | * 用户头像
30 | */
31 | private String userAvatar;
32 |
33 |
34 |
35 |
36 | private static final long serialVersionUID = 1L;
37 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/spotRoute/SpotRouteUpdateRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotRoute;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 更新景点路线表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class SpotRouteUpdateRequest implements Serializable {
16 |
17 | /**
18 | * id
19 | */
20 | private Long id;
21 | /**
22 | * adminId
23 | */
24 | private Long adminId;
25 | /**
26 | * 景点 id(字符串数组,用逗号分割,顺序从前往后)
27 | */
28 | private List spotIdList;
29 |
30 | /**
31 | * 路线封面图
32 | */
33 | private String spotRouteAvatar;
34 |
35 | /**
36 | * 路线描述
37 | */
38 | private String spotRouteDescription;
39 |
40 |
41 |
42 | private static final long serialVersionUID = 1L;
43 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/notice/NoticeAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.notice;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import lombok.Data;
7 |
8 | import java.io.Serializable;
9 | import java.util.Date;
10 | import java.util.List;
11 |
12 | /**
13 | * 创建公告请求
14 | *
15 | * @author 程序员小白条
16 | * @from 个人博客
17 | */
18 | @Data
19 | public class NoticeAddRequest implements Serializable {
20 |
21 |
22 | /**
23 | * 公告标题
24 | */
25 | private String noticeTitle;
26 |
27 | /**
28 | * 公告内容
29 | */
30 | private String noticeContent;
31 |
32 | /**
33 | * 发布公告的管理员 id
34 | */
35 | private Long noticeAdminId;
36 |
37 |
38 | private static final long serialVersionUID = 1L;
39 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/notice/NoticeEditRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.notice;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import lombok.Data;
7 |
8 | import java.io.Serializable;
9 | import java.util.Date;
10 | import java.util.List;
11 |
12 | /**
13 | * 编辑公告请求
14 | *
15 | * @author 程序员小白条
16 | * @from 个人博客
17 | */
18 | @Data
19 | public class NoticeEditRequest implements Serializable {
20 |
21 | /**
22 | * id
23 | */
24 | private Long id;
25 |
26 | /**
27 | * 公告标题
28 | */
29 | private String noticeTitle;
30 |
31 | /**
32 | * 公告内容
33 | */
34 | private String noticeContent;
35 |
36 | /**
37 | * 发布公告的管理员 id
38 | */
39 | private Long noticeAdminId;
40 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/userSpotFavorites/UserSpotFavoritesUpdateRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.userSpotFavorites;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.List;
7 |
8 | /**
9 | * 更新用户景点收藏关联表请求
10 | *
11 | * @author 程序员小白条
12 | * @from 个人博客
13 | */
14 | @Data
15 | public class UserSpotFavoritesUpdateRequest implements Serializable {
16 |
17 |
18 | /**
19 | *
20 | */
21 | private Long id;
22 |
23 | /**
24 | * 用户 ID
25 | */
26 | private Long userId;
27 |
28 | /**
29 | * 景点 ID
30 | */
31 | private Long spotId;
32 |
33 | /**
34 | * 1-正常收藏 0-取消收藏
35 | */
36 | private Integer status;
37 |
38 | /**
39 | * 用户备注
40 | */
41 | private String remark;
42 |
43 |
44 |
45 | private static final long serialVersionUID = 1L;
46 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/vo/MyCommentVO.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.vo;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | import java.io.Serializable;
8 | import java.util.Date;
9 |
10 | /**
11 | *
12 | * @TableName comment
13 | */
14 | @NoArgsConstructor
15 | @AllArgsConstructor
16 | @Data
17 | public class MyCommentVO implements Serializable {
18 | /**
19 | * 评论 ID
20 | */
21 | private Long id;
22 |
23 | /**
24 | * 评论内容
25 | */
26 | private String content;
27 |
28 |
29 | /**
30 | * 面经帖子 ID
31 | */
32 | private Long postId;
33 | /**
34 | * 面经帖子标题
35 | */
36 | private String postTitle;
37 | /**
38 | * 面经帖子内容
39 | */
40 | private String postContent;
41 |
42 |
43 | /**
44 | * 更新时间
45 | */
46 | private Date updateTime;
47 |
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/spotScore/SpotScoreQueryRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotScore;
2 |
3 | import com.xiaobaitiao.springbootinit.common.PageRequest;
4 | import lombok.Data;
5 | import lombok.EqualsAndHashCode;
6 |
7 | import java.io.Serializable;
8 | import java.util.List;
9 |
10 | /**
11 | * 查询景点评分表请求
12 | *
13 | * @author 程序员小白条
14 | * @from 个人博客
15 | */
16 | @EqualsAndHashCode(callSuper = true)
17 | @Data
18 | public class SpotScoreQueryRequest extends PageRequest implements Serializable {
19 |
20 | /**
21 | * id
22 | */
23 | private Long id;
24 |
25 | /**
26 | * 景点 id
27 | */
28 | private Long spotId;
29 |
30 | /**
31 | * 用户 id
32 | */
33 | private Long userId;
34 |
35 | /**
36 | * 评分(满分5)
37 | */
38 | private Integer score;
39 |
40 |
41 | private static final long serialVersionUID = 1L;
42 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/exception/BusinessException.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.exception;
2 |
3 | import com.xiaobaitiao.springbootinit.common.ErrorCode;
4 |
5 | /**
6 | * 自定义异常类
7 | *
8 | * @author 程序员小白条
9 | * @from 个人博客
10 | */
11 | public class BusinessException extends RuntimeException {
12 |
13 | /**
14 | * 错误码
15 | */
16 | private final int code;
17 |
18 | public BusinessException(int code, String message) {
19 | super(message);
20 | this.code = code;
21 | }
22 |
23 | public BusinessException(ErrorCode errorCode) {
24 | super(errorCode.getMessage());
25 | this.code = errorCode.getCode();
26 | }
27 |
28 | public BusinessException(ErrorCode errorCode, String message) {
29 | super(message);
30 | this.code = errorCode.getCode();
31 | }
32 |
33 | public int getCode() {
34 | return code;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/spotScore/SpotScoreAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotScore;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import com.baomidou.mybatisplus.annotation.TableLogic;
7 | import lombok.Data;
8 |
9 | import java.io.Serializable;
10 | import java.util.Date;
11 | import java.util.List;
12 |
13 | /**
14 | * 创建景点评分表请求
15 | *
16 | * @author 程序员小白条
17 | * @from 个人博客
18 | */
19 | @Data
20 | public class SpotScoreAddRequest implements Serializable {
21 |
22 | /**
23 | * 景点 id
24 | */
25 | private Long spotId;
26 |
27 | /**
28 | * 用户 id
29 | */
30 | private Long userId;
31 |
32 | /**
33 | * 评分(满分5)
34 | */
35 | private Integer score;
36 |
37 | private static final long serialVersionUID = 1L;
38 | }
--------------------------------------------------------------------------------
/src/test/java/com/xiaobaitiao/springbootinit/service/PostThumbServiceTest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.service;
2 |
3 | import com.xiaobaitiao.springbootinit.model.entity.User;
4 | import javax.annotation.Resource;
5 | import org.junit.jupiter.api.Assertions;
6 | import org.junit.jupiter.api.BeforeAll;
7 | import org.junit.jupiter.api.Test;
8 | import org.springframework.boot.test.context.SpringBootTest;
9 |
10 | /**
11 | * 帖子点赞服务测试
12 | *
13 | * @author 程序员小白条
14 | * @from 个人博客
15 | */
16 | @SpringBootTest
17 | class PostThumbServiceTest {
18 |
19 | @Resource
20 | private PostThumbService postThumbService;
21 |
22 | private static final User loginUser = new User();
23 |
24 | @BeforeAll
25 | static void setUp() {
26 | loginUser.setId(1L);
27 | }
28 |
29 | @Test
30 | void doPostThumb() {
31 | int i = postThumbService.doPostThumb(1L, loginUser);
32 | Assertions.assertTrue(i >= 0);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/notice/NoticeUpdateRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.notice;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import lombok.Data;
7 |
8 | import java.io.Serializable;
9 | import java.util.Date;
10 | import java.util.List;
11 |
12 | /**
13 | * 更新公告请求
14 | *
15 | * @author 程序员小白条
16 | * @from 个人博客
17 | */
18 | @Data
19 | public class NoticeUpdateRequest implements Serializable {
20 |
21 | /**
22 | * id
23 | */
24 | private Long id;
25 |
26 | /**
27 | * 公告标题
28 | */
29 | private String noticeTitle;
30 |
31 | /**
32 | * 公告内容
33 | */
34 | private String noticeContent;
35 |
36 | /**
37 | * 发布公告的管理员 id
38 | */
39 | private Long noticeAdminId;
40 | private static final long serialVersionUID = 1L;
41 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/userAiMessage/UserAiMessageEditRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.userAiMessage;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.Date;
7 | import java.util.List;
8 |
9 | /**
10 | * 编辑用户对话表请求
11 | *
12 | * @author 程序员小白条
13 | * @from 个人博客
14 | */
15 | @Data
16 | public class UserAiMessageEditRequest implements Serializable {
17 | /**
18 | *
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 用户输入
24 | */
25 | private String userInputText;
26 |
27 | /**
28 | * AI 生成结果
29 | */
30 | private String aiGenerateText;
31 |
32 | /**
33 | * 用户ID
34 | */
35 | private Long userId;
36 |
37 | /**
38 | * 创建时间
39 | */
40 | private Date createTime;
41 |
42 | /**
43 | * 更新时间
44 | */
45 | private Date updateTime;
46 |
47 |
48 | private static final long serialVersionUID = 1L;
49 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/userAiMessage/UserAiMessageUpdateRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.userAiMessage;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.Date;
7 | import java.util.List;
8 |
9 | /**
10 | * 更新用户对话表请求
11 | *
12 | * @author 程序员小白条
13 | * @from 个人博客
14 | */
15 | @Data
16 | public class UserAiMessageUpdateRequest implements Serializable {
17 |
18 | /**
19 | *
20 | */
21 | private Long id;
22 |
23 | /**
24 | * 用户输入
25 | */
26 | private String userInputText;
27 |
28 | /**
29 | * AI 生成结果
30 | */
31 | private String aiGenerateText;
32 |
33 | /**
34 | * 用户ID
35 | */
36 | private Long userId;
37 |
38 | /**
39 | * 创建时间
40 | */
41 | private Date createTime;
42 |
43 | /**
44 | * 更新时间
45 | */
46 | private Date updateTime;
47 |
48 |
49 | private static final long serialVersionUID = 1L;
50 | }
--------------------------------------------------------------------------------
/src/main/resources/mapper/PostThumbMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | id,postId,
19 | userId,createTime,updateTime
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/spot/SpotAddRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spot;
2 |
3 | import com.fasterxml.jackson.annotation.JsonFormat;
4 | import lombok.Data;
5 |
6 | import java.io.Serializable;
7 | import java.util.Date;
8 | import java.util.List;
9 |
10 | /**
11 | * 创建景点表请求
12 | *
13 | * @author 程序员小白条
14 | * @from 个人博客
15 | */
16 | @Data
17 | public class SpotAddRequest implements Serializable {
18 | /**
19 | * adminId
20 | */
21 | private Long adminId;
22 | /**
23 | * 景点名
24 | */
25 | private String spotName;
26 |
27 | /**
28 | * 景点封面图
29 | */
30 | private String spotAvatar;
31 |
32 | /**
33 | * 景点所在地
34 | */
35 | private String spotLocation;
36 | /**
37 | * 景点介绍
38 | */
39 | private String spotDescription;
40 | /**
41 | * 景点标签(JSON字符串数组)
42 | */
43 | private List spotTagList;
44 | private static final long serialVersionUID = 1L;
45 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/config/CorsConfig.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.config;
2 |
3 | import org.springframework.context.annotation.Configuration;
4 | import org.springframework.web.servlet.config.annotation.CorsRegistry;
5 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
6 |
7 | /**
8 | * 全局跨域配置
9 | *
10 | * @author 程序员小白条
11 | * @from 个人博客
12 | */
13 | @Configuration
14 | public class CorsConfig implements WebMvcConfigurer {
15 |
16 | @Override
17 | public void addCorsMappings(CorsRegistry registry) {
18 | // 覆盖所有请求
19 | registry.addMapping("/**")
20 | // 允许发送 Cookie
21 | .allowCredentials(true)
22 | // 放行哪些域名(必须用 patterns,否则 * 会和 allowCredentials 冲突)
23 | .allowedOriginPatterns("*")
24 | .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
25 | .allowedHeaders("*")
26 | .exposedHeaders("*");
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/manager/model/request/SparkRequestHeader.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.manager.model.request;
2 |
3 | import com.fasterxml.jackson.annotation.JsonProperty;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * $.header
9 | *
10 | * @author briqt
11 | */
12 | public class SparkRequestHeader implements Serializable {
13 | private static final long serialVersionUID = -1426143090218924505L;
14 |
15 | /**
16 | * 应用appid,从开放平台控制台创建的应用中获取
17 | * 必传
18 | */
19 | @JsonProperty("app_id")
20 | private String appId;
21 |
22 | /**
23 | * 每个用户的id,用于区分不同用户
24 | * 非必传,最大长度32
25 | */
26 | private String uid;
27 |
28 | public String getAppId() {
29 | return appId;
30 | }
31 |
32 | public void setAppId(String appId) {
33 | this.appId = appId;
34 | }
35 |
36 | public String getUid() {
37 | return uid;
38 | }
39 |
40 | public void setUid(String uid) {
41 | this.uid = uid;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/test/java/com/xiaobaitiao/springbootinit/service/PostServiceTest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.service;
2 |
3 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
4 | import com.xiaobaitiao.springbootinit.model.dto.post.PostQueryRequest;
5 | import com.xiaobaitiao.springbootinit.model.entity.Post;
6 | import javax.annotation.Resource;
7 | import org.junit.jupiter.api.Assertions;
8 | import org.junit.jupiter.api.Test;
9 | import org.springframework.boot.test.context.SpringBootTest;
10 |
11 | /**
12 | * 帖子服务测试
13 | *
14 | * @author 程序员小白条
15 | * @from 个人博客
16 | */
17 | @SpringBootTest
18 | class PostServiceTest {
19 |
20 | @Resource
21 | private PostService postService;
22 |
23 | @Test
24 | void searchFromEs() {
25 | PostQueryRequest postQueryRequest = new PostQueryRequest();
26 | postQueryRequest.setUserId(1L);
27 | Page postPage = postService.searchFromEs(postQueryRequest);
28 | Assertions.assertNotNull(postPage);
29 | }
30 |
31 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/spotScore/SpotScoreEditRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.spotScore;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import com.baomidou.mybatisplus.annotation.TableLogic;
7 | import lombok.Data;
8 |
9 | import java.io.Serializable;
10 | import java.util.Date;
11 | import java.util.List;
12 |
13 | /**
14 | * 编辑景点评分表请求
15 | *
16 | * @author 程序员小白条
17 | * @from 个人博客
18 | */
19 | @Data
20 | public class SpotScoreEditRequest implements Serializable {
21 | /**
22 | * id
23 | */
24 | private Long id;
25 |
26 | /**
27 | * 景点 id
28 | */
29 | private Long spotId;
30 |
31 | /**
32 | * 用户 id
33 | */
34 | private Long userId;
35 |
36 | /**
37 | * 评分(满分5)
38 | */
39 | private Integer score;
40 |
41 |
42 | private static final long serialVersionUID = 1L;
43 | }
--------------------------------------------------------------------------------
/src/main/resources/META-INF/additional-spring-configuration-metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "properties": [
3 | {
4 | "name": "cos.client.accessKey",
5 | "type": "java.lang.String",
6 | "description": "Description for cos.client.accessKey."
7 | },
8 | {
9 | "name": "cos.client.secretKey",
10 | "type": "java.lang.String",
11 | "description": "Description for cos.client.secretKey."
12 | },
13 | {
14 | "name": "cos.client.region",
15 | "type": "java.lang.String",
16 | "description": "Description for cos.client.region."
17 | },
18 | {
19 | "name": "cos.client.bucket",
20 | "type": "java.lang.String",
21 | "description": "Description for cos.client.bucket."
22 | },
23 | {
24 | "name": "wx.open.appId",
25 | "type": "java.lang.String",
26 | "description": "Description for wx.open.appId."
27 | },
28 | {
29 | "name": "wx.open.appSecret",
30 | "type": "java.lang.String",
31 | "description": "Description for wx.open.appSecret."
32 | }
33 | ]
34 | }
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/MainApplication.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit;
2 |
3 | import org.mybatis.spring.annotation.MapperScan;
4 | import org.springframework.boot.SpringApplication;
5 | import org.springframework.boot.autoconfigure.SpringBootApplication;
6 | import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
7 | import org.springframework.context.annotation.EnableAspectJAutoProxy;
8 | import org.springframework.scheduling.annotation.EnableScheduling;
9 |
10 | /**
11 | * 主类(项目启动入口)
12 | *
13 | * @author 程序员小白条
14 | * @from 个人博客
15 | */
16 | // todo 如需开启 Redis,须移除 exclude 中的内容
17 | @SpringBootApplication(exclude = RedisAutoConfiguration.class)
18 | @MapperScan("com.xiaobaitiao.springbootinit.mapper")
19 | @EnableScheduling
20 | @EnableAspectJAutoProxy(proxyTargetClass = true, exposeProxy = true)
21 | public class MainApplication {
22 |
23 | public static void main(String[] args) {
24 | SpringApplication.run(MainApplication.class, args);
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/resources/application-prod.yml:
--------------------------------------------------------------------------------
1 | # 线上配置文件
2 | # @author 程序员小白条
3 | # @from 个人博客
4 | server:
5 | port: 8887
6 | spring:
7 | # 数据库配置
8 | # todo 需替换配置
9 | datasource:
10 | driver-class-name: com.mysql.cj.jdbc.Driver
11 | url: jdbc:mysql://localhost:3306/tourism?characterEncoding=utf8&useSSL=false
12 | username: root
13 | password: hsp
14 | # Redis 配置
15 | # todo 需替换配置
16 | redis:
17 | database: 1
18 | host: localhost
19 | port: 6379
20 | timeout: 5000
21 | password: 123456
22 | # Elasticsearch 配置
23 | # todo 需替换配置
24 | elasticsearch:
25 | uris: http://localhost:9200
26 | username: root
27 | password: 123456
28 | mybatis-plus:
29 | configuration:
30 | # 生产环境关闭日志
31 | log-impl: ''
32 | # 接口文档配置
33 | knife4j:
34 | basic:
35 | enable: true
36 | username: root
37 | password: 123456
38 | #jwt config
39 | jwt:
40 | tokenHeader: Authorization #JWT存储的请求头
41 | secret: mall-jwt-test #jwt加解密使用的密钥
42 | expiration: 36000000 #JWT的超时时间
43 | tokenHead: Bearer #JWT负载中拿到的开头
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/config/AuthInterceptorConfig.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.config;
2 |
3 | import com.xiaobaitiao.springbootinit.aop.AuthInterceptorHandler;
4 | import org.springframework.context.annotation.Bean;
5 | import org.springframework.context.annotation.Configuration;
6 | import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
7 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
8 |
9 | /**
10 | * @author 小白条
11 | * @from 个人博客
12 | */
13 | @Configuration
14 | public class AuthInterceptorConfig implements WebMvcConfigurer {
15 | @Override
16 | public void addInterceptors(InterceptorRegistry registry) {
17 | registry.addInterceptor(authInterceptorHandler()).excludePathPatterns("/**/login","/**/register","/**/register_verify").excludePathPatterns("/doc.html");
18 | }
19 |
20 | @Bean
21 | public AuthInterceptorHandler authInterceptorHandler(){
22 | return new AuthInterceptorHandler();
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/com/xiaobaitiao/springbootinit/model/dto/comment/CommentQueryRequest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.model.dto.comment;
2 |
3 | import com.xiaobaitiao.springbootinit.common.PageRequest;
4 | import lombok.Data;
5 | import lombok.EqualsAndHashCode;
6 |
7 | import java.io.Serializable;
8 |
9 | /**
10 | * 查询请求
11 | *
12 | * @author 码羊
13 | */
14 | @EqualsAndHashCode(callSuper = true)
15 | @Data
16 | public class CommentQueryRequest extends PageRequest implements Serializable {
17 |
18 | /**
19 | * 评论 ID
20 | */
21 | private Long id;
22 |
23 |
24 | /**
25 | * 面经帖子 ID
26 | */
27 | private Long postId;
28 |
29 | /**
30 | * 用户 ID
31 | */
32 | private Long userId;
33 |
34 | /**
35 | * 评论内容
36 | */
37 | private String content;
38 |
39 | /**
40 | * 父评论 ID,支持多级嵌套回复
41 | */
42 | private Long parentId;
43 | /**
44 | * 顶级父 ID,支持多级嵌套回复
45 | */
46 | private Long ancestorId;
47 |
48 |
49 | private static final long serialVersionUID = 1L;
50 | }
--------------------------------------------------------------------------------
/src/test/java/com/xiaobaitiao/springbootinit/utils/EasyExcelTest.java:
--------------------------------------------------------------------------------
1 | package com.xiaobaitiao.springbootinit.utils;
2 |
3 | import com.alibaba.excel.EasyExcel;
4 | import com.alibaba.excel.support.ExcelTypeEnum;
5 | import org.junit.jupiter.api.Test;
6 | import org.springframework.boot.test.context.SpringBootTest;
7 | import org.springframework.util.ResourceUtils;
8 |
9 | import java.io.File;
10 | import java.io.FileNotFoundException;
11 | import java.util.List;
12 | import java.util.Map;
13 |
14 | /**
15 | * EasyExcel 测试
16 | *
17 | * @author 程序员小白条
18 | * @from 个人博客
19 | */
20 | @SpringBootTest
21 | public class EasyExcelTest {
22 |
23 | @Test
24 | public void doImport() throws FileNotFoundException {
25 | File file = ResourceUtils.getFile("classpath:test_excel.xlsx");
26 | List