From cd1dddb798b6b1917cb6c7a2e33d133267eb5986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E4=BA=9A=E9=B9=8F?= <13666640+zhao-yapengaaa@user.noreply.gitee.com> Date: Fri, 7 Nov 2025 11:30:56 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=AE=E5=89=8D=E5=AE=8C=E6=88=90=E4=BA=86?= =?UTF-8?q?=E6=89=80=E6=9C=89=E7=9A=84=E5=8A=9F=E8=83=BD=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=EF=BC=8C=E5=87=86=E5=A4=87=E8=BF=9B=E8=A1=8C=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 8 ++ .idea/compiler.xml | 21 ++++ .idea/encodings.xml | 6 ++ .idea/jarRepositories.xml | 20 ++++ .idea/misc.xml | 14 +++ .idea/vcs.xml | 6 ++ .mvn/wrapper/maven-wrapper.properties | 3 + pom.xml | 94 ++++++++++++++++++ .../zyp/stusystem/StuSystemApplication.java | 13 +++ .../stusystem/config/MyBatisPlusConfig.java | 18 ++++ .../stusystem/controller/ClassController.java | 66 ++++++++++++ .../controller/StudentController.java | 63 ++++++++++++ .../cn/zyp/stusystem/entity/GradeClass.java | 27 +++++ .../java/cn/zyp/stusystem/entity/Student.java | 37 +++++++ .../cn/zyp/stusystem/mapper/ClassMapper.java | 10 ++ .../zyp/stusystem/mapper/StudentMapper.java | 9 ++ .../zyp/stusystem/service/ClassService.java | 14 +++ .../zyp/stusystem/service/StudentService.java | 12 +++ .../service/impl/ClassServiceImpl.java | 43 ++++++++ .../service/impl/StudentServiceImpl.java | 57 +++++++++++ src/main/resources/application.yaml | 13 +++ .../stusystem/StuSystemApplicationTests.java | 13 +++ target/classes/application.yaml | 13 +++ .../zyp/stusystem/StuSystemApplication.class | Bin 0 -> 748 bytes .../stusystem/config/MyBatisPlusConfig.class | Bin 0 -> 1024 bytes .../controller/ClassController.class | Bin 0 -> 4459 bytes .../controller/StudentController.class | Bin 0 -> 4341 bytes .../cn/zyp/stusystem/entity/GradeClass.class | Bin 0 -> 3972 bytes .../cn/zyp/stusystem/entity/Student.class | Bin 0 -> 5668 bytes .../cn/zyp/stusystem/mapper/ClassMapper.class | Bin 0 -> 391 bytes .../zyp/stusystem/mapper/StudentMapper.class | Bin 0 -> 392 bytes .../zyp/stusystem/service/ClassService.class | Bin 0 -> 590 bytes .../stusystem/service/StudentService.class | Bin 0 -> 762 bytes .../service/impl/ClassServiceImpl.class | Bin 0 -> 2300 bytes .../service/impl/StudentServiceImpl.class | Bin 0 -> 5788 bytes 35 files changed, 580 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 .mvn/wrapper/maven-wrapper.properties create mode 100644 pom.xml create mode 100644 src/main/java/cn/zyp/stusystem/StuSystemApplication.java create mode 100644 src/main/java/cn/zyp/stusystem/config/MyBatisPlusConfig.java create mode 100644 src/main/java/cn/zyp/stusystem/controller/ClassController.java create mode 100644 src/main/java/cn/zyp/stusystem/controller/StudentController.java create mode 100644 src/main/java/cn/zyp/stusystem/entity/GradeClass.java create mode 100644 src/main/java/cn/zyp/stusystem/entity/Student.java create mode 100644 src/main/java/cn/zyp/stusystem/mapper/ClassMapper.java create mode 100644 src/main/java/cn/zyp/stusystem/mapper/StudentMapper.java create mode 100644 src/main/java/cn/zyp/stusystem/service/ClassService.java create mode 100644 src/main/java/cn/zyp/stusystem/service/StudentService.java create mode 100644 src/main/java/cn/zyp/stusystem/service/impl/ClassServiceImpl.java create mode 100644 src/main/java/cn/zyp/stusystem/service/impl/StudentServiceImpl.java create mode 100644 src/main/resources/application.yaml create mode 100644 src/test/java/cn/zyp/stusystem/stusystem/StuSystemApplicationTests.java create mode 100644 target/classes/application.yaml create mode 100644 target/classes/cn/zyp/stusystem/StuSystemApplication.class create mode 100644 target/classes/cn/zyp/stusystem/config/MyBatisPlusConfig.class create mode 100644 target/classes/cn/zyp/stusystem/controller/ClassController.class create mode 100644 target/classes/cn/zyp/stusystem/controller/StudentController.class create mode 100644 target/classes/cn/zyp/stusystem/entity/GradeClass.class create mode 100644 target/classes/cn/zyp/stusystem/entity/Student.class create mode 100644 target/classes/cn/zyp/stusystem/mapper/ClassMapper.class create mode 100644 target/classes/cn/zyp/stusystem/mapper/StudentMapper.class create mode 100644 target/classes/cn/zyp/stusystem/service/ClassService.class create mode 100644 target/classes/cn/zyp/stusystem/service/StudentService.class create mode 100644 target/classes/cn/zyp/stusystem/service/impl/ClassServiceImpl.class create mode 100644 target/classes/cn/zyp/stusystem/service/impl/StudentServiceImpl.class diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..f80780a --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..63e9001 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..82dbec8 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..c0bcafe --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,3 @@ +wrapperVersion=3.3.4 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..67c555d --- /dev/null +++ b/pom.xml @@ -0,0 +1,94 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.5.7 + + + cn.zyp.stuSystem + StuSystem + 0.0.1-SNAPSHOT + StuSystem + StuSystem + + + + + + + + + + + + + + + 17 + + + + org.springframework.boot + spring-boot-starter-web + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 3.0.5 + + + + com.mysql + mysql-connector-j + runtime + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + com.baomidou + mybatis-plus-boot-starter + 3.5.5 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.projectlombok + lombok + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/src/main/java/cn/zyp/stusystem/StuSystemApplication.java b/src/main/java/cn/zyp/stusystem/StuSystemApplication.java new file mode 100644 index 0000000..b4f52ba --- /dev/null +++ b/src/main/java/cn/zyp/stusystem/StuSystemApplication.java @@ -0,0 +1,13 @@ +package cn.zyp.stusystem; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class StuSystemApplication { + + public static void main(String[] args) { + SpringApplication.run(StuSystemApplication.class, args); + } + +} diff --git a/src/main/java/cn/zyp/stusystem/config/MyBatisPlusConfig.java b/src/main/java/cn/zyp/stusystem/config/MyBatisPlusConfig.java new file mode 100644 index 0000000..2fff08c --- /dev/null +++ b/src/main/java/cn/zyp/stusystem/config/MyBatisPlusConfig.java @@ -0,0 +1,18 @@ +package cn.zyp.stusystem.config; + +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class MyBatisPlusConfig { + + // 配置分页插件 + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); + return interceptor; + } +} \ No newline at end of file diff --git a/src/main/java/cn/zyp/stusystem/controller/ClassController.java b/src/main/java/cn/zyp/stusystem/controller/ClassController.java new file mode 100644 index 0000000..5c5b3da --- /dev/null +++ b/src/main/java/cn/zyp/stusystem/controller/ClassController.java @@ -0,0 +1,66 @@ +package cn.zyp.stusystem.controller; + + +import cn.zyp.stusystem.entity.GradeClass; +import cn.zyp.stusystem.service.ClassService; +import org.apache.ibatis.annotations.Param; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/api/class") +public class ClassController { + + @Autowired + private ClassService classService; + + //根据年级查询班级列表 + @GetMapping("/list") + public Map getClassList(@RequestParam Integer grade,@RequestParam(required = false) String name){ + List gradeClasses = classService.findClassByGradeId(grade); + System.out.println(gradeClasses); + + //过滤班级名称 + if(name != null){ + gradeClasses= gradeClasses.stream().filter(gradeClass -> gradeClass.getName().contains(name)).toList(); + } + Map result = new HashMap<>(); + result.put("data",gradeClasses); + return result; + } + + //新增班级 + @PostMapping("/add") + public boolean addClass(@RequestBody GradeClass gradeClass){ + return classService.save(gradeClass); + } + + //编辑班级 + @PutMapping("/edit") + public boolean editClass(@RequestBody GradeClass gradeClass){ + return classService.updateById(gradeClass); + } + + //删除班级 + @DeleteMapping("/delete/{id}") + public boolean deleteClass(@PathVariable Integer id){ + if(classService.isClassHasStudent(id)){ + return false; + }else { + return classService.removeById(id); + } + } + + @GetMapping("/check") + //检查班级是否有学生 + public Map checkClassHasStudent(@RequestParam Integer classId){ + Map result = new HashMap<>(); + result.put("data",classService.isClassHasStudent(classId)); + return result; + } +} diff --git a/src/main/java/cn/zyp/stusystem/controller/StudentController.java b/src/main/java/cn/zyp/stusystem/controller/StudentController.java new file mode 100644 index 0000000..2d831d6 --- /dev/null +++ b/src/main/java/cn/zyp/stusystem/controller/StudentController.java @@ -0,0 +1,63 @@ +package cn.zyp.stusystem.controller; + + +import cn.zyp.stusystem.entity.Student; +import cn.zyp.stusystem.service.StudentService; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +@RestController +@RequestMapping("/api/student") +public class StudentController { + + @Autowired + private StudentService studentService; + + //获取学生列表 + @GetMapping("/list") + public Map getStudentList( + @RequestParam Integer page, // 页码(从1开始) + @RequestParam Integer size, // 每页条数 + @RequestParam Integer grade, // 年级(1-3) + @RequestParam(required = false) Long classId, // 班级ID + @RequestParam(required = false) String name + ){ + IPage studentPage = studentService.selectPageStudent(page,size,grade,classId,name); + Map result = new HashMap<>(); + result.put("list",studentPage.getRecords()); + result.put("total",studentPage.getTotal()); + + //测试 + System.out.println("后端返回的学生数据:" + result); + + return result; + } + + //新增学生 + @PostMapping("/add") + public boolean addStudent(@RequestBody Student student){ + return studentService.save(student); + } + + //编辑学生 + @PutMapping("/edit") + public boolean editStudent(@RequestBody Student student){ + return studentService.updateById(student); + } + + //删除学生 + @DeleteMapping("/delete/{id}") + public boolean deleteStudent(@PathVariable String id){ + if(id.contains(",")){ + String[] ids = id.split(","); + return studentService.removeByIds(Arrays.asList(ids)); + }else { + return studentService.removeById(id); + } + } +} diff --git a/src/main/java/cn/zyp/stusystem/entity/GradeClass.java b/src/main/java/cn/zyp/stusystem/entity/GradeClass.java new file mode 100644 index 0000000..f7dbe7f --- /dev/null +++ b/src/main/java/cn/zyp/stusystem/entity/GradeClass.java @@ -0,0 +1,27 @@ +package cn.zyp.stusystem.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@TableName("class") +@AllArgsConstructor +@NoArgsConstructor +public class GradeClass { + @TableId(type = IdType.AUTO) + private Long id; + + @TableField("name") + private String name; + + @TableField("grade") + private Integer grade; + + @TableField("head_teacher") + private String headTeacher; +} diff --git a/src/main/java/cn/zyp/stusystem/entity/Student.java b/src/main/java/cn/zyp/stusystem/entity/Student.java new file mode 100644 index 0000000..e5493a8 --- /dev/null +++ b/src/main/java/cn/zyp/stusystem/entity/Student.java @@ -0,0 +1,37 @@ +package cn.zyp.stusystem.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Data; + +@Data +@TableName("student") +public class Student { + + @TableId(type = IdType.AUTO) + private Long id; + + @TableField("name") + private String name; + + @TableField("age") + private Integer age; + + @TableField("gender") + private Integer gender; + + @TableField("address") + private String address; + + @TableField("grade") + private Integer grade; + + @TableField("class_id") + private Long classId; + + @TableField(exist = false) + private String className; +} diff --git a/src/main/java/cn/zyp/stusystem/mapper/ClassMapper.java b/src/main/java/cn/zyp/stusystem/mapper/ClassMapper.java new file mode 100644 index 0000000..c6876ce --- /dev/null +++ b/src/main/java/cn/zyp/stusystem/mapper/ClassMapper.java @@ -0,0 +1,10 @@ +package cn.zyp.stusystem.mapper; + +import cn.zyp.stusystem.entity.GradeClass; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + + +@Mapper +public interface ClassMapper extends BaseMapper { +} diff --git a/src/main/java/cn/zyp/stusystem/mapper/StudentMapper.java b/src/main/java/cn/zyp/stusystem/mapper/StudentMapper.java new file mode 100644 index 0000000..c8fb3a5 --- /dev/null +++ b/src/main/java/cn/zyp/stusystem/mapper/StudentMapper.java @@ -0,0 +1,9 @@ +package cn.zyp.stusystem.mapper; + +import cn.zyp.stusystem.entity.Student; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface StudentMapper extends BaseMapper { +} diff --git a/src/main/java/cn/zyp/stusystem/service/ClassService.java b/src/main/java/cn/zyp/stusystem/service/ClassService.java new file mode 100644 index 0000000..85dfb23 --- /dev/null +++ b/src/main/java/cn/zyp/stusystem/service/ClassService.java @@ -0,0 +1,14 @@ +package cn.zyp.stusystem.service; + +import cn.zyp.stusystem.entity.GradeClass; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +public interface ClassService extends IService { + //根据年级查询班级 + public List findClassByGradeId(Integer gradeId); + + //查询班级是否还有学生 + public boolean isClassHasStudent(Integer classId); +} diff --git a/src/main/java/cn/zyp/stusystem/service/StudentService.java b/src/main/java/cn/zyp/stusystem/service/StudentService.java new file mode 100644 index 0000000..60109e5 --- /dev/null +++ b/src/main/java/cn/zyp/stusystem/service/StudentService.java @@ -0,0 +1,12 @@ +package cn.zyp.stusystem.service; + +import cn.zyp.stusystem.entity.Student; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface StudentService extends IService { + + //分页查询 + IPage selectPageStudent(Integer page,Integer size,Integer grade,Long classId,String name); + +} diff --git a/src/main/java/cn/zyp/stusystem/service/impl/ClassServiceImpl.java b/src/main/java/cn/zyp/stusystem/service/impl/ClassServiceImpl.java new file mode 100644 index 0000000..a86d065 --- /dev/null +++ b/src/main/java/cn/zyp/stusystem/service/impl/ClassServiceImpl.java @@ -0,0 +1,43 @@ +package cn.zyp.stusystem.service.impl; + + +import cn.zyp.stusystem.entity.GradeClass; +import cn.zyp.stusystem.entity.Student; +import cn.zyp.stusystem.mapper.ClassMapper; +import cn.zyp.stusystem.mapper.StudentMapper; +import cn.zyp.stusystem.service.ClassService; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.ConfigurationKeys; +import lombok.Data; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + +@Service +public class ClassServiceImpl extends ServiceImpl implements ClassService { + + @Autowired + private StudentMapper studentMapper; + + @Override + public List findClassByGradeId(Integer gradeId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("grade",gradeId); + return baseMapper.selectList(queryWrapper); + } + + @Override + public boolean isClassHasStudent(Integer classId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("class_id",classId); + + return studentMapper.selectCount(queryWrapper)>0; + } +} diff --git a/src/main/java/cn/zyp/stusystem/service/impl/StudentServiceImpl.java b/src/main/java/cn/zyp/stusystem/service/impl/StudentServiceImpl.java new file mode 100644 index 0000000..bccbfc2 --- /dev/null +++ b/src/main/java/cn/zyp/stusystem/service/impl/StudentServiceImpl.java @@ -0,0 +1,57 @@ +package cn.zyp.stusystem.service.impl; + +import cn.zyp.stusystem.entity.GradeClass; +import cn.zyp.stusystem.entity.Student; +import cn.zyp.stusystem.mapper.ClassMapper; +import cn.zyp.stusystem.mapper.StudentMapper; +import cn.zyp.stusystem.service.StudentService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +@Service +public class StudentServiceImpl extends ServiceImpl implements StudentService { + + @Autowired + private ClassMapper classMapper; + + @Override + public IPage selectPageStudent(Integer page, Integer size, Integer grade, Long classId, String name) { + + //创建分页对象 + IPage studentPage = new Page<>(page,size); + + //构建查询条件 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(grade != null, "grade", grade); + queryWrapper.eq(classId != null && classId > 0, "class_id", classId); + queryWrapper.like(name != null && !name.isEmpty(), "name", name); + studentPage = baseMapper.selectPage(studentPage, queryWrapper); + + //关联查询班级名称 + List students = studentPage.getRecords(); + if (students != null && students.size() > 0) { + List classIds = students.stream().map(Student::getClassId).collect(Collectors.toList()); + QueryWrapper classQueryWrapper = new QueryWrapper<>(); + classQueryWrapper.in("id", classIds); + List classes = classMapper.selectList(classQueryWrapper); + + //转换为Map + Map classMap = classes.stream().collect(Collectors.toMap(GradeClass::getId, GradeClass::getName)); + + students.forEach(student -> student.setClassName(classMap.get(student.getClassId()))); + + + } + return studentPage; + } +} + diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml new file mode 100644 index 0000000..eb8bbda --- /dev/null +++ b/src/main/resources/application.yaml @@ -0,0 +1,13 @@ +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://localhost:3306/student_management?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai + username: root + password: 123456 + +# MyBatis-Plus ?? +mybatis-plus: + mapper-locations: classpath:mapper/*.xml # Mapper.xml ???? + type-aliases-package: com.example.student.entity # ?????? + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # ??SQL????????? \ No newline at end of file diff --git a/src/test/java/cn/zyp/stusystem/stusystem/StuSystemApplicationTests.java b/src/test/java/cn/zyp/stusystem/stusystem/StuSystemApplicationTests.java new file mode 100644 index 0000000..c5ad284 --- /dev/null +++ b/src/test/java/cn/zyp/stusystem/stusystem/StuSystemApplicationTests.java @@ -0,0 +1,13 @@ +package cn.zyp.stusystem.stusystem; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class StuSystemApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/target/classes/application.yaml b/target/classes/application.yaml new file mode 100644 index 0000000..eb8bbda --- /dev/null +++ b/target/classes/application.yaml @@ -0,0 +1,13 @@ +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://localhost:3306/student_management?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai + username: root + password: 123456 + +# MyBatis-Plus ?? +mybatis-plus: + mapper-locations: classpath:mapper/*.xml # Mapper.xml ???? + type-aliases-package: com.example.student.entity # ?????? + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # ??SQL????????? \ No newline at end of file diff --git a/target/classes/cn/zyp/stusystem/StuSystemApplication.class b/target/classes/cn/zyp/stusystem/StuSystemApplication.class new file mode 100644 index 0000000000000000000000000000000000000000..2ca59af12b96d8635f83aaf218fce2afbd57d795 GIT binary patch literal 748 zcma)4O;6k~5Pe>D$+9ekE-i&Z4?Q53J>Xj}Taen7IHfHjXnWw~1QQI2y>gtk^k4M^ z;?N(^AB7kPByz~1kuqb?$D8q+`FDT!7r;K=_0YmxfOa1p%rmT9iXVb!LZ|#&d?^#h zF#l0$_~XRoU|0!i%e+~d8mAg8%@0LdCtgpTxzFs zIaP)7Z`azmYAytF&`4P|3{g5m+*O>(r_p?-Db=_e<2?de8~?Sy{Nj*YrW+^CNOwjz zV1Fw23Q6w;x#GTt%ghB`h;EPQ-h`M?xq3MRX!# z$FTfRY2_X>l-r#_6*Y$4*rYrXCRIa|^K=pkr?T-V&$#^Pq|TJloYX|=j6a)t56OF= zowTtWJ7WV>ebrTlrwd>yt)=CMf`F-_(Fb1t12sU|L$BAdfd)fU42SbU4EybH;iB^> zJwJ*~hEA;cr^%RSF3%>JlPQmlK2{0!z2~Rm`|cMOhDzTICBsIjw0xeYk+g3_G$PAp zXksxM2&=q4GgjPNl`(X~3s>kdv}R~yR%5s|7MK}tg7E6GW7oo=Ju;xJC(|T z$`tj#tF>_jztsM{(Ab1$W2Y(*+R82ir8*wLzSaURO|q|kJ~;I+wV$M%(R++e{Y(KRc(8Q}^Rh;(-9)1RZA}wrpf#-F X8m<%g4T|)|Zx-3N3VHk7dI$Ig_L?X; literal 0 HcmV?d00001 diff --git a/target/classes/cn/zyp/stusystem/controller/ClassController.class b/target/classes/cn/zyp/stusystem/controller/ClassController.class new file mode 100644 index 0000000000000000000000000000000000000000..8758c5ea4f6252e823d621c6fcc022af59d51466 GIT binary patch literal 4459 zcmbVPYj+!072PAr9!s9Yu9~{F3&u@dYA1H4w26~edDM1j;^H_a3NCdEAIYNjlMZKom)+`qU-I*iw1 z(PU$(ANw(2V$i~EC>pr0D=7oTb;qk}40Ai@0#TIN`M2>4O zI$>1G;{fh3F=XLR+|?G8vi6d(@EZ)x9kHO}+slFDMdc`vVyjfZ2<|rV9t-cqsDazH z!S+1{%({|rJt|2+~#<-HviWfUL|sTj~>aYQxTD5{14%lH!g^J0S_VDhvRg& zDk9O3hw+Gsl7*8vWnf=xKld_;b(O>u>4+rpPmyFdBYUS5FV9$b6tgrJifvN5V=hp=ytuB+t|s|O z?;xu$<0B?kEIfga8aTM83W?c?c5Gd0+7~LV$!JMzF)#;qQ>b+¥W8Pnmey!pHFO z_A=ANG|;EoiEzA7@jR7*`3(`2<+BaxRg{19{ZfPGx8#ZwI`nzg^ZZCC9#itfq94@k zP!(KlJs_N`ez0k;(e2P)7nR5lc5KlUuxA^Qf7K!TOHAv$UnTm1MaPp%jjc5qTvj0^ zB^UjQa90Gw%yBZAi#8nEo8H^kZrv4W#A1|mz+$$~q#fN&d&>6?MN2kQPftyCIX0Zs z=3RNZ;^{;bQ;Ufvg+NJa43Z8E#(SFGhPrzL88%#!av-%9n;mKo#ZG-U95bn{%C(bw zq_Z*6wS3vBc_L~A zjMLNqSD?E_bF?GvuF5rgjR#Yjapz=2&~?>{nMGZQeA}*Weh1r`-E^jn;xk>_x}>Tm zjIkBwmWY6-b0LP*lpP4+KC%Va(D!xLCJ_g3Sky1JCRFs{fv+Red@Z@YFd^h5W z!*hOhhyLbysKv!*p!)<5pC?YA^LZqvLP#*8dLfx8Sg~(^eIdvlr}5sf~M|Ck9Q%^btUxL8WoR6S8T0S z#dx~mjX%)3FSM2T|2|-J=P#7~Mo^KDIjSum(4M#MoJZ7&f2$Lq6WK1YHd^8gN$10( zv#74DR!$4Hs5`a}DSIkU+KBfhQIDHaIM9pl7w`l8(8P}{{1`vsnX2z6ItY%p?QcqZ zQOAoCA~~o?JGQdc=%494B|@=*^TMmTG8|v@{mn+bly`rwv=-GaU8u{RzHJzWIH`r{Kuu+u*zB(3>#+$UhmZ@u`-< zZZ3dy&Db<{Xg!v8{+|A4cH{tWZ*P3+5H=})+Q`UZxl{*IC9n|Pmrskd++ za1)amK5PR^f5k&jzKLUx;V5Jq`hAHxhC zo5ewm>1b>>!9)bufTMAq#T9JQ3w2+1u|JXQ&iZ2Q>K0U|Yv=Kh0d_@42U7gxJ9~t`#$!c%FaM)4(TJ@d96;!i!X_0(FMc zDkJ?#piXCSox^mjC$wJ*9k(_8>c^+?8LCovdJGQG#PC^8#~41RF_+-mT%6n})yecEex9`NZRA5|2j`k3X2fchQr*o(vaa99f<4{Y(UK6#H-t12~?- zGtvyi2wu?%R%yz@7}$--E2)TlsR``MEnr{K5qTA_C7gYZ0F}A1goYQUiZd;Yf5C;A zkW-3}X?Ul}jx%K9qZ-~=tfL8U46kc=eYi_=Eu*=nDkq)^7>*=|uTyc%r>{11+2YgJ zTFA+#!GdZX)S^gqDhX-+@C}p?-N2J?r_g9Ba(P__ltMnCP!8YVD1&cmt403%7RTRi f#_T&xP+aWaqjNvS&+tq9iZcc7_%(iu-(&c{tXH&Y literal 0 HcmV?d00001 diff --git a/target/classes/cn/zyp/stusystem/controller/StudentController.class b/target/classes/cn/zyp/stusystem/controller/StudentController.class new file mode 100644 index 0000000000000000000000000000000000000000..483135e81fc01af9c4ddd5e8f8f7eb64c6e3b67b GIT binary patch literal 4341 zcmcgv{dXKy8GdfQCfQ8Wu(gFyEiD9^v}s3?Lg|J=8z@ap>5{Ffw0_;}-fpIuompn? zrfvaIKtcHsv?vq>Kk-}9;{k#m{oVhg)Zg?k@c7)>+1*)^N^*|JA9iN$=li_R``q`w z`}cpp_g4US;a3@Sq1!@_jb8K#44;!r(($BUc23NnQ$;P%H|hGWJ}A&VHa<6iehgU1 z*cgN@u&3xd7wT0f(zU1_X;pEGfv>~B^Hk^*bgiU(J=N+F7~(|JS5V=STT}w$Gb?t8 z8e`4n$<*8+hOp7Xu#Ibw71+7PbpqE!%A+HBSyl-mfoI2N+Kx{9T9s9pTX)w?;Fr^@ z3OaPzL!W|*GcSXRTMBAUr9LmU8&$npM0P^uRFsw_siiY*Fy$h5p}QZ~3iNnxqz5sA>n&`x@lkwCU}8Nc1Ttl%XBDlNB7yAKc*E7$+zdA-xi?_D zg&j6-#7zPl+GvP`k+0S$g#BsK8tO=UpY$YqrzDi?$ISx0I?&QHZtS!%hH-&@f;wqB zV`&}BU^gZ#?6I*I4yDo#kl|UtT9RH(oj5D7Y3x|qN*sm(d;+&x_@s^7u&+bMg;nH(YlEC(mGMhD^yyF3ZDkhmHNXQ{dW)TvQZoQR-8!Uf@@xrLRfcO$h-pZzP71 zZi7sMpFs|j7Vfff5O))5JfYJXU8x$|o=-SwPMi9fGg?1n<1nTe{YWnHpma=ZQhnM? zywAoFGci-EQdR13eY(_-qXJ?ggJbxVg&7;i@jxdhu~HcVb6lnC)48o_BvT7AEU1TT z$}g(i_-V6I-o}HNWgMwwmqhMN&u=0>vl<~M@o5WlHcsI)O%O4Ihr&?SX}M2EMuY-4 zkEPc)om{EaA)K~x2A>re3{@pqihbrrBkA}|nIu%yZs5}a!_((&d;wo1Pwh4BC5#Xg zjVnF(f}Hn^&m5br`P!|hIX80IcgXiCR^|I~trSd`*)jTS1V@hP^U<+*N3`V`$49J7) zGBUX`ZoK|nU2k4*xq~#euhabGN>@`o$+jh%GBq!lF9jnnb-N zkpfGDBm?g?x#?=R!fHXBrP$ibX<+pWW%Z@8RMS4ns%uJcQ&}@991a2<=}=Z1*&*84 zhaY6{I^MAGLsR4YNMN*`OI?2{SX4|$<|-p3mOV!r7nr~+=>(EYY;1Z|`Xx_AqccIU zSgWSXz$B8Xgw?U|Bs1wM)6-h$y!hinGTCBEdS1cRiWTKg1a7$e;tN-P{ri9X?c(Lv zUcYkbsms58^UB3H-hcV6_n-gWKmT$`2-wrUufi#Fxv0p(n=CO_IKG-c7JebH?Y~du z?a^=^JNTcdD^3$#=3f!hg=DLb?|Hs^`Q~3MK8tKQd<)aN>m7(c@S_VQKFu&N48^C} zz$`n9GT#CVaM?18|HXOzeCK!l3D)k3JtI9Mz026phXZ|o#-@kf!R7iSYYC3Kaco(}GeSgHqN38d7JMcCRj971R&+Zt<^|SzNLze#swqiRb=-fRR zW&LB4W=OowSArouqxv=$YE_!_>>T@B=3 z!3J8;o@RFg+A}dU%V^*moFMScs~Wy{rQuuGYxvog;paYR_<6jLc>E|GG0_^|oxT5U zOuvfj;*S%@4FePJqOgpIh$Z3Ua}8Jxxn$$u?#BS`q<9ZdIFm8N?c8vfCHJ@RV$9Nb zi=}bAL?N&=p}}s5ZB4pfO40S57V3*_)Gu>F55CK17rqxWo8{LlY`@x?ehII!-Ou*- T`TH?`%2tM7Kf}-QON{&n-dD&< literal 0 HcmV?d00001 diff --git a/target/classes/cn/zyp/stusystem/entity/GradeClass.class b/target/classes/cn/zyp/stusystem/entity/GradeClass.class new file mode 100644 index 0000000000000000000000000000000000000000..9136d3d369d1494cf757c8cfe94df36921eca6f5 GIT binary patch literal 3972 zcmbtXU2h!K8Gg?0%+7v{?TwQ-teq0ThS+PH1)9>bjw!+9W2v2l*n~o8VZ1xo6YtI} zJF}5o^}6a+C9Xh~xFr(G1t1b6E>L?zrT(VU^f~9u+Or=amMUdDXU_Ya=e*zV=HLJQ z{s#c7=;n|@+Ja%jL`LA5x?lOze!CJz-EcpQ+*ZZ)BQM&oT<$mxcdhA!p+L%O2o%?E zJ9nH))A4sI>w&+sBAK!_a>xr9zSD9ACKH&=sN=;b+r}8i1ao1@IoSaW^T-(0w)}xh$_ayj~jVDl& zm$^}mdQZ+TB%n(3JZ5m(!Y^z*DQSy`hG`~&j4Q7RCErsvp2jo0oP5eD^715Q&jJaa zv+*pR6R-%rs$6oS4;wp0Lg#HPNa#4BSCaP5V9~}BmU-o_6Yj1B(q-xSh1w(|Sh4W} zUKBXha`xP{z^^;eJ6=SPA4ZNJF<7^fo>Ar|%#ZI+?DVuxY{j6YjR$(q;FmVe;a7Cg zdC&KvSCwiv1xh!%Oq`Z`(+j=rrhCEngUE?I>LsweUJqK8Z6|1Xji6g;?Qc^Owwv9s z;vC>ATMp0F8Y|4EXunOHmyUF-*4QFip1Sb%)-{0_j&w?0cFA*_@;>v9)9ms>Tjt#d zkxo1kYS&M!d%kXc0LpzbtpIvr1{9B&%Yu18zv)*oL{ymBUXSIxgO!eNu^ z&7id%>{TwizT0skS7{mQgg!nL;05}>xZy^-LF2m9VcJD*hpJdSpp&q#T6*E-p)3(` zPERFSdr2XQ$B9Ygr+^6h3q7trx-p1Yu)J4#VovsqtlCk_yxNQ#Ktb=vUpXbx9VD+M z`lF}>iDn>hOw0TB#x^6TzPI7D<4Bm-Z`3v}QqdZ-wBv@|X2dL2T4d(pJIy(Lg+13t zm5l=J9)UNL4*9?8h)&FJ2Hj5Gz2r5SW)sTgs<%EbTaQ5H=s7C`DpR(uTXXUCAc(@K zeC8r(*oqd7Nk_N{>O?t)g8%;Ny zTMvT0ZhK|8RU~%$4ywvb2;8i;AMV| z@%?K)zj5&jsuXcd#-ak>D}2s}+)NQUJ}elcfTM6&u&U4;a0I+6=K&#tZ?pU@#8+IT z@LT?sYJd!{@vp4`xPaIBwZ=zE-{6}L!E+;stU;m^k0s)W96?kVBs%q2BF@ASL=%HV z(~l*(h)YN-A4&J8q}k=g`w(Aqm2^@;F->Vi>?G+T9m~r^n=CgJ2RwHLwNdoeQR#I) z#Pqo#`Zw{rQS^nQ((9~>>BolX*GFqVaa4Mpn=$>dA$tC-(%OqZ)2{{k@SDZ*7ch-` zi~mIG?=aK%7XN|N#!~qKCej3ZOuWRe1i>KWg(r!=eWiK<4-{R4cEDsMj3y_TU;5qj6K}o$|TywCRZ6WnV(x+ zS?DkW-{vZdPuNXva+SlU>?!YXmB;U?$IFBFsM;_OY&L1Bv^i$KHo(pwZdfJ_+mrYU-xf*R#g+5M zstWSy;>s>VoGmWig|++u7Y49g^7hseR*7;N=}5Ah=eJTlO`K0N5L zuhBj^DW+s-_{_>s@HzWEo(Be-t}X#RPo`oo_Ro`ZaN@jb(wiokr_0~rCDnM#OZQ=w zm+zxcE*bYR)N966BR;239VFW{zx6bmRx?!Q>a-e~X|3+(V|A>fxB;cZrUgwp>2 DK0x=8 literal 0 HcmV?d00001 diff --git a/target/classes/cn/zyp/stusystem/entity/Student.class b/target/classes/cn/zyp/stusystem/entity/Student.class new file mode 100644 index 0000000000000000000000000000000000000000..af124496319f9f19e3a6dc1744f386b2aab908a6 GIT binary patch literal 5668 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 CMEU&y literal 0 HcmV?d00001 diff --git a/target/classes/cn/zyp/stusystem/mapper/ClassMapper.class b/target/classes/cn/zyp/stusystem/mapper/ClassMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..31a5e6decfaca080a65d7148f94b0dc8982da307 GIT binary patch literal 391 zcmb7=%}T^T49EYo>egKq_Uc*iXda*{sGygM;DYzG8|o~bnKB%AGo`;@7OkoI73>ofw@pRR32)AQiU|V6a<|n3(ZA*9c zTAEm3sz8l1RI@XBbGcF{ZsI?`U4;~ z>NwDi=aq~U<$0+vU%KQQxz=4?y!b(P@_B>8;eE<;Mjmv~btf0rx|m^{4GPDV^DS}D o&7+VW8Hv9eXv0?Ke<*Ba+sO|`&Wh|O*u`v&bL{0f&GmiY14N5?hX4Qo literal 0 HcmV?d00001 diff --git a/target/classes/cn/zyp/stusystem/mapper/StudentMapper.class b/target/classes/cn/zyp/stusystem/mapper/StudentMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..8db8da8c875379bc9538811908593ba07c1b257a GIT binary patch literal 392 zcmb7=K~BRk5JkTWG_-((*!2Kq$s8bn1PfL{NJL`qq(g8O+fi&Ig`=_H02~T2q^c0G zVlf_DGxPo5ynnpD0l2_XhKa(mcJwlI6k-ZPh-}H~uH&A{m{#oK?fA;Dt8l#5&zf58 z8oI02T*nMk1**NJN_%ToK9LcI{^2=OdUi#G6d}CVq_2dWK*_Q={#eI@7%MT`)s^u%^d=wV%g2HLx`-XI< o>nA2NB9i`Ypbc6s>rmK{*pm%IZke1D>|-|OISwRGrG5x}0!}7+cmMzZ literal 0 HcmV?d00001 diff --git a/target/classes/cn/zyp/stusystem/service/ClassService.class b/target/classes/cn/zyp/stusystem/service/ClassService.class new file mode 100644 index 0000000000000000000000000000000000000000..62d2745a4e18628cc8469890f54635da661307a7 GIT binary patch literal 590 zcmbVK%TB{E5L_2ZpuE~5@drq7!3T~34j=&)K_KPE%}tizDsifKT@gNw10TRgAvR8V zNN}h)Sk~-VJF~NXdw+QafD_mWpd(-}G4i>dN=wexmavc(tC>zvp6ANixCH?$3+PYO zOvzlCOx}(sm{0&K0*;chkYiOAIxU?n>aikir@6Bdp9qcBrTJ<(nzs`$e9$KK3TO3Y zrBWQF>}5atmKYhr46E>+T6nEADJy|vlo}H zO7KGGoWQ_4p2vRJq{}N4u*9d!zo5fw4PX^Iu*Rq>pvTvGL%;@8o3OQ;0hy^ z0hm-iLLu3eZbm5;vu{HVXtAw29$Z5RxpQ&{yOC*&kQZicnDdcHyknU_YQciIW zofpuaa*B=Db2gpasf=xq7Rvi50=kLLjiSo&`SJhEbP@j`n+eube{daM@z|4< zg*PmR>o>Qa;omjuCAM-YUh9HaHT*8QvxOE|UjjB59Tu%%4F<3UE$Fg$)PWwGZN?5` Um$Ap#XSATtXift-c#jO<04V13BLDyZ literal 0 HcmV?d00001 diff --git a/target/classes/cn/zyp/stusystem/service/impl/ClassServiceImpl.class b/target/classes/cn/zyp/stusystem/service/impl/ClassServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..9f1f0a84d9e145578371f55fb9b30a8bbc9da7f5 GIT binary patch literal 2300 zcmcImTW=Fb6#m9`vbM7cA(Rw)flx}~gp`3^X*Ws9r9i;x%~eqQ(vEj0W?;Q*c4tG~ zU(ts?^U6!5wo(P6m8w4XH&s>7tk=QOCdCr!gXip=Idjf;&U|OafBo~@9{`qdvx)+W z7D_foFv{S#VVgHa*j8Sc@OHN;w2C`^5_9>jmO-q-fX6c0Rj%Z!-SK&&H`%0bhS4Pz zD80f^tj%v*DF2r~H;g2A!@yIToW}fKBBL(<%#61p(do#j3Jb+D#u!Fgk?^FMkK35Q z5r%@i$8fn;zaw@9_eId+pEU1CS37yld|p+-QA}AlX5$4MXSm=7{JU<4$2y6-v6k)q zDX#k>j`!tRZHicKr63tD)eo&%nqxb)<7<0c91AZpoXrKz4AXEu=VO@0NgFTWWrk`j zeM+#dV$HBodq&WK!e-TUvN|MM`P_JM%6OHb?3(PpR-UQJX&W;*!!S;j@MNI-DbCdo z1KSuhbjENNuUj~0V-|A^=Z4zFFxE?LJxqe<%Pl2BJq%h-74ulIaNfou-e8z`$`iB9 zQ1MA@3qO%5S#Mb22jT5geUJhSCqE~ksx7xwteU=D4T4ZppAd_Qll3ra@wgMIptTc; zw!9xkcX?9^qWF$*bx0%^dmH#_qQmfUr*QPrcjer|&+Gk)QNb$>)e3}8B089x!xU}kU`JJ)M!qiMtgR^j10#Gz=ir*YHRtfn|5J$! zLRyCLh8FH!x(zb!{d9Q9XFn4M)FXfMIm4Y$-l|Xjw36ASO$S+Rgh}MetIG7#@xevY z6c^0(z)(A|cj-ZhWT=UH{m0J18M-VBpqGPw1#@STyhsn~D9KACizMkirSVOgagvPW z$iic=U+ANNw`erWzzMufqun#WJ9w974DaDGIWe1eNft?-`W@Dnk5SoLoT{FG1pC&) zubBK3(~D1VqJW>tqL_M}NUcw!Ot2;inDIW-^N@KbUw9uMP?R#gFAkOn&oWsV3_Z;X zX+9*)2qQz_3jGRLrR6oO)0ctuJxZz5+EZAs^kJPMOs^I22(`)&4`7uZqE!5m_LK$y z&Qhp30ysYau(k)VhK&s1Ob(#Yd_*X&l1KXY@;7EJSXWpd@CK=i8RToYPO}0w_YUU< F@GtZjnkoPQ literal 0 HcmV?d00001 diff --git a/target/classes/cn/zyp/stusystem/service/impl/StudentServiceImpl.class b/target/classes/cn/zyp/stusystem/service/impl/StudentServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..ed6dd7be918c518b1fb6eb20e7911758b07eed4c GIT binary patch literal 5788 zcmd5=`F|8=8UMbUV>X+CEK32mMOq-xBpgGbB4z=F6iVVkfnX?9Z6~`!7_vLF%*;ZA ztyd3^dQ`1fQR-dKO0@<9TI+?iR>k|ifA!;E(2w|iXJ&V2*@TV$?i$Rw~BFIKQb#r3#BU~WxY*0#n3ItskhqA(Q4 zGDap>&|UXVGoL^=Rw!7h;zslcBx~Hmo?}XW#dLQROWuSZ!^3g(3A9>z(RX#ViZ#;J z)`B^1bU?#81vjZ!j|~Fra+Y>#qNKTA*`07bqj&`{ymH>KygGa&Ms?TN?FUxirY0dN z`gGd%DoaMeO9WOls0|5+1BHS3PTY)_s@Q~=2_#&jz^q722|V1>Os(PRdEL{sLCKJ5 zLLC85C11@_U94Boi3~O?*rH-9UM{fu>Nu%qrf*}0x8ERy@~%Ltr#C=e*)t1T)^xp0 zC$?d`f&mq`$RY~BQ+>_Ey5=cE675uRD|WGj2|hzF3S3twEO@FBGklpzv3CrqcqOu| z3#O?+@LXR#X z%K^Mf!H9~3xSeh^=ozpJ5)QV*h_!pR43of;I_pD;RZ8FZ!z%8;t649(KmaQsYGVUW zXrkY-!oCp4YuPqrQKoR03LT^J))LqpN{SLk{0|LbkIGCVRn}!*g@GdioqpX1HNaZQ z&QvS|vONT3bnYlj1;qb08g4OtP8nDz-tAOdBQ?rHI*z$2g#Yx;vgy^}PQ6kCOr~xFZWWtAV zRp$W5NV#Y@e&L-`@jBc?#2m4m9eVDlzztC$jZD2G3A`R}Q1C_-Z^D~dR1LXcOEtX- z7NXx>g9hLyb1)xi06vc7c%U6F?pN^u9%N;)SqQA025ZxxN?P((6>r1a1ytAYd?kB0 z7X%hWB@FvxBqL|-I|OcQFu1Z?2rUlhfk1kHnXVL#5z{qC3&u9fvORzJvn)4dZD&k# zOL9ORaj5g8?Tl-qhRzv%grm{sl-8>Z+P1Q1pEMmKpJ78Au=6yrD{ETDo^o;2a1Q7c z&)8(`oL(5w9aG+i4_m#XCiSgvtdok_!6v6+mQmBZ+E}S(_NNH~W^*T5{Z=vQhqENpsike^_}uWjN(LzqP`?^8Qp?5$QyNNedd3YA zMy92~g@{Wb0HwNpO`NKa?#y0l@%jE9!8Lp(q6|5N?53;eYOy*QfJyBj)L_d0~TZO`l%y_9!^B|L4vY&_k0wMAyc4Wmu}??hTEOB?eQ}6T9X|X zdgMtR;{h5TC7=DvK;_kWqnnUW@_=3_44a;jN#en-Hr$)U_kCbCE8eImzaNwN2MIij zA1ZiG#gF9PYS~OeY7JJN`VDU|pTv*ZXt~L~^2FQNS*O$dQ>poqil5=*Hu`NiA42iA4v~O1kwT=A~OFab3qF zXDTn3$_M`2wu|UWw@qUCqm_5P@^;n1zNfJE8Qh$1Pb*W{*n!JP|{>{VYS!>W6JBy0~6~`OLy%EW=tXN0uLsj$#E) zp$GS&mtpL~S*#-SYJ8Vpg)U(o{>3jrFJPk|?)w?iv*h{!K8Oxd4d6rgFhAj4BK@O$ z)=BEQIE{}mF${f}7PC68Av`E1pa&s8n?JS_>NeW5Dti&be~qO>O{?KG6j zSc$j-O+ljaw^%{90)CO=sg*yMNjNh_j1=OI*^wQd9oY*wt?;YOm#KF_8zTtD4vZS` z82|hDFS8rNlgWfEcg9y%%}&Nt#y7R9kFdXY3inB1bx-0gSC-IvKc@==YCmgaqq9%p zYn0U%N}t3zK9wM?RO%G(&-1^JIlDk@-yv4M7p^Yi`Ed0U{K8-T3ctbc@ki1pDD_YH J3;u@me*hB;*=_&; literal 0 HcmV?d00001