Browse Source

提交老师、代理商

jinxia.mo 1 month ago
parent
commit
fdfc84b69b
23 changed files with 254 additions and 80 deletions
  1. 0 8
      back-ui/src/api/dz/campus.js
  2. 8 0
      back-ui/src/api/dz/classes.js
  3. 12 11
      back-ui/src/views/dz/agent/index.vue
  4. 1 1
      back-ui/src/views/dz/cards/config/form.js
  5. 1 0
      back-ui/src/views/dz/cards/index.vue
  6. 2 2
      back-ui/src/views/dz/classes/index.vue
  7. 44 6
      back-ui/src/views/dz/teacher/index.vue
  8. 34 2
      ie-admin/src/main/java/com/ruoyi/web/controller/dz/DzClassesController.java
  9. 29 12
      ie-admin/src/main/java/com/ruoyi/web/controller/dz/DzSchoolController.java
  10. 1 0
      ie-system/src/main/java/com/ruoyi/dz/domain/DzAgent.java
  11. 16 6
      ie-system/src/main/java/com/ruoyi/dz/domain/DzClasses.java
  12. 19 0
      ie-system/src/main/java/com/ruoyi/dz/domain/DzTeacher.java
  13. 9 9
      ie-system/src/main/java/com/ruoyi/dz/mapper/DzClassesMapper.java
  14. 9 8
      ie-system/src/main/java/com/ruoyi/dz/service/IDzClassesService.java
  15. 7 0
      ie-system/src/main/java/com/ruoyi/dz/service/impl/DzAgentServiceImpl.java
  16. 14 8
      ie-system/src/main/java/com/ruoyi/dz/service/impl/DzClassesServiceImpl.java
  17. 2 1
      ie-system/src/main/java/com/ruoyi/dz/service/impl/DzSchoolServiceImpl.java
  18. 21 3
      ie-system/src/main/java/com/ruoyi/dz/service/impl/DzTeacherServiceImpl.java
  19. 1 1
      ie-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
  20. 6 0
      ie-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
  21. 11 1
      ie-system/src/main/resources/mapper/dz/DzClassesMapper.xml
  22. 6 1
      ie-system/src/main/resources/mapper/dz/DzTeacherMapper.xml
  23. 1 0
      ie-system/src/main/resources/mapper/system/SysUserMapper.xml

+ 0 - 8
back-ui/src/api/dz/campus.js

@@ -9,14 +9,6 @@ export function listUniversity(query) {
   })
 }
 
-// 查询机构校区列表
-export function listAllCampus(query) {
-  return request({
-    url: '/dz/campus/getCampusList',
-    method: 'get',
-    params: query
-  })
-}
 // 查询机构校区列表
 export function listCampus(query) {
   return request({

+ 8 - 0
back-ui/src/api/dz/classes.js

@@ -8,6 +8,14 @@ export function listClasses(query) {
     params: query
   })
 }
+// 根据学校查询班级
+export function getClassesBySchoolId(query) {
+  return request({
+    url: '/dz/classes/getClassesBySchoolId',
+    method: 'get',
+    params: query
+  })
+}
 
 export function listAllClass(query) {
   return request({

+ 12 - 11
back-ui/src/views/dz/agent/index.vue

@@ -72,12 +72,13 @@
                       >
                           <!--      <el-table-column label="用户ID" prop="userId" />-->
                           <el-table-column label="名称" align="center" prop="name" />
+                          <el-table-column label="账号/邀请码" align="center" prop="agentId" />
 <!--                          <el-table-column label="机构" align="center" prop="deptId" />-->
                           <el-table-column label="归属机构" align="center" key="deptName" prop="dept.deptName" :show-overflow-tooltip="true" />
                           <el-table-column label="联系电话" align="center" prop="phonenumber" />
                           <!--      <el-table-column label="上级代理商ID" align="center" prop="parentId" />-->
 <!--                          <el-table-column label="学校/校区" align="center" prop="schools" />-->
-                          <el-table-column label="学校/校区" align="center" prop="schoolName" />
+<!--                          <el-table-column label="学校/校区" align="center" prop="schoolName" />-->
                           <el-table-column label="备注" align="center" prop="remark" />
                           <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
                               <template #default="scope">
@@ -122,16 +123,16 @@
 <!--          <el-input v-model="form.schools" placeholder="请输入负责校区" />-->
 <!--        </el-form-item>-->
 
-          <el-form-item label="关联校区" prop="classIds">
-              <el-select v-model="form.schoolIds" multiple placeholder="请选择校区" style="width: 100%">
-                  <el-option
-                          v-for="item in schoolOptions"
-                          :key="item.id"
-                          :label="item.name"
-                          :value="item.id"
-                  />
-              </el-select>
-          </el-form-item>
+<!--          <el-form-item label="关联校区" prop="classIds">-->
+<!--              <el-select v-model="form.schoolIds" multiple placeholder="请选择校区" style="width: 100%">-->
+<!--                  <el-option-->
+<!--                          v-for="item in schoolOptions"-->
+<!--                          :key="item.id"-->
+<!--                          :label="item.name"-->
+<!--                          :value="item.id"-->
+<!--                  />-->
+<!--              </el-select>-->
+<!--          </el-form-item>-->
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" placeholder="请输入备注" />
         </el-form-item>

+ 1 - 1
back-ui/src/views/dz/cards/config/form.js

@@ -29,7 +29,7 @@ const info = [
     search: true,
   },
   {
-    label: "校",
+    label: "培训学校",
     name: "campusId",
     value: "",
     type: "select",

+ 1 - 0
back-ui/src/views/dz/cards/index.vue

@@ -289,6 +289,7 @@ import tableConfig from "./config/table.js";
 import { assignCard, issueCard, getCampusSchoolList } from "@/api/dz/cards";
 import { listDept } from "@/api/system/dept";
 import { listAgent } from "@/api/dz/agent";
+import { getClassesBySchoolId } from "@/api/dz/classes";
 
 const { proxy } = getCurrentInstance();
 const {

+ 2 - 2
back-ui/src/views/dz/classes/index.vue

@@ -147,8 +147,8 @@
 <!--        <el-form-item label="学校" prop="schoolId">-->
 <!--          <el-input v-model="form.schoolId" placeholder="请输入学校" />-->
 <!--        </el-form-item>-->
-        <el-form-item label="名称" prop="name">
-          <el-input v-model="form.name" placeholder="请输入名称" />
+        <el-form-item label="班级名称" prop="name">
+          <el-input v-model="form.name" placeholder="多个名称使用英文逗号隔开" />
         </el-form-item>
         <el-form-item label="所在校区" prop="schoolId">
           <el-select v-model="form.schoolId" placeholder="请选择所在校区" style="width: 100%">

+ 44 - 6
back-ui/src/views/dz/teacher/index.vue

@@ -17,10 +17,10 @@
           @keyup.enter="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="所在校" prop="schoolId">
+      <el-form-item label="所在校" prop="schoolId">
         <el-select
                 v-model="queryParams.schoolId"
-                placeholder="请选择所在校"
+                placeholder="请选择所在校"
                 clearable
                 style="width: 240px"
                 @keyup.enter="handleQuery"
@@ -33,6 +33,22 @@
           />
         </el-select>
       </el-form-item>
+        <el-form-item label="培训校区" prop="campusId">
+            <el-select
+                    v-model="queryParams.campusId"
+                    placeholder="请选择培训校区"
+                    clearable
+                    style="width: 240px"
+                    @keyup.enter="handleQuery"
+            >
+                <el-option
+                        v-for="item in campusOptions"
+                        :key="item.id"
+                        :label="item.name"
+                        :value="item.id"
+                />
+            </el-select>
+        </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
         <el-button icon="Refresh" @click="resetQuery">重置</el-button>
@@ -83,9 +99,10 @@
 
     <el-table v-loading="loading" :data="teacherList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="ID" align="center" prop="teacherId" />
+      <el-table-column label="教师ID/账号" align="center" prop="teacherId" />
       <el-table-column label="教师姓名" align="center" prop="name" />
-      <el-table-column label="所在校区" align="center" prop="schoolName" />
+      <el-table-column label="所在学校" align="center" prop="schoolName" />
+      <el-table-column label="培训校区" align="center" prop="campusName" />
       <el-table-column label="所在机构" align="center" prop="deptName" />
       <el-table-column label="用户ID" align="center" prop="userId" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
@@ -114,8 +131,8 @@
         <el-form-item label="教师姓名" prop="name">
           <el-input v-model="form.name" placeholder="请输入教师姓名" />
         </el-form-item>
-        <el-form-item label="所在校" prop="schoolId">
-          <el-select v-model="form.schoolId" placeholder="请选择所在校" style="width: 100%">
+        <el-form-item label="所在校" prop="schoolId">
+          <el-select v-model="form.schoolId" placeholder="请选择所在校" style="width: 100%">
             <el-option
                     v-for="item in schoolOptions"
                     :key="item.id"
@@ -124,6 +141,16 @@
             />
           </el-select>
         </el-form-item>
+        <el-form-item label="培训校区" prop="campusId">
+          <el-select v-model="form.campusId" placeholder="请选择培训校区" style="width: 100%">
+            <el-option
+                    v-for="item in campusOptions"
+                    :key="item.id"
+                    :label="item.name"
+                    :value="item.id"
+            />
+          </el-select>
+        </el-form-item>
       </el-form>
       <template #footer>
         <div class="dialog-footer">
@@ -166,6 +193,7 @@
 <script setup name="Teacher">
 import { listTeacher, getTeacher, delTeacher, addTeacher, updateTeacher } from "@/api/dz/teacher"
 import { listAllSchool } from "@/api/dz/school"
+import {listCampus} from "@/api/dz/campus"
 import { listAllClass } from "@/api/dz/classes"
 import { batchBindTeacherClass,listAllTeacherClass } from "@/api/dz/teacherclass"
 
@@ -173,6 +201,7 @@ const { proxy } = getCurrentInstance()
 
 const teacherList = ref([])
 const schoolOptions = ref([])
+const campusOptions = ref([])
 const classOptions = ref([])
 const open = ref(false)
 const openTeacherClass = ref(false)
@@ -197,6 +226,7 @@ const data = reactive({
     pageSize: 10,
     userId: null,
     schoolId: null,
+    campusId: null,
     name: null
   },
   rules: {
@@ -227,6 +257,12 @@ function getSchoolList() {
     schoolOptions.value = response.data || []
   })
 }
+/** 查询校区列表 */
+function getCampusList() {
+  listCampus().then(response => {
+    campusOptions.value = response.rows || []
+  })
+}
 
 // function getClassListBySchool() {
 //     listAll().then(response => {
@@ -247,6 +283,7 @@ function reset() {
     teacherId: null,
     userId: null,
     schoolId: null,
+    campusId: null,
     name: null
   }
   proxy.resetForm("teacherRef")
@@ -394,6 +431,7 @@ function submitFormTeacherClass() {
 
 onMounted(() => {
   getSchoolList()
+  getCampusList()
   getList()
   // getClassListBySchool()
 })

+ 34 - 2
ie-admin/src/main/java/com/ruoyi/web/controller/dz/DzClassesController.java

@@ -5,9 +5,13 @@ import java.util.Objects;
 import java.util.stream.Collectors;
 import javax.servlet.http.HttpServletResponse;
 
+import cn.hutool.core.collection.CollectionUtil;
+import com.ruoyi.common.enums.BoolValues;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.dz.domain.DzTeacher;
 import com.ruoyi.dz.domain.DzTeacherClass;
 import com.ruoyi.dz.service.IDzTeacherClassService;
+import io.lettuce.core.dynamic.annotation.Param;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -70,6 +74,13 @@ public class DzClassesController extends BaseController
         return AjaxResult.success(list);
     }
 
+    @GetMapping("/getClassesBySchoolId")
+    public AjaxResult getClassesBySchoolId(@Param("schoolId") Long schoolId)
+    {
+        List<DzClasses> list = dzClassesService.selectDzClassesListBySchoolId(schoolId);
+        return AjaxResult.success(list);
+    }
+
     /**
      * 导出学生班级列表
      */
@@ -101,7 +112,28 @@ public class DzClassesController extends BaseController
     @PostMapping
     public AjaxResult add(@RequestBody DzClasses dzClasses)
     {
-        return toAjax(dzClassesService.insertDzClasses(dzClasses));
+        String name = dzClasses.getName();
+        if(StringUtils.isNotEmpty(name)){
+            for (String s : name.split(",")) {
+                dzClasses.setName(s);
+                dzClasses.setIsDefault(BoolValues.no.getValue());
+                dzClassesService.insertDzClasses(dzClasses);
+            }
+            //把创建的默认旧班级删除
+            if (null!=dzClasses.getSchoolId()){
+                DzClasses query = new DzClasses();
+                query.setIsDefault(BoolValues.yes.getValue());
+                query.setSchoolId(dzClasses.getSchoolId());
+                List<DzClasses> dzClassesList = dzClassesService.selectDzClassesList(query);
+                if (CollectionUtil.isNotEmpty(dzClassesList)) {
+                    Long[] classesIds = dzClassesList.stream().map(DzClasses::getClassId).filter(id -> id != null).toArray(Long[]::new);
+                    if (null!=classesIds&&classesIds.length>0){
+                        dzClassesService.deleteDzClassesByClassIds(classesIds);
+                    }
+                }
+            }
+        }
+        return toAjax(1);
     }
 
     /**
@@ -120,7 +152,7 @@ public class DzClassesController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('dz:classes:remove')")
     @Log(title = "学生班级", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{classIds}")
+    @DeleteMapping("/{classIds}")
     public AjaxResult remove(@PathVariable Long[] classIds)
     {
         return toAjax(dzClassesService.deleteDzClassesByClassIds(classIds));

+ 29 - 12
ie-admin/src/main/java/com/ruoyi/web/controller/dz/DzSchoolController.java

@@ -9,8 +9,12 @@ import javax.servlet.http.HttpServletResponse;
 import javax.validation.ValidationException;
 
 import cn.hutool.core.collection.CollectionUtil;
+import com.ruoyi.common.enums.BoolValues;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.dz.domain.DzClasses;
+import com.ruoyi.dz.service.IDzClassesService;
+import com.ruoyi.dz.service.impl.DzClassesServiceImpl;
 import com.ruoyi.enums.UserTypeEnum;
 import com.ruoyi.system.domain.SysArea;
 import com.ruoyi.system.service.ISysAreaService;
@@ -47,6 +51,8 @@ public class DzSchoolController extends BaseController
     private IDzSchoolService dzSchoolService;
     @Autowired
     private ISysAreaService areaService;
+    @Autowired
+    private IDzClassesService classesService;
 
     /**
      * 查询机构校区列表
@@ -58,11 +64,11 @@ public class DzSchoolController extends BaseController
 //        if (null==dzSchool.getDeptId()){
 //            dzSchool.setDeptId(getLoginUser().getDeptId());
 //        }
-        if(!UserTypeEnum.Sys.getVal().equals(SecurityUtils.getLoginUser().getUser().getUserType())) {
-            dzSchool.setCampus(true);
-        }else {
-            dzSchool.setCampus(false);
-        }
+//        if(!UserTypeEnum.Sys.getVal().equals(SecurityUtils.getLoginUser().getUser().getUserType())) {
+//            dzSchool.setCampus(true);
+//        }else {
+//            dzSchool.setCampus(false);
+//        }
         startPage();
         List<DzSchool> list= dzSchoolService.selectDzSchoolList(dzSchool);
         //处理省市区
@@ -114,11 +120,11 @@ public class DzSchoolController extends BaseController
     @GetMapping("/getSchoolList")
     public AjaxResult getSchoolList(DzSchool dzSchool)
     {
-        if(!UserTypeEnum.Sys.getVal().equals(SecurityUtils.getLoginUser().getUser().getUserType())) {
-            dzSchool.setCampus(true);
-        }else {
-            dzSchool.setCampus(false);
-        }
+//        if(!UserTypeEnum.Sys.getVal().equals(SecurityUtils.getLoginUser().getUser().getUserType())) {
+//            dzSchool.setCampus(true);
+//        }else {
+//            dzSchool.setCampus(false);
+//        }
         List<DzSchool> list = dzSchoolService.selectDzSchoolList(dzSchool);
         return AjaxResult.success(list);
     }
@@ -154,7 +160,18 @@ public class DzSchoolController extends BaseController
     @PostMapping
     public AjaxResult add(@RequestBody DzSchool dzSchool)
     {
-        return toAjax(dzSchoolService.insertDzSchool(dzSchool));
+        int id = dzSchoolService.insertDzSchool(dzSchool);
+        //创建学校时,如果没有班级则默认创建30个班级
+        for (int i = 0; i < 30; i++) {
+            DzClasses dzClass = new DzClasses();
+            dzClass.setSchoolId(Long.valueOf(id));
+            dzClass.setName( String.valueOf(i + 1));
+            dzClass.setIsDefault(BoolValues.yes.getValue());
+            dzClass.setOnline(BoolValues.yes.getValue());
+            dzClass.setStatus(BoolValues.yes.getValue());
+            classesService.insertDzClasses(dzClass);
+        }
+        return toAjax(id);
     }
 
     /**
@@ -173,7 +190,7 @@ public class DzSchoolController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('dz:school:remove')")
     @Log(title = "机构校区", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{ids}")
+    @DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids)
     {
         return toAjax(dzSchoolService.deleteDzSchoolByIds(ids));

+ 1 - 0
ie-system/src/main/java/com/ruoyi/dz/domain/DzAgent.java

@@ -49,6 +49,7 @@ public class DzAgent extends TreeEntity
     private String schoolName;
 
     private String username;
+    private String invitationCode;
 
     private SysDept dept;
 

+ 16 - 6
ie-system/src/main/java/com/ruoyi/dz/domain/DzClasses.java

@@ -36,16 +36,26 @@ public class DzClasses extends BaseEntity
 
     /** 是否线上 */
     @Excel(name = "是否线上")
-    private Long online;
+    private Integer online;
+    //默认班级
+    private Integer isDefault;
 
     /** 状态 */
     @Excel(name = "状态")
-    private Long status;
+    private Integer status;
 
     /** 统计数据 */
     @Excel(name = "统计数据")
     private String stats;
 
+    public Integer getIsDefault() {
+        return isDefault;
+    }
+
+    public void setIsDefault(Integer isDefault) {
+        this.isDefault = isDefault;
+    }
+
     public Long[] getClassIds() {
         return classIds;
     }
@@ -110,22 +120,22 @@ public class DzClasses extends BaseEntity
         return name;
     }
 
-    public void setOnline(Long online)
+    public void setOnline(Integer online)
     {
         this.online = online;
     }
 
-    public Long getOnline()
+    public Integer getOnline()
     {
         return online;
     }
 
-    public void setStatus(Long status)
+    public void setStatus(Integer status)
     {
         this.status = status;
     }
 
-    public Long getStatus()
+    public Integer getStatus()
     {
         return status;
     }

+ 19 - 0
ie-system/src/main/java/com/ruoyi/dz/domain/DzTeacher.java

@@ -29,6 +29,8 @@ public class DzTeacher extends BaseEntity
     /** 所在校区 */
     @Excel(name = "所在校区")
     private Long schoolId;
+    //培训校区
+    private Long campusId;
 
     /** 教师姓名 */
     @Excel(name = "教师姓名")
@@ -38,6 +40,23 @@ public class DzTeacher extends BaseEntity
     private String username;
     private String deptName;
     private String schoolName;
+    private String campusName;
+
+    public String getCampusName() {
+        return campusName;
+    }
+
+    public void setCampusName(String campusName) {
+        this.campusName = campusName;
+    }
+
+    public Long getCampusId() {
+        return campusId;
+    }
+
+    public void setCampusId(Long campusId) {
+        this.campusId = campusId;
+    }
 
     public String getDeptName() {
         return deptName;

+ 9 - 9
ie-system/src/main/java/com/ruoyi/dz/mapper/DzClassesMapper.java

@@ -7,18 +7,18 @@ import org.apache.ibatis.annotations.Param;
 
 /**
  * 学生班级Mapper接口
- * 
+ *
  * @author ruoyi
  * @date 2025-09-29
  */
-public interface DzClassesMapper 
+public interface DzClassesMapper
 {
     public List<DzClasses> selectClassesByIds(@Param("ids") Collection<Long> ids);
     public List<DzClasses> selectClassesForTeacher(@Param("teacherId") Long teacherId);
-
+    public List<DzClasses> selectDzClassesListBySchoolId(@Param("schoolId") Long schoolId);
     /**
      * 查询学生班级
-     * 
+     *
      * @param classId 学生班级主键
      * @return 学生班级
      */
@@ -26,7 +26,7 @@ public interface DzClassesMapper
 
     /**
      * 查询学生班级列表
-     * 
+     *
      * @param dzClasses 学生班级
      * @return 学生班级集合
      */
@@ -34,7 +34,7 @@ public interface DzClassesMapper
 
     /**
      * 新增学生班级
-     * 
+     *
      * @param dzClasses 学生班级
      * @return 结果
      */
@@ -42,7 +42,7 @@ public interface DzClassesMapper
 
     /**
      * 修改学生班级
-     * 
+     *
      * @param dzClasses 学生班级
      * @return 结果
      */
@@ -50,7 +50,7 @@ public interface DzClassesMapper
 
     /**
      * 删除学生班级
-     * 
+     *
      * @param classId 学生班级主键
      * @return 结果
      */
@@ -58,7 +58,7 @@ public interface DzClassesMapper
 
     /**
      * 批量删除学生班级
-     * 
+     *
      * @param classIds 需要删除的数据主键集合
      * @return 结果
      */

+ 9 - 8
ie-system/src/main/java/com/ruoyi/dz/service/IDzClassesService.java

@@ -5,15 +5,15 @@ import com.ruoyi.dz.domain.DzClasses;
 
 /**
  * 学生班级Service接口
- * 
+ *
  * @author ruoyi
  * @date 2025-09-29
  */
-public interface IDzClassesService 
+public interface IDzClassesService
 {
     /**
      * 查询学生班级
-     * 
+     *
      * @param classId 学生班级主键
      * @return 学生班级
      */
@@ -21,15 +21,16 @@ public interface IDzClassesService
 
     /**
      * 查询学生班级列表
-     * 
+     *
      * @param dzClasses 学生班级
      * @return 学生班级集合
      */
     public List<DzClasses> selectDzClassesList(DzClasses dzClasses);
+    public List<DzClasses> selectDzClassesListBySchoolId(Long schoolId);
 
     /**
      * 新增学生班级
-     * 
+     *
      * @param dzClasses 学生班级
      * @return 结果
      */
@@ -37,7 +38,7 @@ public interface IDzClassesService
 
     /**
      * 修改学生班级
-     * 
+     *
      * @param dzClasses 学生班级
      * @return 结果
      */
@@ -45,7 +46,7 @@ public interface IDzClassesService
 
     /**
      * 批量删除学生班级
-     * 
+     *
      * @param classIds 需要删除的学生班级主键集合
      * @return 结果
      */
@@ -53,7 +54,7 @@ public interface IDzClassesService
 
     /**
      * 删除学生班级信息
-     * 
+     *
      * @param classId 学生班级主键
      * @return 结果
      */

+ 7 - 0
ie-system/src/main/java/com/ruoyi/dz/service/impl/DzAgentServiceImpl.java

@@ -68,6 +68,13 @@ public class DzAgentServiceImpl implements IDzAgentService
 
         dzAgent.setUserId(userId);
         int iRet = dzAgentMapper.insertDzAgent(dzAgent);
+
+        //将用户登录的username更新为dzAgent.getAgentId()
+        SysUser user = new SysUser();
+        user.setUserId(userId);
+        user.setUserName(String.valueOf(dzAgent.getAgentId()));
+        userService.updateUserInfo(user);
+
         return iRet;
     }
 

+ 14 - 8
ie-system/src/main/java/com/ruoyi/dz/service/impl/DzClassesServiceImpl.java

@@ -10,19 +10,19 @@ import com.ruoyi.dz.service.IDzClassesService;
 
 /**
  * 学生班级Service业务层处理
- * 
+ *
  * @author ruoyi
  * @date 2025-09-29
  */
 @Service
-public class DzClassesServiceImpl implements IDzClassesService 
+public class DzClassesServiceImpl implements IDzClassesService
 {
     @Autowired
     private DzClassesMapper dzClassesMapper;
 
     /**
      * 查询学生班级
-     * 
+     *
      * @param classId 学生班级主键
      * @return 学生班级
      */
@@ -34,7 +34,7 @@ public class DzClassesServiceImpl implements IDzClassesService
 
     /**
      * 查询学生班级列表
-     * 
+     *
      * @param dzClasses 学生班级
      * @return 学生班级
      */
@@ -44,9 +44,15 @@ public class DzClassesServiceImpl implements IDzClassesService
         return dzClassesMapper.selectDzClassesList(dzClasses);
     }
 
+    @Override
+    public List<DzClasses> selectDzClassesListBySchoolId(Long schoolId)
+    {
+        return dzClassesMapper.selectDzClassesListBySchoolId(schoolId);
+    }
+
     /**
      * 新增学生班级
-     * 
+     *
      * @param dzClasses 学生班级
      * @return 结果
      */
@@ -59,7 +65,7 @@ public class DzClassesServiceImpl implements IDzClassesService
 
     /**
      * 修改学生班级
-     * 
+     *
      * @param dzClasses 学生班级
      * @return 结果
      */
@@ -72,7 +78,7 @@ public class DzClassesServiceImpl implements IDzClassesService
 
     /**
      * 批量删除学生班级
-     * 
+     *
      * @param classIds 需要删除的学生班级主键
      * @return 结果
      */
@@ -84,7 +90,7 @@ public class DzClassesServiceImpl implements IDzClassesService
 
     /**
      * 删除学生班级信息
-     * 
+     *
      * @param classId 学生班级主键
      * @return 结果
      */

+ 2 - 1
ie-system/src/main/java/com/ruoyi/dz/service/impl/DzSchoolServiceImpl.java

@@ -60,7 +60,8 @@ public class DzSchoolServiceImpl implements IDzSchoolService
     public int insertDzSchool(DzSchool dzSchool)
     {
         dzSchool.setCreateTime(DateUtils.getNowDate());
-        return dzSchoolMapper.insertDzSchool(dzSchool);
+        dzSchoolMapper.insertDzSchool(dzSchool);
+        return dzSchool.getId().intValue();
     }
 
     /**

+ 21 - 3
ie-system/src/main/java/com/ruoyi/dz/service/impl/DzTeacherServiceImpl.java

@@ -1,7 +1,10 @@
 package com.ruoyi.dz.service.impl;
 
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.dz.domain.DzSchool;
 import com.ruoyi.dz.mapper.DzSchoolMapper;
 import com.ruoyi.enums.UserTypeEnum;
@@ -49,7 +52,19 @@ public class DzTeacherServiceImpl implements IDzTeacherService
     @Override
     public List<DzTeacher> selectDzTeacherList(DzTeacher dzTeacher)
     {
-        return dzTeacherMapper.selectDzTeacherList(dzTeacher);
+        List<DzTeacher> list = dzTeacherMapper.selectDzTeacherList(dzTeacher);
+        //填充campusName,得到campusIds
+        List<Long> campusIds = list.stream().map(DzTeacher::getCampusId).collect(Collectors.toList());
+        Map<Long, DzSchool> schoolMap = schoolMapper.selectDzSchoolListByIds(campusIds)
+                .stream().collect(Collectors.toMap(DzSchool::getId,school -> school,
+                        (existing, replacement) -> existing  // 如果key重复,保留已存在的
+                ));
+        for (DzTeacher teacher : list) {
+            if (schoolMap.containsKey(teacher.getCampusId())){
+                teacher.setCampusName(schoolMap.get(teacher.getCampusId()).getName());
+            }
+        }
+        return list;
     }
 
     /**
@@ -65,10 +80,13 @@ public class DzTeacherServiceImpl implements IDzTeacherService
             DzSchool school = schoolMapper.selectDzSchoolById(dzTeacher.getSchoolId());
             dzTeacher.setDeptId(school.getDeptId());
         }
-        int id = dzTeacherMapper.insertDzTeacher(dzTeacher);
-        Long userId = userService.insertRelateUser(UserTypeEnum.Teacher, dzTeacher.getTeacherId(), dzTeacher.getDeptId(), dzTeacher.getUsername(), dzTeacher.getName());
+        int id = dzTeacherMapper.insertDzTeacher(dzTeacher);//将老师的userId填充到user的userName中
+        Long userId = userService.insertRelateUser(UserTypeEnum.Teacher, dzTeacher.getTeacherId(), dzTeacher.getDeptId(), String.valueOf(id), dzTeacher.getName());
         //反向更新dzTeacher中的userId
         dzTeacher.setUserId(userId);
+        if (StringUtils.isEmpty(dzTeacher.getName())){
+            dzTeacher.setName(String.valueOf(id));
+        }
         dzTeacherMapper.updateDzTeacher(dzTeacher);
         return id;
     }

+ 1 - 1
ie-system/src/main/java/com/ruoyi/system/service/ISysUserService.java

@@ -136,7 +136,7 @@ public interface ISysUserService
      * @return 结果
      */
     public int updateUser(SysUser user);
-
+    public int updateUserInfo(SysUser user);
     /**
      * 用户授权角色
      *

+ 6 - 0
ie-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -374,6 +374,12 @@ public class SysUserServiceImpl implements ISysUserService
         return userMapper.updateUserAvatar(userId, avatar) > 0;
     }
 
+    @Override
+    public int updateUserInfo(SysUser user)
+    {
+        return userMapper.updateUser(user);
+    }
+
     /**
      * 更新用户登录信息(IP和登录时间)
      *

+ 11 - 1
ie-system/src/main/resources/mapper/dz/DzClassesMapper.xml

@@ -14,6 +14,7 @@
         <result property="stats"    column="stats"    />
         <result property="createTime"    column="create_time"    />
         <result property="updateTime"    column="update_time"    />
+        <result property="isDefault"    column="is_default"    />
         <association property="school"     javaType="DzSchool"         resultMap="DzSchoolResult" />
     </resultMap>
 
@@ -28,7 +29,7 @@
     </resultMap>
 
     <sql id="selectDzClassesVo">
-        select t1.class_id, t1.school_id, t1.year, t1.name, t1.online, t1.status, t1.stats, t1.create_time, t1.update_time,
+        select t1.class_id, t1.school_id, t1.year, t1.name, t1.online, t1.status, t1.stats, t1.create_time, t1.update_time,t1.is_default,
         t2.id, t2.name school_name, t2.dept_id, t2.pro, t2.city, t2.area
         from dz_classes t1
         left join dz_school t2 on t1.school_id=t2.id
@@ -42,6 +43,7 @@
             <if test="name != null  and name != ''"> and t1.name like concat('%', #{name}, '%')</if>
             <if test="online != null "> and t1.online = #{online}</if>
             <if test="status != null "> and t1.status = #{status}</if>
+            <if test="isDefault != null "> and t1.is_default = #{isDefault}</if>
             <if test="stats != null  and stats != ''"> and t1.stats = #{stats}</if>
         </where>
     </select>
@@ -57,6 +59,11 @@
         where t1.class_id in <foreach collection="ids" item="id" open="(" separator="," close=")">#{id}</foreach>
     </select>
 
+    <select id="selectDzClassesListBySchoolId" resultMap="DzClassesResult">
+        select * from dz_classes t1
+        where t1.school_id = #{schoolId}
+    </select>
+
     <select id="selectDzClassesByClassId" parameterType="Long" resultMap="DzClassesResult">
         <include refid="selectDzClassesVo"/>
         where t1.class_id = #{classId}
@@ -73,6 +80,7 @@
             <if test="stats != null">stats,</if>
             <if test="createTime != null">create_time,</if>
             <if test="updateTime != null">update_time,</if>
+            <if test="isDefault != null">is_default,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="schoolId != null">#{schoolId},</if>
@@ -83,6 +91,7 @@
             <if test="stats != null">#{stats},</if>
             <if test="createTime != null">#{createTime},</if>
             <if test="updateTime != null">#{updateTime},</if>
+            <if test="isDefault != null">#{isDefault},</if>
         </trim>
     </insert>
 
@@ -97,6 +106,7 @@
             <if test="stats != null">stats = #{stats},</if>
             <if test="createTime != null">create_time = #{createTime},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="isDefault != null">is_default = #{isDefault},</if>
         </trim>
         where class_id = #{classId}
     </update>

+ 6 - 1
ie-system/src/main/resources/mapper/dz/DzTeacherMapper.xml

@@ -9,13 +9,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="userId"    column="user_id"    />
         <result property="deptId"    column="dept_id"    />
         <result property="schoolId"    column="school_id"    />
+        <result property="campusId"    column="campus_id"    />
         <result property="name"    column="name"    />
         <result property="deptName"    column="dept_name"    />
         <result property="schoolName"    column="school_name"    />
     </resultMap>
 
     <sql id="selectDzTeacherVo">
-        select t1.teacher_id, t1.user_id, t1.school_id, t1.dept_id, t1.name,
+        select t1.teacher_id, t1.user_id, t1.school_id, t1.campus_id, t1.dept_id, t1.name,
         t2.dept_name ,t3.name school_name
         from dz_teacher t1
         left join sys_dept t2 on t1.dept_id = t2.dept_id
@@ -28,6 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="userId != null "> and user_id = #{userId}</if>
             <if test="deptId != null "> and dept_id = #{deptId}</if>
             <if test="schoolId != null "> and school_id = #{schoolId}</if>
+            <if test="campusId != null "> and campus_id = #{campusId}</if>
             <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
         </where>
     </select>
@@ -43,12 +45,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="userId != null">user_id,</if>
             <if test="deptId != null">dept_id,</if>
             <if test="schoolId != null">school_id,</if>
+            <if test="campusId != null">campus_id,</if>
             <if test="name != null">name,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="userId != null">#{userId},</if>
             <if test="deptId != null">#{deptId},</if>
             <if test="schoolId != null">#{schoolId},</if>
+            <if test="campusId != null">#{campusId},</if>
             <if test="name != null">#{name},</if>
          </trim>
     </insert>
@@ -59,6 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="userId != null">user_id = #{userId},</if>
             <if test="deptId != null">dept_id = #{deptId},</if>
             <if test="schoolId != null">school_id = #{schoolId},</if>
+            <if test="campusId != null">campus_id = #{campusId},</if>
             <if test="name != null">name = #{name},</if>
         </trim>
         where teacher_id = #{teacherId}

+ 1 - 0
ie-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -223,6 +223,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  		<set>
  			<if test="deptId != 0">dept_id = #{deptId},</if>
  			<if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
+ 			<if test="userName != null and userName != ''">user_name = #{userName},</if>
  			<if test="email != null ">email = #{email},</if>
  			<if test="phonenumber != null ">phonenumber = #{phonenumber},</if>
  			<if test="sex != null and sex != ''">sex = #{sex},</if>