├── .DS_Store
├── src
├── .DS_Store
├── test
│ ├── .DS_Store
│ └── java
│ │ └── com
│ │ └── yupi
│ │ └── springbootinit
│ │ ├── MainApplicationTests.java
│ │ ├── manager
│ │ ├── RedisLimiterManagerTest.java
│ │ ├── CosManagerTest.java
│ │ ├── AiManagerTestMarkDown.java
│ │ └── AiManagerTest.java
│ │ ├── mapper
│ │ └── ChartMapperTest.java
│ │ ├── utils
│ │ ├── EasyExcelTest.java
│ │ └── TxtUtilsTest.java
│ │ └── service
│ │ └── UserServiceTest.java
└── main
│ ├── resources
│ ├── banner.txt
│ ├── 图表数据.xlsx
│ ├── application-test.yml
│ ├── application-prod.yml
│ ├── mapper
│ │ ├── CreditMapper.xml
│ │ ├── UserMapper.xml
│ │ ├── TextRecordMapper.xml
│ │ ├── OrdersMapper.xml
│ │ ├── TextTaskMapper.xml
│ │ └── ChartMapper.xml
│ ├── META-INF
│ │ └── additional-spring-configuration-metadata.json
│ ├── 笔记.txt
│ └── application.yml
│ └── java
│ └── com
│ └── yupi
│ └── springbootinit
│ ├── model
│ ├── vo
│ │ ├── AiResponse.java
│ │ ├── TextTaskVO.java
│ │ ├── UserVO.java
│ │ ├── LoginUserVO.java
│ │ └── ChartVO.java
│ ├── dto
│ │ ├── text
│ │ │ ├── TextRebuildRequest.java
│ │ │ ├── GenTextTaskByAiRequest.java
│ │ │ ├── TextAddRequest.java
│ │ │ ├── TextEditRequest.java
│ │ │ ├── TextUpdateRequest.java
│ │ │ └── TextTaskQueryRequest.java
│ │ ├── chart
│ │ │ ├── ChartRebuildRequest.java
│ │ │ ├── GenChartByAiRequest.java
│ │ │ ├── ChartAddRequest.java
│ │ │ ├── ChartEditRequest.java
│ │ │ ├── ChartUpdateRequest.java
│ │ │ └── ChartQueryRequest.java
│ │ ├── file
│ │ │ └── UploadFileRequest.java
│ │ ├── user
│ │ │ ├── UserLoginRequest.java
│ │ │ ├── UserRegisterRequest.java
│ │ │ ├── UserUpdateMyRequest.java
│ │ │ ├── UserAddRequest.java
│ │ │ ├── UserUpdateRequest.java
│ │ │ └── UserQueryRequest.java
│ │ ├── order
│ │ │ ├── OrderAddRequest.java
│ │ │ └── OrderUpdateRequest.java
│ │ └── credit
│ │ │ ├── CreditEditRequest.java
│ │ │ ├── CreditUpdateRequest.java
│ │ │ ├── CreditAddRequest.java
│ │ │ └── CreditQueryRequest.java
│ ├── entity
│ │ ├── Credit.java
│ │ ├── User.java
│ │ ├── TextRecord.java
│ │ ├── Orders.java
│ │ ├── TextTask.java
│ │ └── Chart.java
│ └── enums
│ │ ├── FileUploadBizEnum.java
│ │ └── UserRoleEnum.java
│ ├── constant
│ ├── FileConstant.java
│ ├── CommonConstant.java
│ ├── TextConstant.java
│ ├── CreditConstant.java
│ ├── OrdersConstant.java
│ ├── UserConstant.java
│ ├── ChartConstant.java
│ └── MqConstant.java
│ ├── wxmp
│ ├── WxMpConstant.java
│ ├── handler
│ │ ├── EventHandler.java
│ │ ├── MessageHandler.java
│ │ └── SubscribeHandler.java
│ └── WxMpMsgRouter.java
│ ├── service
│ ├── OrdersService.java
│ ├── TextRecordService.java
│ ├── impl
│ │ ├── OrdersServiceImpl.java
│ │ ├── TextRecordServiceImpl.java
│ │ ├── CreditServiceImpl.java
│ │ ├── TextTaskServiceImpl.java
│ │ └── ChartServiceImpl.java
│ ├── CreditService.java
│ ├── TextTaskService.java
│ ├── ChartService.java
│ └── UserService.java
│ ├── mapper
│ ├── UserMapper.java
│ ├── CreditMapper.java
│ ├── OrdersMapper.java
│ ├── TextTaskMapper.java
│ ├── TextRecordMapper.java
│ └── ChartMapper.java
│ ├── common
│ ├── DeleteRequest.java
│ ├── PageRequest.java
│ ├── BaseResponse.java
│ ├── ErrorCode.java
│ └── ResultUtils.java
│ ├── annotation
│ └── AuthCheck.java
│ ├── utils
│ ├── SqlUtils.java
│ ├── SpringContextUtils.java
│ ├── NetUtils.java
│ ├── TxtUtils.java
│ └── ExcelUtils.java
│ ├── mq
│ ├── common
│ │ └── MqMessageProducer.java
│ ├── Bi
│ │ ├── BiMqInitMain.java
│ │ ├── BiMessageDeadConsumer.java
│ │ └── BiMessageConsumer.java
│ ├── Text
│ │ ├── TextMqInitMain.java
│ │ ├── TextMessageDeadConsumer.java
│ │ └── TextMessageConsumer.java
│ └── Alipay
│ │ ├── AlipayMqInitMain.java
│ │ ├── AlipayMessageConsumer.java
│ │ └── AlipayMessageDeadConsumer.java
│ ├── exception
│ ├── BusinessException.java
│ ├── GlobalExceptionHandler.java
│ └── ThrowUtils.java
│ ├── config
│ ├── CorsConfig.java
│ ├── MyBatisPlusConfig.java
│ ├── RedissonConfig.java
│ ├── JsonConfig.java
│ ├── ThreadPoolExecutorConfig.java
│ ├── CosClientConfig.java
│ ├── Knife4jConfig.java
│ ├── WxOpenConfig.java
│ └── AliPayConfig.java
│ ├── MainApplication.java
│ ├── manager
│ ├── RedisLimiterManager.java
│ ├── AiManager.java
│ └── CosManager.java
│ ├── controller
│ ├── QueueController.java
│ ├── FileController.java
│ └── AliPayController.java
│ └── aop
│ ├── LogInterceptor.java
│ └── AuthInterceptor.java
├── doc
└── swagger.png
├── .mvn
└── wrapper
│ └── maven-wrapper.properties
├── Dockerfile
├── sql
├── post_es_mapping.json
└── create_table.sql
├── README.md
├── .gitignore
├── pom.xml
└── mvnw.cmd
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MA-douzhang/gebi-backend/HEAD/.DS_Store
--------------------------------------------------------------------------------
/src/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MA-douzhang/gebi-backend/HEAD/src/.DS_Store
--------------------------------------------------------------------------------
/doc/swagger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MA-douzhang/gebi-backend/HEAD/doc/swagger.png
--------------------------------------------------------------------------------
/src/test/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MA-douzhang/gebi-backend/HEAD/src/test/.DS_Store
--------------------------------------------------------------------------------
/src/main/resources/banner.txt:
--------------------------------------------------------------------------------
1 | by 程序员鱼皮:https://github.com/liyupi
2 | 可能是最好的编程学习圈子:https://yupi.icu
3 |
--------------------------------------------------------------------------------
/src/main/resources/图表数据.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MA-douzhang/gebi-backend/HEAD/src/main/resources/图表数据.xlsx
--------------------------------------------------------------------------------
/.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/yupi/springbootinit/model/vo/AiResponse.java:
--------------------------------------------------------------------------------
1 | package com.yupi.springbootinit.model.vo;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class AiResponse {
7 |
8 | /**
9 | * 返回结果id
10 | */
11 | private Long resultId;
12 | }
13 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM maven:3.8.1-jdk-8-slim as builder
2 |
3 | # Copy local code to the container image.
4 | WORKDIR /app
5 | COPY pom.xml .
6 | COPY src ./src
7 |
8 | # Build a release artifact.
9 | RUN mvn package -DskipTests
10 |
11 | # Run the web service on container startup.
12 | CMD ["java","-jar","/app/target/gebi-backend-0.0.1-SNAPSHOT.jar","--spring.profiles.active=prod"]
13 |
--------------------------------------------------------------------------------
/src/main/java/com/yupi/springbootinit/constant/FileConstant.java:
--------------------------------------------------------------------------------
1 | package com.yupi.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://yupi.icu";
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/yupi/springbootinit/wxmp/WxMpConstant.java:
--------------------------------------------------------------------------------
1 | package com.yupi.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/yupi/springbootinit/service/OrdersService.java:
--------------------------------------------------------------------------------
1 | package com.yupi.springbootinit.service;
2 |
3 | import com.yupi.springbootinit.model.entity.Orders;
4 | import com.baomidou.mybatisplus.extension.service.IService;
5 |
6 | /**
7 | * @author MA_dou
8 | * @description 针对表【orders(充值订单表)】的数据库操作Service
9 | * @createDate 2023-07-06 20:36:41
10 | */
11 | public interface OrdersService extends IService {
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/com/yupi/springbootinit/model/dto/text/TextRebuildRequest.java:
--------------------------------------------------------------------------------
1 | package com.yupi.springbootinit.model.dto.text;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 重新生成请求
9 | *
10 | */
11 | @Data
12 | public class TextRebuildRequest implements Serializable {
13 |
14 | /**
15 | * id
16 | */
17 | private Long id;
18 |
19 | private static final long serialVersionUID = 1L;
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/com/yupi/springbootinit/model/dto/chart/ChartRebuildRequest.java:
--------------------------------------------------------------------------------
1 | package com.yupi.springbootinit.model.dto.chart;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 重新生成请求
9 | *
10 | */
11 | @Data
12 | public class ChartRebuildRequest implements Serializable {
13 |
14 | /**
15 | * id
16 | */
17 | private Long id;
18 |
19 | private static final long serialVersionUID = 1L;
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/com/yupi/springbootinit/mapper/UserMapper.java:
--------------------------------------------------------------------------------
1 | package com.yupi.springbootinit.mapper;
2 |
3 | import com.yupi.springbootinit.model.entity.User;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 |
6 | /**
7 | * @author MA_dou
8 | * @description 针对表【user(用户)】的数据库操作Mapper
9 | * @createDate 2023-05-26 23:18:53
10 | * @Entity com.yupi.springbootinit.model.entity.User
11 | */
12 | public interface UserMapper extends BaseMapper {
13 |
14 | }
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/main/java/com/yupi/springbootinit/constant/CommonConstant.java:
--------------------------------------------------------------------------------
1 | package com.yupi.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 |
--------------------------------------------------------------------------------
/src/main/java/com/yupi/springbootinit/mapper/CreditMapper.java:
--------------------------------------------------------------------------------
1 | package com.yupi.springbootinit.mapper;
2 |
3 | import com.yupi.springbootinit.model.entity.Credit;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 |
6 | /**
7 | * @author MA_dou
8 | * @description 针对表【credit(积分表)】的数据库操作Mapper
9 | * @createDate 2023-06-28 21:29:40
10 | * @Entity com.yupi.springbootinit.model.entity.Credit
11 | */
12 | public interface CreditMapper extends BaseMapper {
13 |
14 | }
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/main/java/com/yupi/springbootinit/mapper/OrdersMapper.java:
--------------------------------------------------------------------------------
1 | package com.yupi.springbootinit.mapper;
2 |
3 | import com.yupi.springbootinit.model.entity.Orders;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 |
6 | /**
7 | * @author MA_dou
8 | * @description 针对表【orders(充值订单表)】的数据库操作Mapper
9 | * @createDate 2023-07-06 20:36:41
10 | * @Entity com.yupi.springbootinit.model.entity.Orders
11 | */
12 | public interface OrdersMapper extends BaseMapper {
13 |
14 | }
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/main/java/com/yupi/springbootinit/common/DeleteRequest.java:
--------------------------------------------------------------------------------
1 | package com.yupi.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/yupi/springbootinit/mapper/TextTaskMapper.java:
--------------------------------------------------------------------------------
1 | package com.yupi.springbootinit.mapper;
2 |
3 | import com.yupi.springbootinit.model.entity.TextTask;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 |
6 | /**
7 | * @author MA_dou
8 | * @description 针对表【text_task(文本任务表)】的数据库操作Mapper
9 | * @createDate 2023-07-12 20:32:15
10 | * @Entity com.yupi.springbootinit.model.entity.TextTask
11 | */
12 | public interface TextTaskMapper extends BaseMapper {
13 |
14 | }
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/main/java/com/yupi/springbootinit/mapper/TextRecordMapper.java:
--------------------------------------------------------------------------------
1 | package com.yupi.springbootinit.mapper;
2 |
3 | import com.yupi.springbootinit.model.entity.TextRecord;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 |
6 | /**
7 | * @author MA_dou
8 | * @description 针对表【text_record(文本记录表)】的数据库操作Mapper
9 | * @createDate 2023-07-12 20:32:09
10 | * @Entity com.yupi.springbootinit.model.entity.TextRecord
11 | */
12 | public interface TextRecordMapper extends BaseMapper {
13 |
14 | }
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/main/java/com/yupi/springbootinit/model/dto/file/UploadFileRequest.java:
--------------------------------------------------------------------------------
1 | package com.yupi.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/yupi/springbootinit/model/dto/text/GenTextTaskByAiRequest.java:
--------------------------------------------------------------------------------
1 | package com.yupi.springbootinit.model.dto.text;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 文本生成请求
9 | *
10 | */
11 | @Data
12 | public class GenTextTaskByAiRequest implements Serializable {
13 |
14 | /**
15 | * 笔记名称
16 | */
17 | private String name;
18 |
19 | /**
20 | * 文本类型
21 | */
22 | private String textType;
23 |
24 |
25 |
26 | private static final long serialVersionUID = 1L;
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/com/yupi/springbootinit/model/dto/user/UserLoginRequest.java:
--------------------------------------------------------------------------------
1 | package com.yupi.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/resources/application-test.yml:
--------------------------------------------------------------------------------
1 | server:
2 | port: 8101
3 | spring:
4 | # 数据库配置
5 | # todo 需替换配置
6 | datasource:
7 | driver-class-name: com.mysql.cj.jdbc.Driver
8 | url: jdbc:mysql://localhost:3306/my_db
9 | username: root
10 | password: 123456
11 | # Redis 配置
12 | # todo 需替换配置
13 | redis:
14 | database: 1
15 | host: localhost
16 | port: 6379
17 | timeout: 5000
18 | password: 123456
19 | # Elasticsearch 配置
20 | # todo 需替换配置
21 | elasticsearch:
22 | uris: http://localhost:9200
23 | username: root
24 | password: 123456
--------------------------------------------------------------------------------
/src/main/java/com/yupi/springbootinit/mapper/ChartMapper.java:
--------------------------------------------------------------------------------
1 | package com.yupi.springbootinit.mapper;
2 |
3 | import com.yupi.springbootinit.model.entity.Chart;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 |
6 | import java.util.List;
7 | import java.util.Map;
8 |
9 | /**
10 | * @author MA_dou
11 | * @description 针对表【chart(图表信息表)】的数据库操作Mapper
12 | * @createDate 2023-05-26 23:18:07
13 | * @Entity com.yupi.springbootinit.model.entity.Chart
14 | */
15 | public interface ChartMapper extends BaseMapper {
16 | List