Bladeren bron

学生列表 添加 专业 相关。

tom 5 maanden geleden
bovenliggende
commit
397b3aac10

+ 5 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/controller/AddOnDeptController.java

@@ -0,0 +1,5 @@
+package com.ruoyi.sim.controller;
+
+public class AddOnDeptController {
+
+}

+ 5 - 6
ruoyi-sim/src/main/java/com/ruoyi/sim/controller/StudentController.java

@@ -8,6 +8,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.sim.domain.Student;
 import com.ruoyi.sim.service.impl.Consts;
 import com.ruoyi.sim.service.impl.StudentService;
 import com.ruoyi.system.service.ISysDeptService;
@@ -55,8 +56,8 @@ public class StudentController extends BaseController {
     @GetMapping("/list")
     @ApiOperation("查询学生列表")
     public TableDataInfo list() {
-        // startPage();
-        List<SysUser> list = extSysUserService.selectStudentList();
+        // startPage();  todo:分页
+        List<Student> list = extSysUserService.selectStudentList();
         return getDataTable(list);
     }
 
@@ -128,10 +129,8 @@ public class StudentController extends BaseController {
     // @Log(title = "用户管理", businessType = BusinessType.DELETE)
     @DeleteMapping("/{userIds}")
     @ApiOperation("删除学生")
-    public AjaxResult remove(@PathVariable Long[] userIds)
-    {
-        if (ArrayUtils.contains(userIds, getUserId()))
-        {
+    public AjaxResult remove(@PathVariable Long[] userIds) {
+        if (ArrayUtils.contains(userIds, getUserId())) {
             return error("当前用户不能删除");
         }
         return toAjax(userService.deleteUserByIds(userIds));

+ 51 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/domain/AddOnDept.java

@@ -0,0 +1,51 @@
+package com.ruoyi.sim.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 部门附加对象 sim_add_on_dept
+ *
+ * @author tom
+ * @date 2024-12-13
+ */
+public class AddOnDept extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 班级ID/部门ID
+     */
+    private Long deptId;
+
+    /**
+     * 专业ID
+     */
+    @Excel(name = "专业ID")
+    private Long majorId;
+
+    public void setDeptId(Long deptId) {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId() {
+        return deptId;
+    }
+
+    public void setMajorId(Long majorId) {
+        this.majorId = majorId;
+    }
+
+    public Long getMajorId() {
+        return majorId;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("deptId", getDeptId())
+                .append("majorId", getMajorId())
+                .toString();
+    }
+}

+ 24 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/domain/Student.java

@@ -0,0 +1,24 @@
+package com.ruoyi.sim.domain;
+
+import com.ruoyi.common.core.domain.entity.SysUser;
+
+/**
+ * 继承 用户对象 sys_user 的学员对象。
+ */
+public class Student extends SysUser {
+
+    // -------------------------------- tom add  --------------------------------
+
+    /**
+     * 仅仅返回查询关联结果。
+     */
+    private Major major;
+
+    public Major getMajor() {
+        return major;
+    }
+
+    public void setMajor(Major major) {
+        this.major = major;
+    }
+}

+ 11 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/domain/Teacher.java

@@ -0,0 +1,11 @@
+package com.ruoyi.sim.domain;
+
+import com.ruoyi.common.core.domain.entity.SysUser;
+
+/**
+ * 继承 用户对象 sys_user 的教师对象。
+ */
+public class Teacher extends SysUser {
+
+    // -------------------------------- tom add  --------------------------------
+}

+ 61 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/mapper/AddOnDeptMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.sim.mapper;
+
+import java.util.List;
+
+import com.ruoyi.sim.domain.AddOnDept;
+
+/**
+ * 部门附加Mapper接口
+ *
+ * @author tom
+ * @date 2024-12-13
+ */
+public interface AddOnDeptMapper {
+    /**
+     * 查询部门附加
+     *
+     * @param deptId 部门附加主键
+     * @return 部门附加
+     */
+    public AddOnDept selectAddOnDeptByDeptId(Long deptId);
+
+    /**
+     * 查询部门附加列表
+     *
+     * @param addOnDept 部门附加
+     * @return 部门附加集合
+     */
+    public List<AddOnDept> selectAddOnDeptList(AddOnDept addOnDept);
+
+    /**
+     * 新增部门附加
+     *
+     * @param addOnDept 部门附加
+     * @return 结果
+     */
+    public int insertAddOnDept(AddOnDept addOnDept);
+
+    /**
+     * 修改部门附加
+     *
+     * @param addOnDept 部门附加
+     * @return 结果
+     */
+    public int updateAddOnDept(AddOnDept addOnDept);
+
+    /**
+     * 删除部门附加
+     *
+     * @param deptId 部门附加主键
+     * @return 结果
+     */
+    public int deleteAddOnDeptByDeptId(Long deptId);
+
+    /**
+     * 批量删除部门附加
+     *
+     * @param deptIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteAddOnDeptByDeptIds(Long[] deptIds);
+}

+ 61 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/service/IAddOnDeptService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.sim.service;
+
+import java.util.List;
+
+import com.ruoyi.sim.domain.AddOnDept;
+
+/**
+ * 部门附加Service接口
+ *
+ * @author tom
+ * @date 2024-12-13
+ */
+public interface IAddOnDeptService {
+    /**
+     * 查询部门附加
+     *
+     * @param deptId 部门附加主键
+     * @return 部门附加
+     */
+    public AddOnDept selectAddOnDeptByDeptId(Long deptId);
+
+    /**
+     * 查询部门附加列表
+     *
+     * @param addOnDept 部门附加
+     * @return 部门附加集合
+     */
+    public List<AddOnDept> selectAddOnDeptList(AddOnDept addOnDept);
+
+    /**
+     * 新增部门附加
+     *
+     * @param addOnDept 部门附加
+     * @return 结果
+     */
+    public int insertAddOnDept(AddOnDept addOnDept);
+
+    /**
+     * 修改部门附加
+     *
+     * @param addOnDept 部门附加
+     * @return 结果
+     */
+    public int updateAddOnDept(AddOnDept addOnDept);
+
+    /**
+     * 批量删除部门附加
+     *
+     * @param deptIds 需要删除的部门附加主键集合
+     * @return 结果
+     */
+    public int deleteAddOnDeptByDeptIds(Long[] deptIds);
+
+    /**
+     * 删除部门附加信息
+     *
+     * @param deptId 部门附加主键
+     * @return 结果
+     */
+    public int deleteAddOnDeptByDeptId(Long deptId);
+}

+ 87 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/AddOnDeptServiceImpl.java

@@ -0,0 +1,87 @@
+package com.ruoyi.sim.service.impl;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.sim.mapper.AddOnDeptMapper;
+import com.ruoyi.sim.domain.AddOnDept;
+import com.ruoyi.sim.service.IAddOnDeptService;
+
+/**
+ * 部门附加Service业务层处理
+ *
+ * @author tom
+ * @date 2024-12-13
+ */
+@Service
+public class AddOnDeptServiceImpl implements IAddOnDeptService {
+    @Autowired
+    private AddOnDeptMapper addOnDeptMapper;
+
+    /**
+     * 查询部门附加
+     *
+     * @param deptId 部门附加主键
+     * @return 部门附加
+     */
+    @Override
+    public AddOnDept selectAddOnDeptByDeptId(Long deptId) {
+        return addOnDeptMapper.selectAddOnDeptByDeptId(deptId);
+    }
+
+    /**
+     * 查询部门附加列表
+     *
+     * @param addOnDept 部门附加
+     * @return 部门附加
+     */
+    @Override
+    public List<AddOnDept> selectAddOnDeptList(AddOnDept addOnDept) {
+        return addOnDeptMapper.selectAddOnDeptList(addOnDept);
+    }
+
+    /**
+     * 新增部门附加
+     *
+     * @param addOnDept 部门附加
+     * @return 结果
+     */
+    @Override
+    public int insertAddOnDept(AddOnDept addOnDept) {
+        return addOnDeptMapper.insertAddOnDept(addOnDept);
+    }
+
+    /**
+     * 修改部门附加
+     *
+     * @param addOnDept 部门附加
+     * @return 结果
+     */
+    @Override
+    public int updateAddOnDept(AddOnDept addOnDept) {
+        return addOnDeptMapper.updateAddOnDept(addOnDept);
+    }
+
+    /**
+     * 批量删除部门附加
+     *
+     * @param deptIds 需要删除的部门附加主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAddOnDeptByDeptIds(Long[] deptIds) {
+        return addOnDeptMapper.deleteAddOnDeptByDeptIds(deptIds);
+    }
+
+    /**
+     * 删除部门附加信息
+     *
+     * @param deptId 部门附加主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAddOnDeptByDeptId(Long deptId) {
+        return addOnDeptMapper.deleteAddOnDeptByDeptId(deptId);
+    }
+}

+ 27 - 6
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/StudentService.java

@@ -2,17 +2,24 @@ package com.ruoyi.sim.service.impl;
 
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.sim.domain.AddOnDept;
+import com.ruoyi.sim.domain.Major;
+import com.ruoyi.sim.domain.Student;
+import com.ruoyi.sim.service.IAddOnDeptService;
+import com.ruoyi.sim.service.IMajorService;
 import com.ruoyi.system.mapper.*;
 import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.system.service.ISysDeptService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.validation.Validator;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 @Service
 public class StudentService {
@@ -41,19 +48,33 @@ public class StudentService {
     private ISysDeptService deptService;
 
     @Autowired
+    private IAddOnDeptService addOnDeptService;
+
+    @Autowired
+    private IMajorService majorService;
+
+    @Autowired
     protected Validator validator;
 
     // @DataScope(deptAlias = "d", userAlias = "u")
-    public List<SysUser> selectStudentList() {
+    public List<Student> selectStudentList() {
         SysUser su = new SysUser();
-        List<SysUser> list  = userMapper.selectUserList(su);
-        List<SysUser> list2 = new ArrayList<SysUser>();
-        // todo:
+        List<SysUser> list = userMapper.selectUserList(su);
+        List<Student> list2 = new ArrayList<>();
+        // todo:分页
         for (SysUser sysUser : list) {
             List<SysRole> listR = roleMapper.selectRolesByUserName(sysUser.getUserName());
             for (SysRole sysRole : listR) {
-                if (sysRole.getRoleId() == Consts.ROLE_ID_STUDENT) {
-                    list2.add(sysUser);
+                if (Objects.equals(sysRole.getRoleId(), Consts.ROLE_ID_STUDENT)) {
+                    long deptId = sysUser.getDeptId();
+                    Student target = new Student();
+                    BeanUtils.copyProperties(sysUser, target);
+                    list2.add(target);
+                    AddOnDept a = addOnDeptService.selectAddOnDeptByDeptId(deptId);
+                    Major m = majorService.selectMajorByMajorId(a.getMajorId());
+                    if (Objects.nonNull(m)) {
+                        target.setMajor(m);
+                    }
                     break;
                 }
             }

+ 61 - 0
ruoyi-sim/src/main/resources/mapper/sim/AddOnDeptMapper.xml

@@ -0,0 +1,61 @@
+<?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.ruoyi.sim.mapper.AddOnDeptMapper">
+
+    <resultMap type="AddOnDept" id="AddOnDeptResult">
+        <result property="deptId" column="dept_id"/>
+        <result property="majorId" column="major_id"/>
+    </resultMap>
+
+    <sql id="selectAddOnDeptVo">
+        select dept_id, major_id
+        from sim_add_on_dept
+    </sql>
+
+    <select id="selectAddOnDeptList" parameterType="AddOnDept" resultMap="AddOnDeptResult">
+        <include refid="selectAddOnDeptVo"/>
+        <where>
+            <if test="majorId != null ">and major_id = #{majorId}</if>
+        </where>
+    </select>
+
+    <select id="selectAddOnDeptByDeptId" parameterType="Long" resultMap="AddOnDeptResult">
+        <include refid="selectAddOnDeptVo"/>
+        where dept_id = #{deptId}
+    </select>
+
+    <insert id="insertAddOnDept" parameterType="AddOnDept">
+        insert into sim_add_on_dept
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="deptId != null">dept_id,</if>
+            <if test="majorId != null">major_id,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="deptId != null">#{deptId},</if>
+            <if test="majorId != null">#{majorId},</if>
+        </trim>
+    </insert>
+
+    <update id="updateAddOnDept" parameterType="AddOnDept">
+        update sim_add_on_dept
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="majorId != null">major_id = #{majorId},</if>
+        </trim>
+        where dept_id = #{deptId}
+    </update>
+
+    <delete id="deleteAddOnDeptByDeptId" parameterType="Long">
+        delete
+        from sim_add_on_dept
+        where dept_id = #{deptId}
+    </delete>
+
+    <delete id="deleteAddOnDeptByDeptIds" parameterType="String">
+        delete from sim_add_on_dept where dept_id in
+        <foreach item="deptId" collection="array" open="(" separator="," close=")">
+            #{deptId}
+        </foreach>
+    </delete>
+</mapper>