初始提交

This commit is contained in:
liuzhiming 2026-03-11 18:02:29 +08:00
parent 24bc351e47
commit c2c041c600
7 changed files with 221 additions and 145 deletions

26
.gitignore vendored
View File

@ -1,26 +0,0 @@
# ---> Java
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
replay_pid*

View File

@ -1,2 +0,0 @@
# ai-china-southern-power-grid

104
pom.xml Normal file
View File

@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.csg</groupId>
<artifactId>ai-china-southern-power-grid</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>ai-china-southern-power-grid</name>
<description>ai-china-southern-power-grid</description>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring-boot.version>2.7.18</spring-boot.version>
<mybatis-plus.version>3.5.12</mybatis-plus.version>
<lombok.version>1.18.36</lombok.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Spring Boot Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- MyBatis-Plus (适配 Spring Boot 2) -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- MySQL 驱动,版本由 Spring Boot 管理 -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- Lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<optional>true</optional>
</dependency>
<!-- Spring Boot Test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<!-- 新增 executions 部分,确保 repackage 目标被执行 -->
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.14.0</version>
<configuration>
<release>8</release> <!-- 使用 release 替代 source/target自动处理引导类路径 -->
<encoding>UTF-8</encoding>
<parameters>true</parameters>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -1,19 +1,19 @@
package com.southern.power.grid; package com.southern.power.grid;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
/** /**
* MyBatis-Plus测试应用启动类 * MyBatis-Plus测试应用启动类
* *
* @author jinshan * @author jinshan
*/ */
@SpringBootApplication @SpringBootApplication
public class SouthernPowerGridApplication { public class SouthernPowerGridApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(SouthernPowerGridApplication.class, args); SpringApplication.run(SouthernPowerGridApplication.class, args);
} }
} }

View File

@ -1,29 +1,29 @@
package com.southern.power.grid.common; package com.southern.power.grid.common;
import lombok.Data; import lombok.Data;
@Data @Data
public class Result<T> { public class Result<T> {
private String code; private String code;
private String message; private String message;
private T data; private T data;
public static <T> Result<T> success(T data) { public static <T> Result<T> success(T data) {
Result<T> result = new Result<>(); Result<T> result = new Result<>();
result.setCode("ok"); result.setCode("ok");
result.setMessage("success"); result.setMessage("success");
result.setData(data); result.setData(data);
return result; return result;
} }
public static <T> Result<T> error(String message) { public static <T> Result<T> error(String message) {
return error("error", message); return error("error", message);
} }
public static <T> Result<T> error(String code, String message) { public static <T> Result<T> error(String code, String message) {
Result<T> result = new Result<>(); Result<T> result = new Result<>();
result.setCode(code); result.setCode(code);
result.setMessage(message); result.setMessage(message);
return result; return result;
} }
} }

View File

@ -1,36 +1,36 @@
package com.southern.power.grid.controller; package com.southern.power.grid.controller;
import com.southern.power.grid.common.Result; import com.southern.power.grid.common.Result;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ContentDisposition; import org.springframework.http.ContentDisposition;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.InputStream; import java.io.InputStream;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
/** /**
* AI问答消息Controller * AI问答消息Controller
* *
* @author system * @author system
* @date 2025-01-15 * @date 2025-01-15
*/ */
@RestController @RestController
@RequestMapping("/api/ai/message") @RequestMapping("/api/ai/message")
@Slf4j @Slf4j
public class AiMessageController { public class AiMessageController {
/** /**
* demo * demo
*/ */
@GetMapping("/report/download/{messageId}") @GetMapping("/report/download/{messageId}")
public Result<Boolean> downloadReport() { public Result<Boolean> downloadReport() {
log.info("download report"); log.info("download report");
return Result.success(Boolean.TRUE); return Result.success(Boolean.TRUE);
} }
} }

View File

@ -1,33 +1,33 @@
server: server:
port: 8080 port: 8080
spring: spring:
application: application:
name: jinshan-mybatis-test name: ai-china-southern-power-grid
datasource: datasource:
type: com.zaxxer.hikari.HikariDataSource type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:13360/jinshan?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true url: jdbc:mysql://127.0.0.1:13360/jinshan?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
username: jinshan username: jinshan
password: jinshan@1234A. password: jinshan@1234A.
hikari: hikari:
connection-timeout: 30000 connection-timeout: 30000
validation-timeout: 5000 validation-timeout: 5000
minimum-idle: 10 minimum-idle: 10
maximum-pool-size: 20 maximum-pool-size: 20
idle-timeout: 600000 idle-timeout: 600000
max-lifetime: 900000 max-lifetime: 900000
keepaliveTime: 30000 keepaliveTime: 30000
# MyBatis-Plus配置 # MyBatis-Plus配置
mybatis-plus: mybatis-plus:
configuration: configuration:
map-underscore-to-camel-case: true map-underscore-to-camel-case: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config: global-config:
db-config: db-config:
id-type: auto id-type: auto
table-underline: true table-underline: true
mapper-locations: classpath*:mapper/**/*.xml mapper-locations: classpath*:mapper/**/*.xml
type-aliases-package: com.jinshan.mybatistest.entity type-aliases-package: com.jinshan.mybatistest.entity