zouxuan 5 سال پیش
والد
کامیت
2e280279fc
15فایلهای تغییر یافته به همراه897 افزوده شده و 1 حذف شده
  1. 62 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/SubjectController.java
  2. 57 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/TeacherController.java
  3. 54 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/SubjectDao.java
  4. 9 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/TeacherDao.java
  5. 116 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/Subject.java
  6. 116 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/Teacher.java
  7. 33 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/enums/YesOrNoEnum.java
  8. 41 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/SubjectQueryInfo.java
  9. 45 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/SubjectService.java
  10. 9 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/TeacherService.java
  11. 103 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/SubjectServiceImpl.java
  12. 22 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/TeacherServiceImpl.java
  13. 129 0
      edu-user/edu-user-server/src/main/resources/config.mybatis/SubjectMapper.xml
  14. 1 1
      edu-user/edu-user-server/src/main/resources/config.mybatis/SysConfigMapper.xml
  15. 100 0
      edu-user/edu-user-server/src/main/resources/config.mybatis/TeacherMapper.xml

+ 62 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/SubjectController.java

@@ -0,0 +1,62 @@
+package com.keao.edu.user.controller;
+
+
+import com.keao.edu.common.controller.BaseController;
+import com.keao.edu.common.entity.HttpResponseResult;
+import com.keao.edu.common.page.PageInfo;
+import com.keao.edu.user.entity.Subject;
+import com.keao.edu.user.page.SubjectQueryInfo;
+import com.keao.edu.user.service.SubjectService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RequestMapping("subject")
+@Api(tags = "科目服务")
+@RestController
+public class SubjectController extends BaseController {
+
+    @Autowired
+    private SubjectService subjectService;
+
+    @ApiOperation(value = "修改、新增科目")
+    @PostMapping("/upset")
+    @PreAuthorize("@pcs.hasPermissions('subject/upset')")
+    public HttpResponseResult update(@RequestBody Subject subject){
+        subjectService.upSetSubject(subject);
+        return succeed();
+    }
+
+    @ApiOperation(value = "根据科目编号查询科目")
+    @GetMapping("/get/{id}")
+    @PreAuthorize("@pcs.hasPermissions('subject/get')")
+    public HttpResponseResult<Subject> get(@ApiParam(value = "科目编号", required = true) @PathVariable("id") Integer id){
+        return succeed(subjectService.get(id));
+    }
+
+    @ApiOperation(value = "分页查询科目列表")
+    @GetMapping("/queryPage")
+    @PreAuthorize("@pcs.hasPermissions('subject/queryPage')")
+    public HttpResponseResult<PageInfo<Subject>> queryPage(SubjectQueryInfo queryInfo){
+        return succeed(subjectService.queryPage(queryInfo));
+    }
+
+    @ApiOperation(value = "分页查询科目树状列表")
+    @GetMapping("/queryPageTree")
+    @PreAuthorize("@pcs.hasPermissions('subject/queryPageTree')")
+    public HttpResponseResult<PageInfo<Subject>> queryPageTree(SubjectQueryInfo queryInfo){
+        return succeed(subjectService.queryPageTree(queryInfo));
+    }
+
+    @ApiOperation(value = "获取子集科目列表")
+    @GetMapping("/findSubSubjects")
+    @PreAuthorize("@pcs.hasPermissions('subject/findSubSubjects')")
+    public HttpResponseResult<List<Subject>> findSubSubjects(Integer tenantId){
+        return succeed(subjectService.findSubSubjects(tenantId));
+    }
+}

+ 57 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/TeacherController.java

@@ -0,0 +1,57 @@
+package com.keao.edu.user.controller;
+
+
+import com.keao.edu.common.controller.BaseController;
+import com.keao.edu.common.page.QueryInfo;
+import com.keao.edu.user.entity.Teacher;
+import com.keao.edu.user.service.TeacherService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 系统配置控制层
+ */
+@RestController
+@Api(tags = "教师服务")
+@RequestMapping(value = "teacher")
+public class TeacherController extends BaseController {
+
+	@Autowired
+	private TeacherService teacherService;
+
+	@ApiOperation(value = "教师列表")
+	@GetMapping(value = "list")
+    @PreAuthorize("@pcs.hasPermissions('teacher/list')")
+	public Object configList(QueryInfo queryInfo) {
+		return succeed(teacherService.queryPage(queryInfo));
+	}
+
+	@ApiOperation(value = "修改教师")
+	@PostMapping(value = "update")
+    @PreAuthorize("@pcs.hasPermissions('teacher/update')")
+	public Object update(Teacher teacher) {
+		teacherService.update(teacher);
+		return succeed();
+	}
+
+	@ApiOperation(value = "新增教师")
+	@PostMapping(value = "add")
+    @PreAuthorize("@pcs.hasPermissions('teacher/add')")
+	public Object add(Teacher teacher) {
+		teacherService.insert(teacher);
+		return succeed();
+	}
+
+	@ApiOperation(value = "查询参数")
+	@GetMapping(value = "get")
+    @PreAuthorize("@pcs.hasPermissions('teacher/get')")
+	public Object getConfig(Integer id) {
+		return succeed(teacherService.get(id));
+	}
+}

+ 54 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/SubjectDao.java

@@ -0,0 +1,54 @@
+package com.keao.edu.user.dao;
+
+import com.keao.edu.common.dal.BaseDAO;
+import com.keao.edu.user.entity.Subject;
+import com.keao.edu.user.enums.YesOrNoEnum;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+public interface SubjectDao extends BaseDAO<Integer, Subject> {
+
+    /**
+     * 根据父级id查询子级列表
+     *
+     * @param parentId
+     * @return
+     */
+    List<Subject> findByParentId(@Param("parentId") Integer parentId, @Param("delFlag") YesOrNoEnum delFlag, @Param("tenantId") Integer tenantId);
+
+    /**
+     * 根据声部id字符串查询
+     *
+     * @param subIds
+     * @return
+     */
+    List<String> findBySubIds(String subIds);
+
+    /**
+     * 根据声部编号列表获取声部名称map
+     *
+     * @param subjectIds
+     * @return
+     */
+    List<Map<Integer, String>> queryNameByIds(@Param("subjectIds") String subjectIds);
+
+    /**
+     * 获取子级列表
+     *
+     * @return
+     */
+    List<Subject> findSubSubjects(@Param("tenantId") Integer tenantId);
+
+    List<Subject> findBySubjectByIdList(@Param("subjectIdList") String subjectIdList);
+
+    List<Subject> findBySubjectIds(@Param("subjectIds") List<Integer> subjectIds);
+
+    /**
+     * 获取声部名称
+     * @param subjectIdList
+     * @return
+     */
+    String findNames(String subjectIdList);
+}

+ 9 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/TeacherDao.java

@@ -0,0 +1,9 @@
+package com.keao.edu.user.dao;
+
+
+import com.keao.edu.common.dal.BaseDAO;
+import com.keao.edu.user.entity.Teacher;
+
+public interface TeacherDao extends BaseDAO<Integer, Teacher> {
+
+}

+ 116 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/Subject.java

@@ -0,0 +1,116 @@
+package com.keao.edu.user.entity;
+
+import com.keao.edu.user.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+import java.util.List;
+
+/**
+ * 对应数据库表(subject):
+ */
+public class Subject {
+
+	/**  */
+	private Integer id;
+
+	@ApiModelProperty(value = "名称",required = false)
+	private String name;
+
+	@ApiModelProperty(value = "code",required = false)
+	private String code;
+
+	@ApiModelProperty(value = "父级",required = false)
+	private Integer parentSubjectId;
+
+	@ApiModelProperty(value = "图片",required = false)
+	private String img;
+
+	private java.util.Date createTime;
+	
+	private java.util.Date updateTime;
+
+	@ApiModelProperty(value = "是否删除",required = false)
+	private YesOrNoEnum delFlag;
+
+	@ApiModelProperty(value = "子节点列表",required = false)
+	private List<Subject> subjects;
+
+	public List<Subject> getSubjects() {
+		return subjects;
+	}
+
+	public void setSubjects(List<Subject> subjects) {
+		this.subjects = subjects;
+	}
+
+	public void setId(Integer id){
+		this.id = id;
+	}
+	
+	public Integer getId(){
+		return this.id;
+	}
+			
+	public void setName(String name){
+		this.name = name;
+	}
+	
+	public String getName(){
+		return this.name;
+	}
+			
+	public void setCode(String code){
+		this.code = code;
+	}
+	
+	public String getCode(){
+		return this.code;
+	}
+			
+	public void setParentSubjectId(Integer parentSubjectId){
+		this.parentSubjectId = parentSubjectId;
+	}
+	
+	public Integer getParentSubjectId(){
+		return this.parentSubjectId;
+	}
+			
+	public void setImg(String img){
+		this.img = img;
+	}
+	
+	public String getImg(){
+		return this.img;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+
+	public YesOrNoEnum getDelFlag() {
+		return delFlag;
+	}
+
+	public void setDelFlag(YesOrNoEnum delFlag) {
+		this.delFlag = delFlag;
+	}
+
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 116 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/Teacher.java

@@ -0,0 +1,116 @@
+package com.keao.edu.user.entity;
+
+import com.keao.edu.auth.api.entity.SysUser;
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(teacher):
+ */
+public class Teacher {
+
+	/**  */
+	private Integer userId;
+	
+	@ApiModelProperty(value = "职称",required = false)
+	private String title;
+	
+	@ApiModelProperty(value = "专业",required = false)
+	private String subjectIdList;
+	
+	@ApiModelProperty(value = "薪酬结算方式(按天、按考生数)",required = false)
+	private String salarySettlementType;
+	
+	@ApiModelProperty(value = "薪酬",required = false)
+	private java.math.BigDecimal salary;
+
+	@ApiModelProperty(value = "是否删除",required = false)
+	private Integer delFlag;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+
+	@ApiModelProperty(value = "用户编号",required = false)
+	private SysUser sysUser;
+
+	public Integer getDelFlag() {
+		return delFlag;
+	}
+
+	public void setDelFlag(Integer delFlag) {
+		this.delFlag = delFlag;
+	}
+
+	public SysUser getSysUser() {
+		return sysUser;
+	}
+
+	public void setSysUser(SysUser sysUser) {
+		this.sysUser = sysUser;
+	}
+
+	public void setUserId(Integer userId){
+		this.userId = userId;
+	}
+	
+	public Integer getUserId(){
+		return this.userId;
+	}
+			
+	public void setTitle(String title){
+		this.title = title;
+	}
+	
+	public String getTitle(){
+		return this.title;
+	}
+			
+	public void setSubjectIdList(String subjectIdList){
+		this.subjectIdList = subjectIdList;
+	}
+	
+	public String getSubjectIdList(){
+		return this.subjectIdList;
+	}
+			
+	public void setSalarySettlementType(String salarySettlementType){
+		this.salarySettlementType = salarySettlementType;
+	}
+	
+	public String getSalarySettlementType(){
+		return this.salarySettlementType;
+	}
+			
+	public void setSalary(java.math.BigDecimal salary){
+		this.salary = salary;
+	}
+	
+	public java.math.BigDecimal getSalary(){
+		return this.salary;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 33 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/enums/YesOrNoEnum.java

@@ -0,0 +1,33 @@
+package com.keao.edu.user.enums;
+
+import com.keao.edu.common.enums.BaseEnum;
+
+public enum YesOrNoEnum implements BaseEnum<Integer, YesOrNoEnum> {
+    YES(1,"是"),
+    NO(0,"否");
+
+    private Integer code;
+    private String msg;
+
+    YesOrNoEnum(Integer code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    @Override
+    public Integer getCode() {
+        return this.code;
+    }
+}

+ 41 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/SubjectQueryInfo.java

@@ -0,0 +1,41 @@
+package com.keao.edu.user.page;
+
+
+import com.keao.edu.common.page.QueryInfo;
+import com.keao.edu.user.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+public class SubjectQueryInfo extends QueryInfo {
+    @ApiModelProperty(value = "父节点编号,默认0",required = false)
+    private Integer parentId = 0;
+
+    @ApiModelProperty(value = "节点状态,默认0未删除,1删除",required = false)
+    private YesOrNoEnum delFlag = YesOrNoEnum.NO;
+
+    @ApiModelProperty(value = "对内1对外2",required = false)
+    private Integer tenantId;
+
+    public Integer getTenantId() {
+        return tenantId;
+    }
+
+    public void setTenantId(Integer tenantId) {
+        this.tenantId = tenantId;
+    }
+
+    public YesOrNoEnum getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(YesOrNoEnum delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Integer getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Integer parentId) {
+        this.parentId = parentId;
+    }
+}

+ 45 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/SubjectService.java

@@ -0,0 +1,45 @@
+package com.keao.edu.user.service;
+
+
+import com.keao.edu.common.page.PageInfo;
+import com.keao.edu.common.service.BaseService;
+import com.keao.edu.user.entity.Subject;
+import com.keao.edu.user.page.SubjectQueryInfo;
+
+import java.util.List;
+
+public interface SubjectService extends BaseService<Integer, Subject> {
+
+    /**
+     * 分页查询科目树状列表
+     *
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<Subject> queryPageTree(SubjectQueryInfo queryInfo);
+
+    /**
+     * 修改、新增科目树状列表
+     *
+     * @param subject
+     */
+    void upSetSubject(Subject subject);
+
+    /**
+     * 获取子级科目列表
+     * @return
+     */
+    List<Subject> findSubSubjects(Integer tenantId);
+
+    List<Subject> findBySubjectByIdList(List<Integer> subjectIdList);
+
+    List<Subject> findBySubjectByIdList(String subjectIdList);
+
+    /**
+     * 根据声部id字符串查询
+     *
+     * @param subIds
+     * @return
+     */
+    List<String> findBySubIds(String subIds);
+}

+ 9 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/TeacherService.java

@@ -0,0 +1,9 @@
+package com.keao.edu.user.service;
+
+
+import com.keao.edu.common.service.BaseService;
+import com.keao.edu.user.entity.Teacher;
+
+public interface TeacherService extends BaseService<Integer, Teacher> {
+
+}

+ 103 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/SubjectServiceImpl.java

@@ -0,0 +1,103 @@
+package com.keao.edu.user.service.impl;
+
+
+import com.keao.edu.common.dal.BaseDAO;
+import com.keao.edu.common.page.PageInfo;
+import com.keao.edu.common.service.impl.BaseServiceImpl;
+import com.keao.edu.user.dao.SubjectDao;
+import com.keao.edu.user.entity.Subject;
+import com.keao.edu.user.enums.YesOrNoEnum;
+import com.keao.edu.user.page.SubjectQueryInfo;
+import com.keao.edu.user.service.SubjectService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject> implements SubjectService {
+
+    @Autowired
+    private SubjectDao subjectDao;
+
+    @Override
+    public BaseDAO<Integer, Subject> getDAO() {
+        return subjectDao;
+    }
+
+    @Override
+    public PageInfo<Subject> queryPageTree(SubjectQueryInfo queryInfo) {
+        PageInfo<Subject> pageInfo = queryPage(queryInfo);
+        for (Subject subject:pageInfo.getRows()) {
+            subject = getTree(subject,queryInfo.getDelFlag(),queryInfo.getTenantId());
+        }
+        return pageInfo;
+    }
+
+    @Override
+    public void upSetSubject(Subject subject) {
+        if(subject.getDelFlag() == YesOrNoEnum.YES){
+            subjectDao.delete(subject.getId());
+            return;
+        }
+        Integer parentId = upset(subject, null);
+        List<Subject> subjects = subject.getSubjects();
+        if(subjects != null && subjects.size() > 0){
+            subjects.forEach(e->{
+                upset(e, parentId);
+            });
+        }
+    }
+
+    private Integer upset(Subject subject,Integer parentId){
+        if(parentId != null){
+            subject.setParentSubjectId(parentId);
+        }
+        if(subject.getId() != null){
+            subject.setUpdateTime(new Date());
+            subjectDao.update(subject);
+        }else {
+            subjectDao.insert(subject);
+        }
+        return subject.getId();
+    }
+
+
+    private Subject getTree(Subject sub,YesOrNoEnum yesOrNoEnum,Integer tenantId){
+        //得到根节点对象
+        //获取子节点list
+        List<Subject> subjects = subjectDao.findByParentId(sub.getId(),yesOrNoEnum,tenantId);
+        //如果存在子节点
+        if(subjects != null && subjects.size() > 0) {
+            //将子节点list放入父节点对象
+            sub.setSubjects(subjects);
+            //遍历子节点....
+            for (Subject subject : subjects) {
+                getTree(subject,yesOrNoEnum,tenantId);
+            }
+        }
+        return sub;
+    }
+
+    @Override
+    public List<Subject> findSubSubjects(Integer tenantId) {
+        return subjectDao.findSubSubjects(tenantId);
+    }
+
+    @Override
+    public List<Subject> findBySubjectByIdList(List<Integer> subjectIdList) {
+        return subjectDao.findBySubjectByIdList(StringUtils.join(subjectIdList,","));
+    }
+
+    @Override
+    public List<Subject> findBySubjectByIdList(String subjectIdList) {
+        return subjectDao.findBySubjectByIdList(subjectIdList);
+    }
+
+    @Override
+    public List<String> findBySubIds(String subIds) {
+        return subjectDao.findBySubIds(subIds);
+    }
+}

+ 22 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/TeacherServiceImpl.java

@@ -0,0 +1,22 @@
+package com.keao.edu.user.service.impl;
+
+
+import com.keao.edu.common.dal.BaseDAO;
+import com.keao.edu.common.service.impl.BaseServiceImpl;
+import com.keao.edu.user.dao.TeacherDao;
+import com.keao.edu.user.entity.Teacher;
+import com.keao.edu.user.service.TeacherService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implements TeacherService {
+
+	@Autowired
+	private TeacherDao teacherDao;
+
+	@Override
+	public BaseDAO<Integer, Teacher> getDAO() {
+		return teacherDao;
+	}
+}

+ 129 - 0
edu-user/edu-user-server/src/main/resources/config.mybatis/SubjectMapper.xml

@@ -0,0 +1,129 @@
+<?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="com.keao.edu.user.dao.SubjectDao">
+
+    <resultMap type="com.keao.edu.user.entity.Subject" id="Subject">
+        <result column="id_" property="id"/>
+        <result column="name_" property="name"/>
+        <result column="code_" property="code"/>
+        <result column="parent_subject_id_" property="parentSubjectId"/>
+        <result column="img_" property="img"/>
+        <result column="create_time_" property="createTime"/>
+        <result column="update_time_" property="updateTime"/>
+        <result column="del_flag_" property="delFlag" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+    </resultMap>
+
+    <!-- 根据主键查询一条记录 -->
+    <select id="get" resultMap="Subject">
+		SELECT * FROM subject WHERE id_ = #{id} 
+	</select>
+
+    <!-- 全查询 -->
+    <select id="findAll" resultMap="Subject">
+		SELECT * FROM subject ORDER BY id_
+	</select>
+
+    <!-- 向数据库增加一条记录 -->
+    <insert id="insert" parameterType="com.keao.edu.user.entity.Subject" useGeneratedKeys="true" keyColumn="id"
+            keyProperty="id">
+        INSERT INTO subject (id_,name_,code_,parent_subject_id_,img_,create_time_,update_time_,tenant_id_)
+        VALUES(#{id},#{name},#{code},#{parentSubjectId},#{img},now(),now(),#{tenantId})
+    </insert>
+
+    <!-- 根据主键查询一条记录 -->
+    <update id="update" parameterType="com.keao.edu.user.entity.Subject">
+        UPDATE subject
+        <set>
+            <if test="delFlag != null">
+                del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
+            <if test="parentSubjectId != null">
+                parent_subject_id_ = #{parentSubjectId},
+            </if>
+            <if test="code != null">
+                code_ = #{code},
+            </if>
+            <if test="img != null">
+                img_ = #{img},
+            </if>
+            <if test="updateTime != null">
+                update_time_ = NOW(),
+            </if>
+            <if test="name != null">
+                name_ = #{name},
+            </if>
+        </set>
+        WHERE id_ = #{id}
+    </update>
+
+    <!-- 根据主键删除一条记录 -->
+    <update id="delete">
+        UPDATE `subject` SET del_flag_ = 1 WHERE id_ = #{id} OR parent_subject_id_ = #{id}
+	</update>
+
+    <!-- 分页查询 -->
+    <select id="queryPage" resultMap="Subject" parameterType="map">
+        SELECT * FROM subject
+        <include refid="querySubPageSql"/>
+        ORDER BY id_
+        <include refid="global.limit"/>
+    </select>
+
+    <!-- 查询当前表的总记录数 -->
+    <select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM subject <include refid="querySubPageSql"/>
+	</select>
+
+    <select id="findByParentId" resultMap="Subject">
+        SELECT * FROM subject <include refid="querySubPageSql"/>
+    </select>
+
+    <select id="findBySubIds" resultType="string">
+        SELECT name_ FROM `subject` WHERE del_flag_ = 0 AND FIND_IN_SET (id_,#{subIds})
+    </select>
+
+    <select id="queryNameByIds" resultType="java.util.Map">
+        select id_ `key`,name_ `value` FROM `subject` s WHERE FIND_IN_SET(s.id_,#{subjectIds}) AND s.del_flag_ = 0
+    </select>
+
+    <select id="findSubSubjects" resultMap="Subject">
+        SELECT * FROM `subject`
+        WHERE parent_subject_id_ != 0 AND del_flag_ = 0
+        <if test="tenantId != null">
+            AND tenant_id_ = #{tenantId}
+        </if>
+    </select>
+
+    <sql id="querySubPageSql">
+        <where>
+            <if test="parentId != null">
+                AND parent_subject_id_ = #{parentId}
+            </if>
+            <if test="tenantId != null">
+                AND tenant_id_ = #{tenantId}
+            </if>
+            <if test="delFlag != null">
+                AND del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            </if>
+        </where>
+    </sql>
+
+    <select id="findBySubjectByIdList" resultMap="Subject">
+        SELECT * FROM `subject` WHERE del_flag_ = 0 AND FIND_IN_SET(id_,#{subjectIdList})
+    </select>
+
+    <select id="findNames" resultType="java.lang.String">
+        SELECT GROUP_CONCAT(DISTINCT s.name_) FROM `subject` s WHERE FIND_IN_SET(s.id_,#{subjectIdList})
+    </select>
+
+    <select id="findBySubjectIds" resultMap="Subject">
+      SELECT * FROM subject WHERE id_ IN
+      <foreach collection="subjectIds" item="subjectId" separator="," open="(" close=")">
+          #{subjectId}
+      </foreach>
+    </select>
+</mapper>

+ 1 - 1
edu-common/src/main/resources/config.mybatis/SysConfigMapper.xml → edu-user/edu-user-server/src/main/resources/config.mybatis/SysConfigMapper.xml

@@ -54,7 +54,7 @@
 				param_name_ = #{paramName},
 			</if>
 			<if test="group != null">
-				group_ = #{group},
+				group_ = #{group}
 			</if>
 		</set>
 		WHERE id_ = #{id}

+ 100 - 0
edu-user/edu-user-server/src/main/resources/config.mybatis/TeacherMapper.xml

@@ -0,0 +1,100 @@
+<?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="com.keao.edu.user.dao.TeacherDao">
+	
+	<resultMap type="com.keao.edu.user.entity.Teacher" id="Teacher">
+		<result column="user_id_" property="userId" />
+		<result column="title_" property="title" />
+		<result column="subject_id_list_" property="subjectIdList" />
+		<result column="salary_settlement_type_" property="salarySettlementType" />
+		<result column="salary_" property="salary" />
+		<result column="del_flag_" property="delFlag" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+		<association property="sysUser" javaType="com.keao.edu.auth.api.entity.SysUser">
+			<result column="id_" property="id"/>
+			<result column="username_" property="username"/>
+			<result column="real_name_" property="realName"/>
+			<result column="password_" property="password"/>
+			<result column="salt_" property="salt"/>
+			<result column="phone_" property="phone"/>
+			<result column="avatar_" property="avatar"/>
+			<result column="create_time_" property="createTime"/>
+			<result column="update_time_" property="updateTime"/>
+			<result column="lock_flag_" property="lockFlag"/>
+			<result column="del_flag_" property="delFlag"/>
+			<result column="wx_openid_" property="wxOpenid"/>
+			<result column="qq_openid_" property="qqOpenid"/>
+			<result column="user_type_" property="userType"/>
+			<result column="gender_" property="gender"/>
+			<result column="nation_" property="nation"/>
+			<result column="birthdate_" property="birthdate"/>
+			<result column="email_" property="email"/>
+			<result column="im_token_" property="imToken"/>
+			<result column="id_card_no_" property="idCardNo"/>
+			<result column="wechat_id_" property="wechatId"/>
+			<result column="is_super_admin_" property="isSuperAdmin"/>
+		</association>
+	</resultMap>
+
+	<select id="get" resultMap="Teacher">
+        SELECT t.*,su.* FROM teacher t
+        LEFT JOIN sys_user su ON t.id_ = su.id_
+        WHERE t.id_ = #{id} AND t.del_flag_ = 0
+    </select>
+
+	<update id="update" parameterType="com.keao.edu.user.entity.Teacher">
+		UPDATE teacher
+		<set>
+			<if test="userId != null">
+				user_id_ = #{userId},
+			</if>
+			<if test="title != null">
+				title_ = #{title},
+			</if>
+			<if test="subjectIdList != null">
+				subject_id_list_ = #{subjectIdList},
+			</if>
+			<if test="salarySettlementType != null">
+				salary_settlement_type_ = #{salarySettlementType},
+			</if>
+			<if test="salary != null">
+				salary_ = #{salary},
+			</if>
+			<if test="updateTime != null">
+				update_time_ = #{updateTime}
+			</if>
+		</set>
+		WHERE id_ = #{id}
+	</update>
+
+
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="Teacher">
+		SELECT * FROM teacher
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.keao.edu.user.entity.Teacher" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		INSERT INTO teacher (user_id_,title_,subject_id_list_,salary_settlement_type_,salary_,create_time_,update_time_)
+		VALUES(#{userId},#{title},#{subjectIdList},#{salarySettlementType},#{salary},NOW(),NOW())
+	</insert>
+
+	<update id="delete">
+		UPDATE teacher SET del_flag_ = 1,update_time_ = NOW() WHERE id_ = #{id}
+	</update>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="Teacher" parameterType="map">
+		SELECT * FROM teacher <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM teacher
+	</select>
+</mapper>