From 866981adea8c6a722def0367805b559a3493f24b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=89=E5=AE=89=E5=90=9B?= <2746727141@qq.com> Date: Mon, 25 Mar 2024 22:35:44 +0800 Subject: [PATCH] =?UTF-8?q?feat=20commit=20=E6=B5=8B=E8=AF=95mybatis-plus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zhilian-modules/zhilian-mybatis-plus/pom.xml | 20 +++- .../mybatis_plus/MybatisPlusApplication.java | 23 +++++ .../controller/ClazzController.java | 87 +++++++++++++++++ .../controller/StudentController.java | 86 +++++++++++++++++ .../zhilian/mybatis_plus/domain/Clazz.java | 70 ++++++++++++++ .../zhilian/mybatis_plus/domain/Student.java | 58 ++++++++++++ .../domain/response/StudentRes.java | 32 +++++++ .../mybatis_plus/mapper/ClazzMapper.java | 15 +++ .../mybatis_plus/mapper/StudentMapper.java | 16 ++++ .../mybatis_plus/service/ClazzService.java | 31 ++++++ .../mybatis_plus/service/StudentService.java | 29 ++++++ .../service/impl/ClazzServiceImpl.java | 59 ++++++++++++ .../service/impl/StudentServiceImpl.java | 94 +++++++++++++++++++ .../src/main/resources/bootstrap.yml | 4 +- .../mapper/mybatis_plus/ClazzMapper.xml | 16 ++++ .../mapper/mybatis_plus/StudentMapper.xml | 7 ++ .../controller/SysConfigController.java | 1 + 17 files changed, 642 insertions(+), 6 deletions(-) create mode 100644 zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/MybatisPlusApplication.java create mode 100644 zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/controller/ClazzController.java create mode 100644 zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/controller/StudentController.java create mode 100644 zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/domain/Clazz.java create mode 100644 zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/domain/Student.java create mode 100644 zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/domain/response/StudentRes.java create mode 100644 zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/mapper/ClazzMapper.java create mode 100644 zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/mapper/StudentMapper.java create mode 100644 zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/ClazzService.java create mode 100644 zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/StudentService.java create mode 100644 zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/impl/ClazzServiceImpl.java create mode 100644 zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/impl/StudentServiceImpl.java create mode 100644 zhilian-modules/zhilian-mybatis-plus/src/main/resources/mapper/mybatis_plus/ClazzMapper.xml create mode 100644 zhilian-modules/zhilian-mybatis-plus/src/main/resources/mapper/mybatis_plus/StudentMapper.xml diff --git a/zhilian-modules/zhilian-mybatis-plus/pom.xml b/zhilian-modules/zhilian-mybatis-plus/pom.xml index 0c2412c..038326d 100644 --- a/zhilian-modules/zhilian-mybatis-plus/pom.xml +++ b/zhilian-modules/zhilian-mybatis-plus/pom.xml @@ -11,8 +11,9 @@ zhilian-mybatis-plus + - zhilian-modules-file文件服务 + zhilian-mybatis-plus测试 @@ -67,14 +68,25 @@ zhilian-common-system + + + com.mysql + mysql-connector-j + - - - + + com.zhilian + zhilian-common-security + + + com.zhilian + zhilian-common-log + + ${project.artifactId} diff --git a/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/MybatisPlusApplication.java b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/MybatisPlusApplication.java new file mode 100644 index 0000000..ccada53 --- /dev/null +++ b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/MybatisPlusApplication.java @@ -0,0 +1,23 @@ +package com.zhilian.mybatis_plus; + +import com.zhilian.common.security.annotation.EnableCustomConfig; +import com.zhilian.common.security.annotation.EnableMyFeignClients; +import com.zhilian.common.swagger.annotation.EnableCustomSwagger2; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * @version: + * @Author: Seer + * @description: + * @date: 2024/3/24 10:51 + */ +@EnableCustomConfig +@EnableCustomSwagger2 +@EnableMyFeignClients +@SpringBootApplication +public class MybatisPlusApplication { + public static void main(String[] args) { + SpringApplication.run(MybatisPlusApplication.class,args); + } +} diff --git a/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/controller/ClazzController.java b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/controller/ClazzController.java new file mode 100644 index 0000000..5cdbc06 --- /dev/null +++ b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/controller/ClazzController.java @@ -0,0 +1,87 @@ +package com.zhilian.mybatis_plus.controller; + +import com.zhilian.common.core.domain.Result; +import com.zhilian.common.core.web.controller.BaseController; +import com.zhilian.common.core.web.page.TableDataInfo; +import com.zhilian.common.log.enums.BusinessType; +import com.zhilian.common.security.annotation.RequiresPermissions; +import com.zhilian.common.security.utils.SecurityUtils; +import com.zhilian.mybatis_plus.domain.Clazz; +import com.zhilian.mybatis_plus.service.ClazzService; +import com.zhilian.common.log.annotation.Log; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; + +/** + * @version: + * @Author: Seer + * @description: + * @date: 2024/3/24 10:45 + */ +@RestController +@RequestMapping("/clazz") +public class ClazzController extends BaseController{ + + @Autowired + private ClazzService clazzService; + + + /** + * 查询班级列表 + * @param clazz + * @return + */ + @GetMapping("/list") + public Result> list (Clazz clazz) { + startPage(); + List list = clazzService.pageQuery(clazz); + return getDataTable(list); + } + + /** + * 新增班级 + * @param clazz + * @return + */ + @Log(title = "班级管理", businessType = BusinessType.INSERT) + @PostMapping + public Result add (@Validated @RequestBody Clazz clazz) { + if (!clazzService.checkConfigKeyUnique(clazz)) { + return error("新增参数'" + clazz.getName() + "'失败,班级名称已存在"); + } + clazz.setCreateBy(SecurityUtils.getUsername()); + return toAjax(clazzService.save(clazz)); + } + + /** + * 修改班级 + */ + @Log(title = "班级管理", businessType = BusinessType.UPDATE) + @PutMapping + public Result edit (@Validated @RequestBody Clazz clazz) { + if (!clazzService.checkConfigKeyUnique(clazz)) { + return error("修改参数'" + clazz.getName() + "'失败,班级名称已存在"); + } + clazz.setUpdateBy(SecurityUtils.getUsername()); + return toAjax(clazzService.updateById(clazz)); + } + + + /** + * 删除班级 + */ + @RequiresPermissions("system:config:remove") + @Log(title = "班级管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{clazzIds}") + public Result remove (@PathVariable Long[] clazzIds) { + clazzService.removeBatchByIds(Arrays.asList(clazzIds)); + return success(); + } + + + +} diff --git a/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/controller/StudentController.java b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/controller/StudentController.java new file mode 100644 index 0000000..008c043 --- /dev/null +++ b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/controller/StudentController.java @@ -0,0 +1,86 @@ +package com.zhilian.mybatis_plus.controller; + +import com.zhilian.common.core.domain.Result; +import com.zhilian.common.core.web.controller.BaseController; +import com.zhilian.common.core.web.page.TableDataInfo; +import com.zhilian.common.log.annotation.Log; +import com.zhilian.common.log.enums.BusinessType; +import com.zhilian.common.security.annotation.RequiresPermissions; +import com.zhilian.common.security.utils.SecurityUtils; +import com.zhilian.mybatis_plus.domain.Student; +import com.zhilian.mybatis_plus.domain.response.StudentRes; +import com.zhilian.mybatis_plus.service.StudentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; + +/** + * @version: + * @Author: LiYuan + * @description: + * @date: 2024/3/25 15:12 + */ +@RestController +@RequestMapping("/student") +public class StudentController extends BaseController { + + @Autowired + private StudentService studentService; + + /** + * 查询学生列表 + * @param student + * @return + */ + @GetMapping("/list") + public Result> list (Student student) { + startPage(); + List list = studentService.pageQuery(student); + return getDataTable(list); + } + + /** + * 新增学生 + * @param student + * @return + */ + @Log(title = "学生管理", businessType = BusinessType.INSERT) + @PostMapping + public Result add (@Validated @RequestBody Student student) { + if (!studentService.checkConfigKeyUnique(student)) { + return error("新增参数'" + student.getName() + "'失败,学生名称已存在"); + } + student.setCreateBy(SecurityUtils.getUsername()); + return toAjax(studentService.save(student)); + } + + /** + * 修改学生 + */ + @Log(title = "班级管理", businessType = BusinessType.UPDATE) + @PutMapping + public Result edit (@Validated @RequestBody Student student) { + if (!studentService.checkConfigKeyUnique(student)) { + return error("修改参数'" + student.getName() + "'失败,学生名称已存在"); + } + student.setUpdateBy(SecurityUtils.getUsername()); + return toAjax(studentService.updateById(student)); + } + + + /** + * 删除学生 + */ + @RequiresPermissions("system:config:remove") + @Log(title = "学生管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{studentIds}") + public Result remove (@PathVariable Long[] studentIds) { + studentService.removeBatchByIds(Arrays.asList(studentIds)); + return success(); + } + + +} diff --git a/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/domain/Clazz.java b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/domain/Clazz.java new file mode 100644 index 0000000..7c58553 --- /dev/null +++ b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/domain/Clazz.java @@ -0,0 +1,70 @@ +package com.zhilian.mybatis_plus.domain;//package com.zhilian.mybatis_plus.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.zhilian.common.core.annotation.Excel; +import com.zhilian.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; + +/** + * @version: + * @Author: Seer + * @description: + * @date: 2024/3/24 10:37 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@TableName("t_clazz") +public class Clazz extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 班级编号 主键 + */ + @Excel(name = "班级编号",cellType = Excel.ColumnType.NUMERIC) + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 班级名称 + */ + private String name; + +// /** +// * 创建者 +// */ +// private String createBy; +// +// /** +// * 创建时间 +// */ +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") +// private Date createTime; +// +// /** +// * 更新者 +// */ +// private String updateBy; +// +// /** +// * 更新时间 +// */ +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") +// private Date updateTime; + + + + +} diff --git a/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/domain/Student.java b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/domain/Student.java new file mode 100644 index 0000000..97219f2 --- /dev/null +++ b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/domain/Student.java @@ -0,0 +1,58 @@ +package com.zhilian.mybatis_plus.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zhilian.common.core.annotation.Excel; +import com.zhilian.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * @version: + * @Author: Seer + * @description: + * @date: 2024/3/24 10:37 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@TableName("t_student") +public class Student extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 学生 编号 主键 + */ + @Excel(name = "学生编号",cellType = Excel.ColumnType.NUMERIC) + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 学生姓名 + */ + private String name; + + /** + * 学生照片 + */ + private String photo; + + /** + * 学生班级 + */ + private Long tClazz; + + /** + * 学生性别 + */ + private Integer sex; + + +} diff --git a/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/domain/response/StudentRes.java b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/domain/response/StudentRes.java new file mode 100644 index 0000000..0e21430 --- /dev/null +++ b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/domain/response/StudentRes.java @@ -0,0 +1,32 @@ +package com.zhilian.mybatis_plus.domain.response; + +import com.zhilian.mybatis_plus.domain.Clazz; +import com.zhilian.mybatis_plus.domain.Student; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * @version: + * @Author: LiYuan + * @description: 学生+所属班级 + * @date: 2024/3/25 15:17 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class StudentRes { + + /** + * 学生 + */ + private Student student; + + /** + * 该学生所属班级 + */ + private Clazz clazz; + +} diff --git a/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/mapper/ClazzMapper.java b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/mapper/ClazzMapper.java new file mode 100644 index 0000000..edb00bc --- /dev/null +++ b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/mapper/ClazzMapper.java @@ -0,0 +1,15 @@ +package com.zhilian.mybatis_plus.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zhilian.mybatis_plus.domain.Clazz; +import org.apache.ibatis.annotations.Mapper; + +/** + * @version: + * @Author: Seer + * @description: + * @date: 2024/3/24 10:48 + */ +@Mapper +public interface ClazzMapper extends BaseMapper { +} diff --git a/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/mapper/StudentMapper.java b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/mapper/StudentMapper.java new file mode 100644 index 0000000..b82184a --- /dev/null +++ b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/mapper/StudentMapper.java @@ -0,0 +1,16 @@ +package com.zhilian.mybatis_plus.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zhilian.mybatis_plus.domain.Student; +import org.apache.ibatis.annotations.Mapper; + +/** + * @version: + * @Author: LiYuan + * @description: + * @date: 2024/3/25 15:14 + */ +@Mapper +public interface StudentMapper extends BaseMapper { + +} diff --git a/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/ClazzService.java b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/ClazzService.java new file mode 100644 index 0000000..a83868d --- /dev/null +++ b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/ClazzService.java @@ -0,0 +1,31 @@ +package com.zhilian.mybatis_plus.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.zhilian.mybatis_plus.domain.Clazz; + +import java.util.List; + +/** + * @version: + * @Author: Seer + * @description: + * @date: 2024/3/24 10:46 + */ + +public interface ClazzService extends IService { + + /** + * 查询班级列表 + * @param clazz + * @return + */ + List pageQuery(Clazz clazz); + + + /** + * 检测参数是否唯一 + * @param clazz + * @return + */ + boolean checkConfigKeyUnique(Clazz clazz); +} diff --git a/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/StudentService.java b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/StudentService.java new file mode 100644 index 0000000..2b0bb5a --- /dev/null +++ b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/StudentService.java @@ -0,0 +1,29 @@ +package com.zhilian.mybatis_plus.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.zhilian.mybatis_plus.domain.Student; +import com.zhilian.mybatis_plus.domain.response.StudentRes; + +import java.util.List; + +/** + * @version: + * @Author: LiYuan + * @description: + * @date: 2024/3/25 15:13 + */ +public interface StudentService extends IService { + /** + * 查询学生列表 + * @param student + * @return + */ + List pageQuery(Student student); + + /** + * 检测参数学生名称是否唯一 + * @param student + * @return + */ + boolean checkConfigKeyUnique(Student student); +} diff --git a/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/impl/ClazzServiceImpl.java b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/impl/ClazzServiceImpl.java new file mode 100644 index 0000000..7f05847 --- /dev/null +++ b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/impl/ClazzServiceImpl.java @@ -0,0 +1,59 @@ +package com.zhilian.mybatis_plus.service.impl; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zhilian.common.core.utils.StringUtils; +import com.zhilian.mybatis_plus.domain.Clazz; +import com.zhilian.mybatis_plus.mapper.ClazzMapper; +import com.zhilian.mybatis_plus.service.ClazzService; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.function.Function; + +/** + * @version: + * @Author: Seer + * @description: + * @date: 2024/3/24 10:46 + */ +@Service +public class ClazzServiceImpl extends ServiceImpl implements ClazzService { + + /** + * 查询班级列表 + * @param clazz + * @return + */ + @Override + public List pageQuery(Clazz clazz) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (StringUtils.isNotEmpty(clazz.getName())){ + queryWrapper.like(Clazz::getName,clazz.getName()); + } + Object beginTime = clazz.getParams().get("beginTime"); + if (Objects.nonNull(beginTime) && beginTime instanceof Date beginDate){ + queryWrapper.gt(Clazz::getCreateTime, beginDate); + } + Object endTime = clazz.getParams().get("endTime"); + if (Objects.nonNull(endTime) && endTime instanceof Date endDate){ + queryWrapper.lt(Clazz::getCreateTime, endDate); + } + return this.list(queryWrapper); + } + + + /** + * 检测参数班级名称是否唯一 + * @param clazz + * @return + */ + @Override + public boolean checkConfigKeyUnique(Clazz clazz) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Clazz::getName, clazz.getName()); + return this.count(queryWrapper) > 0; + } +} diff --git a/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/impl/StudentServiceImpl.java b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/impl/StudentServiceImpl.java new file mode 100644 index 0000000..411d84d --- /dev/null +++ b/zhilian-modules/zhilian-mybatis-plus/src/main/java/com/zhilian/mybatis_plus/service/impl/StudentServiceImpl.java @@ -0,0 +1,94 @@ +package com.zhilian.mybatis_plus.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.Lists; +import com.zhilian.common.core.utils.StringUtils; +import com.zhilian.mybatis_plus.domain.Clazz; +import com.zhilian.mybatis_plus.domain.Student; +import com.zhilian.mybatis_plus.domain.response.StudentRes; +import com.zhilian.mybatis_plus.mapper.StudentMapper; +import com.zhilian.mybatis_plus.service.StudentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * @version: + * @Author: LiYuan + * @description: + * @date: 2024/3/25 15:13 + */ +@Service +public class StudentServiceImpl extends ServiceImpl implements StudentService { + + @Autowired + private StudentMapper studentMapper; + @Autowired + private ClazzServiceImpl clazzService; + + /** + * 查询学生列表 + * + * @param student + * @return + */ + @Override + public List pageQuery(Student student) { + //获取班级列表 + List clazzList = clazzService.pageQuery(new Clazz() {{ + setId(student.getTClazz()); + }}); + //获取学生列表 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (StringUtils.isNotEmpty(student.getName())) { + queryWrapper.like(Student::getName, student.getName()); + } + if (StringUtils.isNotNull(student.getTClazz()) && 0 != student.getTClazz()) { + queryWrapper.like(Student::getTClazz, student.getTClazz()); + } + Object beginTime = student.getParams().get("beginTime"); + if (Objects.nonNull(beginTime) && beginTime instanceof Date beginDate) { + queryWrapper.gt(Student::getCreateTime, beginDate); + } + Object endTime = student.getParams().get("endTime"); + if (Objects.nonNull(endTime) && endTime instanceof Date endDate) { + queryWrapper.lt(Student::getCreateTime, endDate); + } + List list = this.list(queryWrapper); + + //将学生对象与班级对象进行关联 + List studentRes = list.stream().map(stu -> { + StudentRes res = new StudentRes(); + Long tClazz = stu.getTClazz(); + Optional foundClazz = clazzList.stream().filter(clazz -> Objects.equals(clazz.getId(), tClazz)).findFirst(); + + //未找到班级对象则说明脏数据出现 + if (!foundClazz.isPresent()) { + throw new RuntimeException("班级数据异常"); + } + Clazz targetClass = foundClazz.get(); + res.setStudent(stu); + res.setClazz(targetClass); + return res; + }).collect(Collectors.toList()); + + return studentRes; + } + + /** + * 检测参数学生名称是否唯一 + * @param student + * @return + */ + @Override + public boolean checkConfigKeyUnique(Student student) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Student::getName, student.getName()); + return this.count(queryWrapper) > 0; + } + + +} diff --git a/zhilian-modules/zhilian-mybatis-plus/src/main/resources/bootstrap.yml b/zhilian-modules/zhilian-mybatis-plus/src/main/resources/bootstrap.yml index 495fb9d..7965dc7 100644 --- a/zhilian-modules/zhilian-mybatis-plus/src/main/resources/bootstrap.yml +++ b/zhilian-modules/zhilian-mybatis-plus/src/main/resources/bootstrap.yml @@ -1,12 +1,12 @@ # Tomcat server: - port: 9202 + port: 9301 # Spring spring: application: # 应用名称 - name: zhilian-gmybatis-plus + name: zhilian-mybatis profiles: # 环境配置 active: dev diff --git a/zhilian-modules/zhilian-mybatis-plus/src/main/resources/mapper/mybatis_plus/ClazzMapper.xml b/zhilian-modules/zhilian-mybatis-plus/src/main/resources/mapper/mybatis_plus/ClazzMapper.xml new file mode 100644 index 0000000..6fbfb3e --- /dev/null +++ b/zhilian-modules/zhilian-mybatis-plus/src/main/resources/mapper/mybatis_plus/ClazzMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/zhilian-modules/zhilian-mybatis-plus/src/main/resources/mapper/mybatis_plus/StudentMapper.xml b/zhilian-modules/zhilian-mybatis-plus/src/main/resources/mapper/mybatis_plus/StudentMapper.xml new file mode 100644 index 0000000..926bcbf --- /dev/null +++ b/zhilian-modules/zhilian-mybatis-plus/src/main/resources/mapper/mybatis_plus/StudentMapper.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/controller/SysConfigController.java b/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/controller/SysConfigController.java index 734c011..84b8127 100644 --- a/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/controller/SysConfigController.java +++ b/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/controller/SysConfigController.java @@ -80,6 +80,7 @@ public class SysConfigController extends BaseController { return toAjax(configService.save(config)); } + /** * 修改参数配置 */ -- 2.40.1