2024年12月7日19:18:02

main
LeJingS 3 months ago
parent e1d1987fad
commit 7303ccb11c

@ -0,0 +1,49 @@
-- 部门管理
create table dept(
id int unsigned primary key auto_increment comment '主键ID',
name varchar(10) not null unique comment '部门名称',
create_time datetime not null comment '创建时间',
update_time datetime not null comment '修改时间'
) comment '部门表';
insert into dept (id, name, create_time, update_time) values(1,'学工部',now(),now()),(2,'教研部',now(),now()),(3,'咨询部',now(),now()), (4,'就业部',now(),now()),(5,'人事部',now(),now());
-- 员工管理(带约束)
create table emp (
id int unsigned primary key auto_increment comment 'ID',
username varchar(20) not null unique comment '用户名',
password varchar(32) default '123456' comment '密码',
name varchar(10) not null comment '姓名',
gender tinyint unsigned not null comment '性别, 说明: 1 男, 2 女',
image varchar(300) comment '图像',
job tinyint unsigned comment '职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管, 5 咨询师',
entrydate date comment '入职时间',
dept_id int unsigned comment '部门ID',
create_time datetime not null comment '创建时间',
update_time datetime not null comment '修改时间'
) comment '员工表';
INSERT INTO emp
(id, username, password, name, gender, image, job, entrydate,dept_id, create_time, update_time) VALUES
(1,'jinyong','123456','金庸',1,'1.jpg',4,'2000-01-01',2,now(),now()),
(2,'zhangwuji','123456','张无忌',1,'2.jpg',2,'2015-01-01',2,now(),now()),
(3,'yangxiao','123456','杨逍',1,'3.jpg',2,'2008-05-01',2,now(),now()),
(4,'weiyixiao','123456','韦一笑',1,'4.jpg',2,'2007-01-01',2,now(),now()),
(5,'changyuchun','123456','常遇春',1,'5.jpg',2,'2012-12-05',2,now(),now()),
(6,'xiaozhao','123456','小昭',2,'6.jpg',3,'2013-09-05',1,now(),now()),
(7,'jixiaofu','123456','纪晓芙',2,'7.jpg',1,'2005-08-01',1,now(),now()),
(8,'zhouzhiruo','123456','周芷若',2,'8.jpg',1,'2014-11-09',1,now(),now()),
(9,'dingminjun','123456','丁敏君',2,'9.jpg',1,'2011-03-11',1,now(),now()),
(10,'zhaomin','123456','赵敏',2,'10.jpg',1,'2013-09-05',1,now(),now()),
(11,'luzhangke','123456','鹿杖客',1,'11.jpg',5,'2007-02-01',3,now(),now()),
(12,'hebiweng','123456','鹤笔翁',1,'12.jpg',5,'2008-08-18',3,now(),now()),
(13,'fangdongbai','123456','方东白',1,'13.jpg',5,'2012-11-01',3,now(),now()),
(14,'zhangsanfeng','123456','张三丰',1,'14.jpg',2,'2002-08-01',2,now(),now()),
(15,'yulianzhou','123456','俞莲舟',1,'15.jpg',2,'2011-05-01',2,now(),now()),
(16,'songyuanqiao','123456','宋远桥',1,'16.jpg',2,'2007-01-01',2,now(),now()),
(17,'chenyouliang','123456','陈友谅',1,'17.jpg',NULL,'2015-03-21',NULL,now(),now());

@ -0,0 +1,8 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="tlias-web-management" />
</profile>
</annotationProcessing>
</component>
<component name="JavacSettings">
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
<module name="tlias-web-management" options="-parameters" />
</option>
</component>
</project>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
</component>
</project>

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="https://repo.maven.apache.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
</component>
</project>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_X" default="true" project-jdk-name="23" project-jdk-type="JavaSDK" />
</project>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../../.." vcs="Git" />
</component>
</project>

@ -0,0 +1,72 @@
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.itheima</groupId>
<artifactId>tlias-web-management</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>tlias-web-management</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<!--web起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mybatis起步依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--springboot单元测试-->
<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>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>

@ -0,0 +1,13 @@
package com.itheima;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class TliasWebManagementApplication {
public static void main(String[] args) {
SpringApplication.run(TliasWebManagementApplication.class, args);
}
}

@ -0,0 +1,10 @@
package com.itheima.controller;
import org.springframework.web.bind.annotation.RestController;
/**
* Controller
*/
@RestController
public class DeptController {
}

@ -0,0 +1,10 @@
package com.itheima.controller;
import org.springframework.web.bind.annotation.RestController;
/**
* Controller
*/
@RestController
public class EmpController {
}

@ -0,0 +1,10 @@
package com.itheima.mapper;
import org.apache.ibatis.annotations.Mapper;
/**
*
*/
@Mapper
public interface DeptMapper {
}

@ -0,0 +1,10 @@
package com.itheima.mapper;
import org.apache.ibatis.annotations.Mapper;
/**
*
*/
@Mapper
public interface EmpMapper {
}

@ -0,0 +1,19 @@
package com.itheima.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
/**
*
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Dept {
private Integer id; //ID
private String name; //部门名称
private LocalDateTime createTime; //创建时间
private LocalDateTime updateTime; //修改时间
}

@ -0,0 +1,27 @@
package com.itheima.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
*
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Emp {
private Integer id; //ID
private String username; //用户名
private String password; //密码
private String name; //姓名
private Short gender; //性别 , 1 男, 2 女
private String image; //图像url
private Short job; //职位 , 1 班主任 , 2 讲师 , 3 学工主管 , 4 教研主管 , 5 咨询师
private LocalDate entrydate; //入职日期
private Integer deptId; //部门ID
private LocalDateTime createTime; //创建时间
private LocalDateTime updateTime; //修改时间
}

@ -0,0 +1,7 @@
package com.itheima.service;
/**
*
*/
public interface DeptService {
}

@ -0,0 +1,7 @@
package com.itheima.service;
/**
*
*/
public interface EmpService {
}

@ -0,0 +1,8 @@
package com.itheima.service.impl;
import com.itheima.service.DeptService;
import org.springframework.stereotype.Service;
@Service
public class DeptServiceImpl implements DeptService {
}

@ -0,0 +1,8 @@
package com.itheima.service.impl;
import com.itheima.service.EmpService;
import org.springframework.stereotype.Service;
@Service
public class EmpServiceImpl implements EmpService {
}

@ -0,0 +1,14 @@
#驱动类名称
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库连接的url
spring.datasource.url=jdbc:mysql://localhost:3306/tlias
#连接数据库的用户名
spring.datasource.username=root
#连接数据库的密码
spring.datasource.password=1234
#配置mybatis的日志, 指定输出到控制台
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
#开启mybatis的驼峰命名自动映射开关 a_column ------> aCloumn
mybatis.configuration.map-underscore-to-camel-case=true

@ -0,0 +1,13 @@
package com.itheima;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class TliasWebManagementApplicationTests {
@Test
void contextLoads() {
}
}

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="web" name="Web">
<configuration>
<webroots />
<sourceRoots>
<root url="file://$MODULE_DIR$/src/main/java" />
<root url="file://$MODULE_DIR$/src/main/resources" />
</sourceRoots>
</configuration>
</facet>
<facet type="Spring" name="Spring">
<configuration />
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_11">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.7.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.7.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.7.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.7.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.7.5" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.11" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.11" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.17.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.17.2" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.36" level="project" />
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.30" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.7.5" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.13.4.2" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.13.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.13.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.13.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.13.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.7.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.68" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.68" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.68" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.3.23" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.23" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.3.23" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.23" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.3.23" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.23" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.7.5" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:4.0.3" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.3.23" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.23" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.2.2" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.9" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.7" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.mysql:mysql-connector-j:8.0.31" level="project" />
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.24" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.7.5" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.7.5" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.7.5" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.7.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.4.8" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:2.4.8" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:9.1" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.36" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.22.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.8.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.8.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.8.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.8.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.8.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.8.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:4.5.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy:1.12.18" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.12.18" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:3.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:4.5.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.3.23" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.3.23" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.3.23" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.9.0" level="project" />
</component>
</module>

@ -0,0 +1,859 @@
# tlias智能学习辅助系统接口文档-V1.0
## 1. 部门管理
### 1.1 部门列表查询
#### 1.1.1 基本信息
> 请求路径:/depts
>
> 请求方式GET
>
> 接口描述:该接口用于部门列表数据查询
#### 1.1.2 请求参数
#### 1.1.3 响应数据
参数格式application/json
参数说明:
| 参数名 | 类型 | 是否必须 | 备注 |
| -------------- | --------- | -------- | ------------------------------ |
| code | number | 必须 | 响应码1 代表成功0 代表失败 |
| msg | string | 非必须 | 提示信息 |
| data | object[ ] | 非必须 | 返回的数据 |
| \|- id | number | 非必须 | id |
| \|- name | string | 非必须 | 部门名称 |
| \|- createTime | string | 非必须 | 创建时间 |
| \|- updateTime | string | 非必须 | 修改时间 |
响应数据样例:
```json
{
"code": 1,
"msg": "success",
"data": [
{
"id": 1,
"name": "学工部",
"createTime": "2022-09-01T23:06:29",
"updateTime": "2022-09-01T23:06:29"
},
{
"id": 2,
"name": "教研部",
"createTime": "2022-09-01T23:06:29",
"updateTime": "2022-09-01T23:06:29"
}
]
}
```
### 1.2 删除部门
#### 1.2.1 基本信息
> 请求路径:/depts/{id}
>
> 请求方式DELETE
>
> 接口描述该接口用于根据ID删除部门数据
#### 1.2.2 请求参数
参数格式:路径参数
参数说明:
| 参数名 | 类型 | 是否必须 | 备注 |
| ------ | ------ | -------- | ------ |
| id | number | 必须 | 部门ID |
请求参数样例:
```
/depts/1
```
#### 1.2.3 响应数据
参数格式application/json
参数说明:
| 参数名 | 类型 | 是否必须 | 备注 |
| ------ | ------ | -------- | ------------------------------ |
| code | number | 必须 | 响应码1 代表成功0 代表失败 |
| msg | string | 非必须 | 提示信息 |
| data | object | 非必须 | 返回的数据 |
响应数据样例:
```json
{
"code":1,
"msg":"success",
"data":null
}
```
### 1.3 添加部门
#### 1.3.1 基本信息
> 请求路径:/depts
>
> 请求方式POST
>
> 接口描述:该接口用于添加部门数据
#### 1.3.2 请求参数
格式application/json
参数说明:
| 参数名 | 类型 | 是否必须 | 备注 |
| ------ | ------ | -------- | -------- |
| name | string | 必须 | 部门名称 |
请求参数样例:
```json
{
"name": "教研部"
}
```
#### 1.3.3 响应数据
参数格式application/json
参数说明:
| 参数名 | 类型 | 是否必须 | 备注 |
| ------ | ------ | -------- | ------------------------------ |
| code | number | 必须 | 响应码1 代表成功0 代表失败 |
| msg | string | 非必须 | 提示信息 |
| data | object | 非必须 | 返回的数据 |
响应数据样例:
```json
{
"code":1,
"msg":"success",
"data":null
}
```
### 1.4 根据ID查询
#### 1.4.1 基本信息
> 请求路径:/depts/{id}
>
> 请求方式GET
>
> 接口描述该接口用于根据ID查询部门数据
#### 1.4.2 请求参数
参数格式:路径参数
参数说明:
| 参数名 | 类型 | 是否必须 | 备注 |
| ------ | ------ | -------- | ------ |
| id | number | 必须 | 部门ID |
请求参数样例:
```
/depts/1
```
#### 1.4.3 响应数据
参数格式application/json
参数说明:
| 参数名 | 类型 | 是否必须 | 备注 |
| -------------- | ------ | -------- | ------------------------------ |
| code | number | 必须 | 响应码1 代表成功0 代表失败 |
| msg | string | 非必须 | 提示信息 |
| data | object | 非必须 | 返回的数据 |
| \|- id | number | 非必须 | id |
| \|- name | string | 非必须 | 部门名称 |
| \|- createTime | string | 非必须 | 创建时间 |
| \|- updateTime | string | 非必须 | 修改时间 |
响应数据样例:
```json
{
"code": 1,
"msg": "success",
"data": {
"id": 1,
"name": "学工部",
"createTime": "2022-09-01T23:06:29",
"updateTime": "2022-09-01T23:06:29"
}
}
```
### 1.5 修改部门
#### 1.5.1 基本信息
> 请求路径:/depts
>
> 请求方式PUT
>
> 接口描述:该接口用于修改部门数据
#### 1.5.2 请求参数
格式application/json
参数说明:
| 参数名 | 类型 | 是否必须 | 备注 |
| ------ | ------ | -------- | -------- |
| id | number | 必须 | 部门ID |
| name | string | 必须 | 部门名称 |
请求参数样例:
```json
{
"id": 1,
"name": "教研部"
}
```
#### 1.5.3 响应数据
参数格式application/json
参数说明:
| 参数名 | 类型 | 是否必须 | 备注 |
| ------ | ------ | -------- | ------------------------------ |
| code | number | 必须 | 响应码1 代表成功0 代表失败 |
| msg | string | 非必须 | 提示信息 |
| data | object | 非必须 | 返回的数据 |
响应数据样例:
```json
{
"code":1,
"msg":"success",
"data":null
}
```
## 2. 员工管理
### 2.1 员工列表查询
#### 2.1.1 基本信息
> 请求路径:/emps
>
> 请求方式GET
>
> 接口描述:该接口用于员工列表数据的条件分页查询
#### 2.1.2 请求参数
参数格式queryString
参数说明:
| 参数名称 | 是否必须 | 示例 | 备注 |
| -------- | -------- | ---------- | ------------------------------------------ |
| name | 否 | 张 | 姓名 |
| gender | 否 | 1 | 性别 , 1 男 , 2 女 |
| begin | 否 | 2010-01-01 | 范围匹配的开始时间(入职日期) |
| end | 否 | 2020-01-01 | 范围匹配的结束时间(入职日期) |
| page | 是 | 1 | 分页查询的页码如果未指定默认为1 |
| pageSize | 是 | 10 | 分页查询的每页记录数如果未指定默认为10 |
请求数据样例:
```shell
/emps?name=张&gender=1&begin=2007-09-01&end=2022-09-01&page=1&pageSize=10
```
#### 2.1.3 响应数据
参数格式application/json
参数说明:
| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
| -------------- | --------- | -------- | ------ | ------------------------------------------------------------ | ----------------- |
| code | number | 必须 | | 响应码, 1 成功 , 0 失败 | |
| msg | string | 非必须 | | 提示信息 | |
| data | object | 必须 | | 返回的数据 | |
| \|- total | number | 必须 | | 总记录数 | |
| \|- rows | object [] | 必须 | | 数据列表 | item 类型: object |
| \|- id | number | 非必须 | | id | |
| \|- username | string | 非必须 | | 用户名 | |
| \|- name | string | 非必须 | | 姓名 | |
| \|- password | string | 非必须 | | 密码 | |
| \|- entrydate | string | 非必须 | | 入职日期 | |
| \|- gender | number | 非必须 | | 性别 , 1 男 ; 2 女 | |
| \|- image | string | 非必须 | | 图像 | |
| \|- job | number | 非必须 | | 职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管, 5 咨询师 | |
| \|- deptId | number | 非必须 | | 部门id | |
| \|- createTime | string | 非必须 | | 创建时间 | |
| \|- updateTime | string | 非必须 | | 更新时间 | |
响应数据样例:
```json
{
"code": 1,
"msg": "success",
"data": {
"total": 2,
"rows": [
{
"id": 1,
"username": "jinyong",
"password": "123456",
"name": "金庸",
"gender": 1,
"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
"job": 2,
"entrydate": "2015-01-01",
"deptId": 2,
"createTime": "2022-09-01T23:06:30",
"updateTime": "2022-09-02T00:29:04"
},
{
"id": 2,
"username": "zhangwuji",
"password": "123456",
"name": "张无忌",
"gender": 1,
"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
"job": 2,
"entrydate": "2015-01-01",
"deptId": 2,
"createTime": "2022-09-01T23:06:30",
"updateTime": "2022-09-02T00:29:04"
}
]
}
}
```
### 2.2 删除员工
#### 2.2.1 基本信息
> 请求路径:/emps/{ids}
>
> 请求方式DELETE
>
> 接口描述:该接口用于批量删除员工的数据信息
#### 2.2.2 请求参数
参数格式:路径参数
参数说明:
| 参数名 | 类型 | 示例 | 是否必须 | 备注 |
| ------ | ---------- | ----- | -------- | ------------ |
| ids | 数组 array | 1,2,3 | 必须 | 员工的id数组 |
请求参数样例:
```
/emps/1,2,3
```
#### 2.2.3 响应数据
参数格式application/json
参数说明:
| 参数名 | 类型 | 是否必须 | 备注 |
| ------ | ------ | -------- | ------------------------------ |
| code | number | 必须 | 响应码1 代表成功0 代表失败 |
| msg | string | 非必须 | 提示信息 |
| data | object | 非必须 | 返回的数据 |
响应数据样例:
```json
{
"code":1,
"msg":"success",
"data":null
}
```
### 2.3 添加员工
#### 2.3.1 基本信息
> 请求路径:/emps
>
> 请求方式POST
>
> 接口描述:该接口用于添加员工的信息
#### 2.3.2 请求参数
参数格式application/json
参数说明:
| 名称 | 类型 | 是否必须 | 备注 |
| --------- | ------ | -------- | ------------------------------------------------------------ |
| username | string | 必须 | 用户名 |
| name | string | 必须 | 姓名 |
| gender | number | 必须 | 性别, 说明: 1 男, 2 女 |
| image | string | 非必须 | 图像 |
| deptId | number | 非必须 | 部门id |
| entrydate | string | 非必须 | 入职日期 |
| job | number | 非必须 | 职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管, 5 咨询师 |
请求数据样例:
```json
{
"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-03-07-37-38222.jpg",
"username": "linpingzhi",
"name": "林平之",
"gender": 1,
"job": 1,
"entrydate": "2022-09-18",
"deptId": 1
}
```
#### 2.3.3 响应数据
参数格式application/json
参数说明:
| 参数名 | 类型 | 是否必须 | 备注 |
| ------ | ------ | -------- | ------------------------------ |
| code | number | 必须 | 响应码1 代表成功0 代表失败 |
| msg | string | 非必须 | 提示信息 |
| data | object | 非必须 | 返回的数据 |
响应数据样例:
```json
{
"code":1,
"msg":"success",
"data":null
}
```
### 2.4 根据ID查询
#### 2.4.1 基本信息
> 请求路径:/emps/{id}
>
> 请求方式GET
>
> 接口描述该接口用于根据主键ID查询员工的信息
#### 2.4.2 请求参数
参数格式:路径参数
参数说明:
| 参数名 | 类型 | 是否必须 | 备注 |
| ------ | ------ | -------- | ------ |
| id | number | 必须 | 部门ID |
请求参数样例:
```
/emps/1
```
#### 2.4.3 响应数据
参数格式application/json
参数说明:
| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
| -------------- | ------ | -------- | ------ | ------------------------------------------------------------ | -------- |
| code | number | 必须 | | 响应码, 1 成功 , 0 失败 | |
| msg | string | 非必须 | | 提示信息 | |
| data | object | 必须 | | 返回的数据 | |
| \|- id | number | 非必须 | | id | |
| \|- username | string | 非必须 | | 用户名 | |
| \|- name | string | 非必须 | | 姓名 | |
| \|- password | string | 非必须 | | 密码 | |
| \|- entrydate | string | 非必须 | | 入职日期 | |
| \|- gender | number | 非必须 | | 性别 , 1 男 ; 2 女 | |
| \|- image | string | 非必须 | | 图像 | |
| \|- job | number | 非必须 | | 职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管, 5 咨询师 | |
| \|- deptId | number | 非必须 | | 部门id | |
| \|- createTime | string | 非必须 | | 创建时间 | |
| \|- updateTime | string | 非必须 | | 更新时间 | |
响应数据样例:
```json
{
"code": 1,
"msg": "success",
"data": {
"id": 2,
"username": "zhangwuji",
"password": "123456",
"name": "张无忌",
"gender": 1,
"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
"job": 2,
"entrydate": "2015-01-01",
"deptId": 2,
"createTime": "2022-09-01T23:06:30",
"updateTime": "2022-09-02T00:29:04"
}
}
```
### 2.5 修改员工
#### 2.5.1 基本信息
> 请求路径:/emps
>
> 请求方式PUT
>
> 接口描述:该接口用于修改员工的数据信息
#### 2.5.2 请求参数
参数格式application/json
参数说明:
| 名称 | 类型 | 是否必须 | 备注 |
| --------- | ------ | -------- | ------------------------------------------------------------ |
| id | number | 必须 | id |
| username | string | 必须 | 用户名 |
| name | string | 必须 | 姓名 |
| gender | number | 必须 | 性别, 说明: 1 男, 2 女 |
| image | string | 非必须 | 图像 |
| deptId | number | 非必须 | 部门id |
| entrydate | string | 非必须 | 入职日期 |
| job | number | 非必须 | 职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管, 5 咨询师 |
请求数据样例:
```json
{
"id": 1,
"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-03-07-37-38222.jpg",
"username": "linpingzhi",
"name": "林平之",
"gender": 1,
"job": 1,
"entrydate": "2022-09-18",
"deptId": 1
}
```
#### 2.5.3 响应数据
参数格式application/json
参数说明:
| 参数名 | 类型 | 是否必须 | 备注 |
| ------ | ------ | -------- | ------------------------------ |
| code | number | 必须 | 响应码1 代表成功0 代表失败 |
| msg | string | 非必须 | 提示信息 |
| data | object | 非必须 | 返回的数据 |
响应数据样例:
```json
{
"code":1,
"msg":"success",
"data":null
}
```
### 2.6 文件上传
#### 2.6.1 基本信息
> 请求路径:/upload
>
> 请求方式POST
>
> 接口描述:上传图片接口
#### 2.6.2 请求参数
参数格式multipart/form-data
参数说明:
| 参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
| -------- | -------- | -------- | ---- | ---- |
| image | file | 是 | | |
#### 2.6.3 响应数据
参数格式application/json
参数说明:
| 参数名 | 类型 | 是否必须 | 备注 |
| ------ | ------ | -------- | ------------------------------ |
| code | number | 必须 | 响应码1 代表成功0 代表失败 |
| msg | string | 非必须 | 提示信息 |
| data | object | 非必须 | 返回的数据,上传图片的访问路径 |
响应数据样例:
```json
{
"code": 1,
"msg": "success",
"data": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-0400.jpg"
}
```
## 3. 其他接口
### 3.1 登录
#### 3.1.1 基本信息
> 请求路径:/login
>
> 请求方式POST
>
> 接口描述该接口用于员工登录Tlias智能学习辅助系统登录完毕后系统下发JWT令牌。
#### 3.1.2 请求参数
参数格式application/json
参数说明:
| 名称 | 类型 | 是否必须 | 备注 |
| -------- | ------ | -------- | ------ |
| username | string | 必须 | 用户名 |
| password | string | 必须 | 密码 |
请求数据样例:
```json
{
"username": "jinyong",
"password": "123456"
}
```
#### 3.1.3 响应数据
参数格式application/json
参数说明:
| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
| ---- | ------ | -------- | ------ | ------------------------ | -------- |
| code | number | 必须 | | 响应码, 1 成功 ; 0 失败 | |
| msg | string | 非必须 | | 提示信息 | |
| data | string | 必须 | | 返回的数据 , jwt令牌 | |
响应数据样例:
```json
{
"code": 1,
"msg": "success",
"data": "eyJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoi6YeR5bq4IiwiaWQiOjEsInVzZXJuYW1lIjoiamlueW9uZyIsImV4cCI6MTY2MjIwNzA0OH0.KkUc_CXJZJ8Dd063eImx4H9Ojfrr6XMJ-yVzaWCVZCo"
}
```
#### 3.1.4 备注说明
> 用户登录成功后系统会自动下发JWT令牌然后在后续的每次请求中都需要在请求头header中携带到服务端请求头的名称为 token ,值为 登录时下发的JWT令牌。
>
> 如果检测到用户未登录,则会返回如下固定错误信息:
>
> ```json
> {
> "code": 0,
> "msg": "NOT_LOGIN",
> "data": null
> }
> ```
Loading…
Cancel
Save