Эх сурвалжийг харах

注册后的家长与老师信息

LIVE_YE 1 жил өмнө
parent
commit
fce297ec51
15 өөрчлөгдсөн 1380 нэмэгдсэн , 0 устгасан
  1. 115 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/formal/FormalParentsStudentController.java
  2. 125 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/formal/FormalTeacherClassController.java
  3. 71 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/FormalParentsStudent.java
  4. 71 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/FormalTeacherClass.java
  5. 78 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/FormalParentsStudentBo.java
  6. 69 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/FormalTeacherClassBo.java
  7. 86 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/FormalParentsStudentVo.java
  8. 19 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/FormalTeacherClassListVo.java
  9. 107 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/FormalTeacherClassVo.java
  10. 65 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/FormalParentsStudentMapper.java
  11. 68 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/FormalTeacherClassMapper.java
  12. 139 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/FormalParentsStudentServiceImpl.java
  13. 151 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/FormalTeacherClassServiceImpl.java
  14. 104 0
      ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/FormalParentsStudentMapper.xml
  15. 112 0
      ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/FormalTeacherClassMapper.xml

+ 115 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/formal/FormalParentsStudentController.java

@@ -0,0 +1,115 @@
+package org.dromara.system.controller.formal;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.system.domain.vo.FormalParentsStudentVo;
+import org.dromara.system.domain.bo.FormalParentsStudentBo;
+import org.dromara.system.service.IFormalParentsStudentService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 家长-学生(审核通过之后数据)
+ *
+ * @author Lion Li
+ * @date 2023-08-16
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/system/parentsStudent")
+public class FormalParentsStudentController extends BaseController {
+
+    private final IFormalParentsStudentService formalParentsStudentService;
+
+    /**
+     * 查询家长-学生(审核通过之后数据)列表
+     */
+    @SaCheckPermission("system:parentsStudent:list")
+    @GetMapping("/list")
+    public TableDataInfo<FormalParentsStudentVo> list(FormalParentsStudentBo bo, PageQuery pageQuery) {
+        return formalParentsStudentService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 查询家长-学生(审核通过之后数据)列表不分页
+     */
+    @GetMapping("noPage/list")
+    public TableDataInfo<FormalParentsStudentVo> noPage(FormalParentsStudentBo bo)
+    {
+
+        return formalParentsStudentService.selectFormalParentsStudentListNoPage(bo);
+    }
+
+    /**
+     * 导出家长-学生(审核通过之后数据)列表
+     */
+    @SaCheckPermission("system:parentsStudent:export")
+    @Log(title = "家长-学生(审核通过之后数据)", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(FormalParentsStudentBo bo, HttpServletResponse response) {
+        List<FormalParentsStudentVo> list = formalParentsStudentService.queryList(bo);
+        ExcelUtil.exportExcel(list, "家长-学生(审核通过之后数据)", FormalParentsStudentVo.class, response);
+    }
+
+    /**
+     * 获取家长-学生(审核通过之后数据)详细信息
+     *
+     * @param id 主键
+     */
+    @SaCheckPermission("system:parentsStudent:query")
+    @GetMapping("/{id}")
+    public R<FormalParentsStudentVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long id) {
+        return R.ok(formalParentsStudentService.queryById(id));
+    }
+
+    /**
+     * 新增家长-学生(审核通过之后数据)
+     */
+    @SaCheckPermission("system:parentsStudent:add")
+    @Log(title = "家长-学生(审核通过之后数据)", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody FormalParentsStudentBo bo) {
+        return toAjax(formalParentsStudentService.insertByBo(bo));
+    }
+
+    /**
+     * 修改家长-学生(审核通过之后数据)
+     */
+    @SaCheckPermission("system:parentsStudent:edit")
+    @Log(title = "家长-学生(审核通过之后数据)", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody FormalParentsStudentBo bo) {
+        return toAjax(formalParentsStudentService.updateByBo(bo));
+    }
+
+    /**
+     * 删除家长-学生(审核通过之后数据)
+     *
+     * @param ids 主键串
+     */
+    @SaCheckPermission("system:parentsStudent:remove")
+    @Log(title = "家长-学生(审核通过之后数据)", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{ids}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] ids) {
+        return toAjax(formalParentsStudentService.deleteWithValidByIds(List.of(ids), true));
+    }
+}

+ 125 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/formal/FormalTeacherClassController.java

@@ -0,0 +1,125 @@
+package org.dromara.system.controller.formal;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.dromara.system.domain.vo.FormalParentsStudentVo;
+import org.dromara.system.domain.vo.FormalTeacherClassListVo;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.system.domain.vo.FormalTeacherClassVo;
+import org.dromara.system.domain.bo.FormalTeacherClassBo;
+import org.dromara.system.service.IFormalTeacherClassService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 老师-班级(学科)(审核通过之后数据)
+ *
+ * @author Lion Li
+ * @date 2023-08-16
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/formal/class")
+public class FormalTeacherClassController extends BaseController {
+
+    private final IFormalTeacherClassService formalTeacherClassService;
+
+    /**
+     * 查询老师-班级(学科)(审核通过之后数据)列表
+     */
+    @SaCheckPermission("formal:class:list")
+    @GetMapping("/list")
+    public TableDataInfo<FormalTeacherClassVo> list(FormalTeacherClassBo bo, PageQuery pageQuery) {
+        return formalTeacherClassService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出老师-班级(学科)(审核通过之后数据)列表
+     */
+    @SaCheckPermission("formal:class:export")
+    @Log(title = "老师-班级(学科)(审核通过之后数据)", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(FormalTeacherClassBo bo, HttpServletResponse response) {
+        List<FormalTeacherClassVo> list = formalTeacherClassService.queryList(bo);
+        ExcelUtil.exportExcel(list, "老师-班级(学科)(审核通过之后数据)", FormalTeacherClassVo.class, response);
+    }
+
+    /**
+     * 获取老师-班级(学科)(审核通过之后数据)详细信息
+     *
+     * @param id 主键
+     */
+    @SaCheckPermission("formal:class:query")
+    @GetMapping("/{id}")
+    public R<FormalTeacherClassVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long id) {
+        return R.ok(formalTeacherClassService.queryById(id));
+    }
+
+    /**
+     * 新增老师-班级(学科)(审核通过之后数据)
+     */
+    @SaCheckPermission("formal:class:add")
+    @Log(title = "老师-班级(学科)(审核通过之后数据)", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody FormalTeacherClassBo bo) {
+        return toAjax(formalTeacherClassService.insertByBo(bo));
+    }
+
+    /**
+     * 修改老师-班级(学科)(审核通过之后数据)
+     */
+    @SaCheckPermission("formal:class:edit")
+    @Log(title = "老师-班级(学科)(审核通过之后数据)", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody FormalTeacherClassBo bo) {
+        return toAjax(formalTeacherClassService.updateByBo(bo));
+    }
+
+    /**
+     * 批量修改老师-班级(学科)(审核通过之后数据)
+     */
+    @SaCheckPermission("formal:class:editAll")
+    @Log(title = "老师-班级(学科)(审核通过之后数据)", businessType = BusinessType.UPDATE)
+    @PostMapping("/put/All")
+    public R<Void> editAll(@RequestBody FormalTeacherClassListVo formalTeacherClassListVo) {
+        return formalTeacherClassService.updateFormalTeacherClassList(formalTeacherClassListVo);
+    }
+
+    /**
+     * 删除老师-班级(学科)(审核通过之后数据)
+     *
+     * @param ids 主键串
+     */
+    @SaCheckPermission("formal:class:remove")
+    @Log(title = "老师-班级(学科)(审核通过之后数据)", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{ids}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] ids) {
+        return toAjax(formalTeacherClassService.deleteWithValidByIds(List.of(ids), true));
+    }
+
+    /***
+     * 查询老师信息(用于档案信息新增)
+     */
+    @GetMapping("/noPage/list")
+    public TableDataInfo<FormalTeacherClassVo> noPage(FormalTeacherClassBo bo) {
+        return formalTeacherClassService.selectFormalTeacherClassListNoPage(bo);
+    }
+}

+ 71 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/FormalParentsStudent.java

@@ -0,0 +1,71 @@
+package org.dromara.system.domain;
+
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 家长-学生(审核通过之后数据)对象 formal_parents_student
+ *
+ * @author Lion Li
+ * @date 2023-08-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("formal_parents_student")
+public class FormalParentsStudent extends BaseEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @TableId(value = "id")
+    private Long id;
+
+    /**
+     * 家长id
+     */
+    private Long parentsId;
+
+    /**
+     * 学校id
+     */
+    private Long schoolId;
+
+    /**
+     * 学校名称
+     */
+    private String schoolName;
+
+    /**
+     * 班级id
+     */
+    private Long classId;
+
+    /**
+     * 班级名称
+     */
+    private String className;
+
+    /**
+     * 姓名
+     */
+    private String studentName;
+
+    /**
+     * 学号
+     */
+    private String studentNumber;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 71 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/FormalTeacherClass.java

@@ -0,0 +1,71 @@
+package org.dromara.system.domain;
+
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 老师-班级(学科)(审核通过之后数据)对象 formal_teacher_class
+ *
+ * @author Lion Li
+ * @date 2023-08-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("formal_teacher_class")
+public class FormalTeacherClass extends BaseEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @TableId(value = "id")
+    private Long id;
+
+    /**
+     * 老师id
+     */
+    private Long teacherId;
+
+    /**
+     * 学校id
+     */
+    private String schoolId;
+
+    /**
+     * 学校名称
+     */
+    private String schoolName;
+
+    /**
+     * 班级id
+     */
+    private Long classId;
+
+    /**
+     * 班级名称
+     */
+    private String className;
+
+    /**
+     * 学科
+     */
+    private String discipline;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 老师名称
+     */
+    private String teacherName;
+
+
+}

+ 78 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/FormalParentsStudentBo.java

@@ -0,0 +1,78 @@
+package org.dromara.system.domain.bo;
+
+import org.dromara.system.domain.FormalParentsStudent;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+
+/**
+ * 家长-学生(审核通过之后数据)业务对象 formal_parents_student
+ *
+ * @author Lion Li
+ * @date 2023-08-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = FormalParentsStudent.class, reverseConvertGenerate = false)
+public class FormalParentsStudentBo extends BaseEntity {
+
+    /**
+     * ID
+     */
+    @NotNull(message = "ID不能为空", groups = { EditGroup.class })
+    private Long id;
+
+    /**
+     * 家长id
+     */
+    @NotNull(message = "家长id不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long parentsId;
+
+    /**
+     * 学校id
+     */
+    @NotNull(message = "学校id不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long schoolId;
+
+    /**
+     * 学校名称
+     */
+    @NotBlank(message = "学校名称不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String schoolName;
+
+    /**
+     * 班级id
+     */
+    @NotNull(message = "班级id不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long classId;
+
+    /**
+     * 班级名称
+     */
+    @NotBlank(message = "班级名称不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String className;
+
+    /**
+     * 姓名
+     */
+    @NotBlank(message = "姓名不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String studentName;
+
+    /**
+     * 学号
+     */
+    @NotBlank(message = "学号不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String studentNumber;
+
+    /**
+     * 备注
+     */
+    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String remark;
+
+
+}

+ 69 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/FormalTeacherClassBo.java

@@ -0,0 +1,69 @@
+package org.dromara.system.domain.bo;
+
+import org.dromara.system.domain.FormalTeacherClass;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+
+/**
+ * 老师-班级(学科)(审核通过之后数据)业务对象 formal_teacher_class
+ *
+ * @author Lion Li
+ * @date 2023-08-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = FormalTeacherClass.class, reverseConvertGenerate = false)
+public class FormalTeacherClassBo extends BaseEntity {
+
+    /**
+     * ID
+     */
+    private Long id;
+
+    /**
+     * 老师id
+     */
+    private Long teacherId;
+
+    /**
+     * 学校id
+     */
+    private String schoolId;
+
+    /**
+     * 学校名称
+     */
+    private String schoolName;
+
+    /**
+     * 班级id
+     */
+    private Long classId;
+
+    /**
+     * 班级名称
+     */
+    private String className;
+
+    /**
+     * 学科
+     */
+    private String discipline;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 老师名称
+     */
+    private String teacherName;
+
+
+}

+ 86 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/FormalParentsStudentVo.java

@@ -0,0 +1,86 @@
+package org.dromara.system.domain.vo;
+
+import org.dromara.system.domain.FormalParentsStudent;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 家长-学生(审核通过之后数据)视图对象 formal_parents_student
+ *
+ * @author Lion Li
+ * @date 2023-08-16
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = FormalParentsStudent.class)
+public class FormalParentsStudentVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @ExcelProperty(value = "ID")
+    private Long id;
+
+    /**
+     * 家长id
+     */
+    @ExcelProperty(value = "家长id")
+    private Long parentsId;
+
+    /**
+     * 学校id
+     */
+    @ExcelProperty(value = "学校id")
+    private Long schoolId;
+
+    /**
+     * 学校名称
+     */
+    @ExcelProperty(value = "学校名称")
+    private String schoolName;
+
+    /**
+     * 班级id
+     */
+    @ExcelProperty(value = "班级id")
+    private Long classId;
+
+    /**
+     * 班级名称
+     */
+    @ExcelProperty(value = "班级名称")
+    private String className;
+
+    /**
+     * 姓名
+     */
+    @ExcelProperty(value = "姓名")
+    private String studentName;
+
+    /**
+     * 学号
+     */
+    @ExcelProperty(value = "学号")
+    private String studentNumber;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 19 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/FormalTeacherClassListVo.java

@@ -0,0 +1,19 @@
+package org.dromara.system.domain.vo;
+
+
+import org.dromara.system.domain.bo.FormalTeacherClassBo;
+
+import java.util.List;
+
+public class FormalTeacherClassListVo {
+
+    private List<FormalTeacherClassBo> pormalTeacherClassList;
+
+    public List<FormalTeacherClassBo> getPormalTeacherClassList() {
+        return pormalTeacherClassList;
+    }
+
+    public void setPormalTeacherClassList(List<FormalTeacherClassBo> pormalTeacherClassList) {
+        this.pormalTeacherClassList = pormalTeacherClassList;
+    }
+}

+ 107 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/FormalTeacherClassVo.java

@@ -0,0 +1,107 @@
+package org.dromara.system.domain.vo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import org.dromara.system.domain.FormalTeacherClass;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 老师-班级(学科)(审核通过之后数据)视图对象 formal_teacher_class
+ *
+ * @author Lion Li
+ * @date 2023-08-16
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = FormalTeacherClass.class)
+public class FormalTeacherClassVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @ExcelProperty(value = "ID")
+    private Long id;
+
+    /**
+     * 老师id
+     */
+    @ExcelProperty(value = "老师id")
+    private Long teacherId;
+
+    /**
+     * 学校id
+     */
+    @ExcelProperty(value = "学校id")
+    private String schoolId;
+
+    /**
+     * 学校名称
+     */
+    @ExcelProperty(value = "学校名称")
+    private String schoolName;
+
+    /**
+     * 班级id
+     */
+    @ExcelProperty(value = "班级id")
+    private Long classId;
+
+    /**
+     * 班级名称
+     */
+    @ExcelProperty(value = "班级名称")
+    private String className;
+
+    /**
+     * 学科
+     */
+    @ExcelProperty(value = "学科")
+    private String discipline;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+    /**
+     * 老师名称
+     */
+    @ExcelProperty(value = "老师名称")
+    private String teacherName;
+
+    /**
+     * 创建者
+     */
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    /**
+     * 更新者
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+}

+ 65 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/FormalParentsStudentMapper.java

@@ -0,0 +1,65 @@
+package org.dromara.system.mapper;
+
+import org.dromara.system.domain.FormalParentsStudent;
+import org.dromara.system.domain.vo.FormalParentsStudentVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+import java.util.List;
+
+/**
+ * 家长-学生(审核通过之后数据)Mapper接口
+ *
+ * @author Lion Li
+ * @date 2023-08-16
+ */
+public interface FormalParentsStudentMapper extends BaseMapperPlus<FormalParentsStudent, FormalParentsStudentVo> {
+    /**
+     * 查询家长-学生(审核通过之后数据)
+     *
+     * @param id 家长-学生(审核通过之后数据)主键
+     * @return 家长-学生(审核通过之后数据)
+     */
+    public FormalParentsStudent selectFormalParentsStudentById(Long id);
+
+    /**
+     * 查询家长-学生(审核通过之后数据)列表
+     *
+     * @param formalParentsStudent 家长-学生(审核通过之后数据)
+     * @return 家长-学生(审核通过之后数据)集合
+     */
+    public List<FormalParentsStudent> selectFormalParentsStudentList(FormalParentsStudent formalParentsStudent);
+
+    /**
+     * 新增家长-学生(审核通过之后数据)
+     *
+     * @param formalParentsStudent 家长-学生(审核通过之后数据)
+     * @return 结果
+     */
+    public int insertFormalParentsStudent(FormalParentsStudent formalParentsStudent);
+
+    /**
+     * 修改家长-学生(审核通过之后数据)
+     *
+     * @param formalParentsStudent 家长-学生(审核通过之后数据)
+     * @return 结果
+     */
+    public int updateFormalParentsStudent(FormalParentsStudent formalParentsStudent);
+
+    /**
+     * 删除家长-学生(审核通过之后数据)
+     *
+     * @param id 家长-学生(审核通过之后数据)主键
+     * @return 结果
+     */
+    public int deleteFormalParentsStudentById(Long id);
+
+    /**
+     * 批量删除家长-学生(审核通过之后数据)
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteFormalParentsStudentByIds(Long[] ids);
+
+    void deleteFormalParentsStudentByParentsId(Long userId);
+}

+ 68 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/FormalTeacherClassMapper.java

@@ -0,0 +1,68 @@
+package org.dromara.system.mapper;
+
+import org.dromara.system.domain.FormalTeacherClass;
+import org.dromara.system.domain.bo.FormalTeacherClassBo;
+import org.dromara.system.domain.vo.FormalTeacherClassVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+import java.util.List;
+
+/**
+ * 老师-班级(学科)(审核通过之后数据)Mapper接口
+ *
+ * @author Lion Li
+ * @date 2023-08-16
+ */
+public interface FormalTeacherClassMapper extends BaseMapperPlus<FormalTeacherClass, FormalTeacherClassVo> {
+    /**
+     * 查询老师-班级(学科)(审核通过之后数据)
+     *
+     * @param id 老师-班级(学科)(审核通过之后数据)主键
+     * @return 老师-班级(学科)(审核通过之后数据)
+     */
+    public FormalTeacherClass selectFormalTeacherClassById(Long id);
+
+    /**
+     * 查询老师-班级(学科)(审核通过之后数据)列表
+     *
+     * @param formalTeacherClass 老师-班级(学科)(审核通过之后数据)
+     * @return 老师-班级(学科)(审核通过之后数据)集合
+     */
+    public List<FormalTeacherClass> selectFormalTeacherClassList(FormalTeacherClass formalTeacherClass);
+
+    /**
+     * 新增老师-班级(学科)(审核通过之后数据)
+     *
+     * @param formalTeacherClass 老师-班级(学科)(审核通过之后数据)
+     * @return 结果
+     */
+    public int insertFormalTeacherClass(FormalTeacherClassBo formalTeacherClass);
+
+    /**
+     * 修改老师-班级(学科)(审核通过之后数据)
+     *
+     * @param formalTeacherClass 老师-班级(学科)(审核通过之后数据)
+     * @return 结果
+     */
+    public int updateFormalTeacherClass(FormalTeacherClass formalTeacherClass);
+
+    /**
+     * 删除老师-班级(学科)(审核通过之后数据)
+     *
+     * @param id 老师-班级(学科)(审核通过之后数据)主键
+     * @return 结果
+     */
+    public int deleteFormalTeacherClassById(Long id);
+
+    /**
+     * 批量删除老师-班级(学科)(审核通过之后数据)
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteFormalTeacherClassByIds(Long[] ids);
+
+    public List<FormalTeacherClass> getTeacherClass(String teacherId);
+
+    void deleteFormalTeacherClassByTeacherId(Long userId);
+}

+ 139 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/FormalParentsStudentServiceImpl.java

@@ -0,0 +1,139 @@
+package org.dromara.system.service.impl;
+
+import org.dromara.common.core.domain.dto.RoleDTO;
+import org.dromara.common.core.domain.model.LoginUser;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.satoken.utils.LoginHelper;
+import org.springframework.stereotype.Service;
+import org.dromara.system.domain.bo.FormalParentsStudentBo;
+import org.dromara.system.domain.vo.FormalParentsStudentVo;
+import org.dromara.system.domain.FormalParentsStudent;
+import org.dromara.system.mapper.FormalParentsStudentMapper;
+import org.dromara.system.service.IFormalParentsStudentService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 家长-学生(审核通过之后数据)Service业务层处理
+ *
+ * @author Lion Li
+ * @date 2023-08-16
+ */
+@RequiredArgsConstructor
+@Service
+public class FormalParentsStudentServiceImpl implements IFormalParentsStudentService {
+
+    private final FormalParentsStudentMapper baseMapper;
+
+    /**
+     * 查询家长-学生(审核通过之后数据)
+     */
+    @Override
+    public FormalParentsStudentVo queryById(Long id){
+        return baseMapper.selectVoById(id);
+    }
+
+    /**
+     * 查询家长-学生(审核通过之后数据)列表
+     */
+    @Override
+    public TableDataInfo<FormalParentsStudentVo> queryPageList(FormalParentsStudentBo bo, PageQuery pageQuery) {
+        LambdaQueryWrapper<FormalParentsStudent> lqw = buildQueryWrapper(bo);
+        Page<FormalParentsStudentVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        return TableDataInfo.build(result);
+    }
+
+    /**
+     * 查询家长-学生(审核通过之后数据)列表
+     */
+    @Override
+    public List<FormalParentsStudentVo> queryList(FormalParentsStudentBo bo) {
+        LambdaQueryWrapper<FormalParentsStudent> lqw = buildQueryWrapper(bo);
+        return baseMapper.selectVoList(lqw);
+    }
+
+    private LambdaQueryWrapper<FormalParentsStudent> buildQueryWrapper(FormalParentsStudentBo bo) {
+        Map<String, Object> params = bo.getParams();
+        LambdaQueryWrapper<FormalParentsStudent> lqw = Wrappers.lambdaQuery();
+        lqw.eq(bo.getParentsId() != null, FormalParentsStudent::getParentsId, bo.getParentsId());
+        lqw.eq(bo.getSchoolId() != null, FormalParentsStudent::getSchoolId, bo.getSchoolId());
+        lqw.like(StringUtils.isNotBlank(bo.getSchoolName()), FormalParentsStudent::getSchoolName, bo.getSchoolName());
+        lqw.eq(bo.getClassId() != null, FormalParentsStudent::getClassId, bo.getClassId());
+        lqw.like(StringUtils.isNotBlank(bo.getClassName()), FormalParentsStudent::getClassName, bo.getClassName());
+        lqw.like(StringUtils.isNotBlank(bo.getStudentName()), FormalParentsStudent::getStudentName, bo.getStudentName());
+        lqw.eq(StringUtils.isNotBlank(bo.getStudentNumber()), FormalParentsStudent::getStudentNumber, bo.getStudentNumber());
+        return lqw;
+    }
+
+    /**
+     * 新增家长-学生(审核通过之后数据)
+     */
+    @Override
+    public Boolean insertByBo(FormalParentsStudentBo bo) {
+        FormalParentsStudent add = MapstructUtils.convert(bo, FormalParentsStudent.class);
+        validEntityBeforeSave(add);
+        boolean flag = baseMapper.insert(add) > 0;
+        if (flag) {
+            bo.setId(add.getId());
+        }
+        return flag;
+    }
+
+    /**
+     * 修改家长-学生(审核通过之后数据)
+     */
+    @Override
+    public Boolean updateByBo(FormalParentsStudentBo bo) {
+        FormalParentsStudent update = MapstructUtils.convert(bo, FormalParentsStudent.class);
+        validEntityBeforeSave(update);
+        return baseMapper.updateById(update) > 0;
+    }
+
+    /**
+     * 保存前的数据校验
+     */
+    private void validEntityBeforeSave(FormalParentsStudent entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    /**
+     * 批量删除家长-学生(审核通过之后数据)
+     */
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return baseMapper.deleteBatchIds(ids) > 0;
+    }
+
+    @Override
+    public TableDataInfo<FormalParentsStudentVo> selectFormalParentsStudentListNoPage(FormalParentsStudentBo bo) {
+        LoginUser loginUser = LoginHelper.getLoginUser();
+
+        if(!"admin".equals(loginUser.getUsername())){
+            Map<String, Object> params = bo.getParams();
+            String role = "";
+            if (params != null && params.size() > 0) {
+                role = (String) params.get("role");
+            }
+
+            if("parents".equals(role)){
+                bo.setParentsId(loginUser.getUserId());
+            }
+        }
+
+        LambdaQueryWrapper<FormalParentsStudent> lqw = buildQueryWrapper(bo);
+        List<FormalParentsStudentVo> list = baseMapper.selectVoList(lqw);
+        return TableDataInfo.build(list);
+    }
+}

+ 151 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/FormalTeacherClassServiceImpl.java

@@ -0,0 +1,151 @@
+package org.dromara.system.service.impl;
+
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.domain.model.LoginUser;
+import org.dromara.common.core.utils.DateUtils;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.satoken.utils.LoginHelper;
+import org.dromara.system.domain.vo.FormalParentsStudentVo;
+import org.dromara.system.domain.vo.FormalTeacherClassListVo;
+import org.springframework.stereotype.Service;
+import org.dromara.system.domain.bo.FormalTeacherClassBo;
+import org.dromara.system.domain.vo.FormalTeacherClassVo;
+import org.dromara.system.domain.FormalTeacherClass;
+import org.dromara.system.mapper.FormalTeacherClassMapper;
+import org.dromara.system.service.IFormalTeacherClassService;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 老师-班级(学科)(审核通过之后数据)Service业务层处理
+ *
+ * @author Lion Li
+ * @date 2023-08-16
+ */
+@RequiredArgsConstructor
+@Service
+public class FormalTeacherClassServiceImpl implements IFormalTeacherClassService {
+
+    private final FormalTeacherClassMapper baseMapper;
+
+    /**
+     * 查询老师-班级(学科)(审核通过之后数据)
+     */
+    @Override
+    public FormalTeacherClassVo queryById(Long id){
+        return baseMapper.selectVoById(id);
+    }
+
+    /**
+     * 查询老师-班级(学科)(审核通过之后数据)列表
+     */
+    @Override
+    public TableDataInfo<FormalTeacherClassVo> queryPageList(FormalTeacherClassBo bo, PageQuery pageQuery) {
+        LambdaQueryWrapper<FormalTeacherClass> lqw = buildQueryWrapper(bo);
+        Page<FormalTeacherClassVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        return TableDataInfo.build(result);
+    }
+
+    /**
+     * 查询老师-班级(学科)(审核通过之后数据)列表
+     */
+    @Override
+    public List<FormalTeacherClassVo> queryList(FormalTeacherClassBo bo) {
+        LambdaQueryWrapper<FormalTeacherClass> lqw = buildQueryWrapper(bo);
+        return baseMapper.selectVoList(lqw);
+    }
+
+    private LambdaQueryWrapper<FormalTeacherClass> buildQueryWrapper(FormalTeacherClassBo bo) {
+        Map<String, Object> params = bo.getParams();
+        LambdaQueryWrapper<FormalTeacherClass> lqw = Wrappers.lambdaQuery();
+        lqw.eq(bo.getTeacherId() != null, FormalTeacherClass::getTeacherId, bo.getTeacherId());
+        lqw.eq(StringUtils.isNotBlank(bo.getSchoolId()), FormalTeacherClass::getSchoolId, bo.getSchoolId());
+        lqw.like(StringUtils.isNotBlank(bo.getSchoolName()), FormalTeacherClass::getSchoolName, bo.getSchoolName());
+        lqw.eq(bo.getClassId()!= null, FormalTeacherClass::getClassId, bo.getClassId());
+        lqw.like(StringUtils.isNotBlank(bo.getClassName()), FormalTeacherClass::getClassName, bo.getClassName());
+        lqw.eq(StringUtils.isNotBlank(bo.getDiscipline()), FormalTeacherClass::getDiscipline, bo.getDiscipline());
+        lqw.like(StringUtils.isNotBlank(bo.getTeacherName()), FormalTeacherClass::getTeacherName, bo.getTeacherName());
+        return lqw;
+    }
+
+    /**
+     * 新增老师-班级(学科)(审核通过之后数据)
+     */
+    @Override
+    public Boolean insertByBo(FormalTeacherClassBo bo) {
+        FormalTeacherClass add = MapstructUtils.convert(bo, FormalTeacherClass.class);
+        validEntityBeforeSave(add);
+        boolean flag = baseMapper.insert(add) > 0;
+        if (flag) {
+            bo.setId(add.getId());
+        }
+        return flag;
+    }
+
+    /**
+     * 修改老师-班级(学科)(审核通过之后数据)
+     */
+    @Override
+    public Boolean updateByBo(FormalTeacherClassBo bo) {
+        FormalTeacherClass update = MapstructUtils.convert(bo, FormalTeacherClass.class);
+        validEntityBeforeSave(update);
+        return baseMapper.updateById(update) > 0;
+    }
+
+    /**
+     * 保存前的数据校验
+     */
+    private void validEntityBeforeSave(FormalTeacherClass entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    /**
+     * 批量删除老师-班级(学科)(审核通过之后数据)
+     */
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return baseMapper.deleteBatchIds(ids) > 0;
+    }
+
+    @Override
+    public R<Void> updateFormalTeacherClassList(FormalTeacherClassListVo formalTeacherClassListVo) {
+        LoginUser loginUser = LoginHelper.getLoginUser();
+        List<FormalTeacherClassBo> pormalTeacherClassList = formalTeacherClassListVo.getPormalTeacherClassList();
+        if(pormalTeacherClassList==null || pormalTeacherClassList.size()<=0){
+            return R.fail("参数错误");
+        }
+        //先删除
+        baseMapper.deleteFormalTeacherClassByTeacherId(loginUser.getUserId());
+        for (FormalTeacherClassBo formalTeacherClass : pormalTeacherClassList) {
+            formalTeacherClass.setTeacherId(loginUser.getUserId());
+            formalTeacherClass.setTeacherName(loginUser.getNickname());
+            formalTeacherClass.setUpdateTime(DateUtils.getNowDate());
+            formalTeacherClass.setCreateTime(DateUtils.getNowDate());
+            baseMapper.insertFormalTeacherClass(formalTeacherClass);
+        }
+        return R.ok();
+    }
+
+    @Override
+    public TableDataInfo<FormalTeacherClassVo> selectFormalTeacherClassListNoPage(FormalTeacherClassBo bo) {
+        if(bo.getClassId()==null || bo.getClassId()==0L ){
+            return TableDataInfo.build(new ArrayList<>());
+        }
+        LambdaQueryWrapper<FormalTeacherClass> lqw = buildQueryWrapper(bo);
+        List<FormalTeacherClassVo> list = baseMapper.selectVoList(lqw);
+        return TableDataInfo.build(list);
+    }
+}

+ 104 - 0
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/FormalParentsStudentMapper.xml

@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.dromara.system.mapper.FormalParentsStudentMapper">
+    <resultMap type="org.dromara.system.domain.vo.FormalParentsStudentVo" id="FormalParentsStudentResult">
+        <result property="id"    column="id"    />
+        <result property="parentsId"    column="parents_id"    />
+        <result property="schoolId"    column="school_id"    />
+        <result property="schoolName"    column="school_name"    />
+        <result property="classId"    column="class_id"    />
+        <result property="className"    column="class_name"    />
+        <result property="studentName"    column="student_name"    />
+        <result property="studentNumber"    column="student_number"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectFormalParentsStudentVo">
+        select id, parents_id, school_id, school_name, class_id, class_name, student_name, student_number, create_by, create_time, update_by, update_time, remark from formal_parents_student
+    </sql>
+
+    <select id="selectFormalParentsStudentList" parameterType="FormalParentsStudent" resultMap="FormalParentsStudentResult">
+        <include refid="selectFormalParentsStudentVo"/>
+        <where>
+            <if test="parentsId != null  and parentsId != ''"> and parents_id = #{parentsId}</if>
+            <if test="schoolId != null  and schoolId != ''"> and school_id = #{schoolId}</if>
+            <if test="schoolName != null  and schoolName != ''"> and school_name like concat('%', #{schoolName}, '%')</if>
+            <if test="classId != null  and classId != ''"> and class_id = #{classId}</if>
+            <if test="className != null  and className != ''"> and class_name like concat('%', #{className}, '%')</if>
+            <if test="studentName != null  and studentName != ''"> and student_name like concat('%', #{studentName}, '%')</if>
+            <if test="studentNumber != null  and studentNumber != ''"> and student_number = #{studentNumber}</if>
+        </where>
+    </select>
+
+    <select id="selectFormalParentsStudentById" parameterType="Long" resultMap="FormalParentsStudentResult">
+        <include refid="selectFormalParentsStudentVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertFormalParentsStudent" parameterType="FormalParentsStudent" useGeneratedKeys="true" keyProperty="id">
+        insert into formal_parents_student
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="parentsId != null">parents_id,</if>
+            <if test="schoolId != null">school_id,</if>
+            <if test="schoolName != null">school_name,</if>
+            <if test="classId != null">class_id,</if>
+            <if test="className != null">class_name,</if>
+            <if test="studentName != null">student_name,</if>
+            <if test="studentNumber != null">student_number,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="parentsId != null">#{parentsId},</if>
+            <if test="schoolId != null">#{schoolId},</if>
+            <if test="schoolName != null">#{schoolName},</if>
+            <if test="classId != null">#{classId},</if>
+            <if test="className != null">#{className},</if>
+            <if test="studentName != null">#{studentName},</if>
+            <if test="studentNumber != null">#{studentNumber},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+        </trim>
+    </insert>
+
+    <update id="updateFormalParentsStudent" parameterType="FormalParentsStudent">
+        update formal_parents_student
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="parentsId != null">parents_id = #{parentsId},</if>
+            <if test="schoolId != null">school_id = #{schoolId},</if>
+            <if test="schoolName != null">school_name = #{schoolName},</if>
+            <if test="classId != null">class_id = #{classId},</if>
+            <if test="className != null">class_name = #{className},</if>
+            <if test="studentName != null">student_name = #{studentName},</if>
+            <if test="studentNumber != null">student_number = #{studentNumber},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteFormalParentsStudentById" parameterType="Long">
+        delete from formal_parents_student where id = #{id}
+    </delete>
+
+    <delete id="deleteFormalParentsStudentByIds" parameterType="String">
+        delete from formal_parents_student where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+    <delete id="deleteFormalParentsStudentByParentsId">
+        delete from formal_parents_student where parents_id = #{userId}
+    </delete>
+</mapper>

+ 112 - 0
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/FormalTeacherClassMapper.xml

@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.dromara.system.mapper.FormalTeacherClassMapper">
+    <resultMap type="org.dromara.system.domain.vo.FormalTeacherClassVo" id="FormalTeacherClassResult">
+        <result property="id"    column="id"    />
+        <result property="teacherId"    column="teacher_id"    />
+        <result property="teacherName"    column="teacher_name"    />
+        <result property="schoolId"    column="school_id"    />
+        <result property="schoolName"    column="school_name"    />
+        <result property="classId"    column="class_id"    />
+        <result property="className"    column="class_name"    />
+        <result property="discipline"    column="discipline"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectFormalTeacherClassVo">
+        select id, teacher_id,teacher_name, school_id, school_name, class_id, class_name, discipline, create_by, create_time, update_by, update_time, remark from formal_teacher_class
+    </sql>
+
+    <select id="selectFormalTeacherClassList" parameterType="FormalTeacherClass" resultMap="FormalTeacherClassResult">
+        <include refid="selectFormalTeacherClassVo"/>
+        <where>
+            <if test="teacherId != null  and teacherId != ''"> and teacher_id = #{teacherId}</if>
+            <if test="schoolId != null  and schoolId != ''"> and school_id = #{schoolId}</if>
+            <if test="schoolName != null  and schoolName != ''"> and school_name like concat('%', #{schoolName}, '%')</if>
+            <if test="classId != null  and classId != ''"> and class_id = #{classId}</if>
+            <if test="className != null  and className != ''"> and class_name like concat('%', #{className}, '%')</if>
+            <if test="discipline != null  and discipline != ''"> and discipline = #{discipline}</if>
+        </where>
+    </select>
+
+    <select id="selectFormalTeacherClassById" parameterType="Long" resultMap="FormalTeacherClassResult">
+        <include refid="selectFormalTeacherClassVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertFormalTeacherClass" parameterType="FormalTeacherClass" useGeneratedKeys="true" keyProperty="id">
+        insert into formal_teacher_class
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="teacherId != null and teacherId != ''">teacher_id,</if>
+            <if test="teacherName != null">teacher_name,</if>
+            <if test="schoolId != null">school_id,</if>
+            <if test="schoolName != null">school_name,</if>
+            <if test="classId != null and classId != ''">class_id,</if>
+            <if test="className != null and className != ''">class_name,</if>
+            <if test="discipline != null and discipline != ''">discipline,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="teacherId != null and teacherId != ''">#{teacherId},</if>
+            <if test="teacherName != null">#{teacherName},</if>
+            <if test="schoolId != null">#{schoolId},</if>
+            <if test="schoolName != null">#{schoolName},</if>
+            <if test="classId != null and classId != ''">#{classId},</if>
+            <if test="className != null and className != ''">#{className},</if>
+            <if test="discipline != null and discipline != ''">#{discipline},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+        </trim>
+    </insert>
+
+    <update id="updateFormalTeacherClass" parameterType="FormalTeacherClass">
+        update formal_teacher_class
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="teacherId != null and teacherId != ''">teacher_id = #{teacherId},</if>
+            <if test="teacherName != null">teacher_name= #{teacherName},</if>
+            <if test="schoolId != null">school_id = #{schoolId},</if>
+            <if test="schoolName != null">school_name = #{schoolName},</if>
+            <if test="classId != null and classId != ''">class_id = #{classId},</if>
+            <if test="className != null and className != ''">class_name = #{className},</if>
+            <if test="discipline != null and discipline != ''">discipline = #{discipline},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteFormalTeacherClassById" parameterType="Long">
+        delete from formal_teacher_class where id = #{id}
+    </delete>
+
+    <delete id="deleteFormalTeacherClassByIds" parameterType="String">
+        delete from formal_teacher_class where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+    <delete id="deleteFormalTeacherClassByTeacherId" parameterType="java.lang.Long">
+        delete from formal_teacher_class where teacher_id = #{userId}
+    </delete>
+
+    <select id="getTeacherClass" parameterType="string" resultMap="FormalTeacherClassResult">
+        <include refid="selectFormalTeacherClassVo"/>
+        where teacher_id = #{teacherId}
+    </select>
+</mapper>