|
|
@@ -14,6 +14,7 @@ import com.ruoyi.dz.service.IDzClassesService;
|
|
|
import com.ruoyi.dz.service.IDzTeacherClassService;
|
|
|
import com.ruoyi.enums.UserTypeEnum;
|
|
|
import com.ruoyi.system.service.ISysUserService;
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
@@ -67,8 +68,84 @@ public class DzTeacherController extends BaseController
|
|
|
}
|
|
|
startPage();
|
|
|
List<DzTeacher> list = dzTeacherService.selectDzTeacherList(dzTeacher);
|
|
|
+ list = processTeacherList(list);
|
|
|
+ return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 导出老师列表
|
|
|
+ */
|
|
|
+ @PreAuthorize("@ss.hasPermi('dz:teacher:export')")
|
|
|
+ @Log(title = "老师", businessType = BusinessType.EXPORT)
|
|
|
+ @PostMapping("/export")
|
|
|
+ public void export(HttpServletResponse response, DzTeacher dzTeacher)
|
|
|
+ {
|
|
|
+ List<DzTeacher> list = dzTeacherService.selectDzTeacherList(dzTeacher);
|
|
|
+ list = processTeacherList(list);
|
|
|
+ ExcelUtil<DzTeacher> util = new ExcelUtil<DzTeacher>(DzTeacher.class);
|
|
|
+ util.exportExcel(response, list, "老师数据");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取老师详细信息
|
|
|
+ */
|
|
|
+ @PreAuthorize("@ss.hasPermi('dz:teacher:query')")
|
|
|
+ @GetMapping(value = "/{teacherId}")
|
|
|
+ public AjaxResult getInfo(@PathVariable("teacherId") Long teacherId)
|
|
|
+ {
|
|
|
+ return success(dzTeacherService.selectDzTeacherByTeacherId(teacherId));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新增老师
|
|
|
+ */
|
|
|
+ @PreAuthorize("@ss.hasPermi('dz:teacher:add')")
|
|
|
+ @Log(title = "老师", businessType = BusinessType.INSERT)
|
|
|
+ @PostMapping
|
|
|
+ public AjaxResult add(@RequestBody DzTeacher dzTeacher)
|
|
|
+ {
|
|
|
+ return AjaxResult.success(dzTeacherService.insertDzTeacher(dzTeacher));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改老师
|
|
|
+ */
|
|
|
+ @PreAuthorize("@ss.hasPermi('dz:teacher:edit')")
|
|
|
+ @Log(title = "老师", businessType = BusinessType.UPDATE)
|
|
|
+ @PutMapping
|
|
|
+ public AjaxResult edit(@RequestBody DzTeacher dzTeacher)
|
|
|
+ {
|
|
|
+ if (UserTypeEnum.isSys(SecurityUtils.getLoginUser().getUser().getUserType())) {
|
|
|
+ dzTeacher.setCampusId(null);
|
|
|
+ } else {
|
|
|
+ dzTeacher.setSchoolId(null);
|
|
|
+ }
|
|
|
+ dzTeacherService.updateDzTeacher(dzTeacher);
|
|
|
+ //同时修改sys_user表的nickName
|
|
|
+ SysUser user = userService.selectUserByUserName(String.valueOf(dzTeacher.getTeacherId()));
|
|
|
+ if (null != user) {
|
|
|
+ if (null == user.getNickName() || !user.getNickName().equalsIgnoreCase(dzTeacher.getName())) {
|
|
|
+ user.setNickName(dzTeacher.getName());
|
|
|
+ userService.updateUserInfo(user);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除老师
|
|
|
+ */
|
|
|
+ @PreAuthorize("@ss.hasPermi('dz:teacher:remove')")
|
|
|
+ @Log(title = "老师", businessType = BusinessType.DELETE)
|
|
|
+ @DeleteMapping("/{teacherIds}")
|
|
|
+ public AjaxResult remove(@PathVariable Long[] teacherIds)
|
|
|
+ {
|
|
|
+ return toAjax(dzTeacherService.deleteDzTeacherByTeacherIds(teacherIds));
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<DzTeacher> processTeacherList(List<DzTeacher> list) {
|
|
|
// 批量查询用户信息,获取password2字段
|
|
|
- if (list != null && !list.isEmpty()) {
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
List<Long> userIds = list.stream()
|
|
|
.map(DzTeacher::getUserId).filter(userId -> userId != null)
|
|
|
.distinct().collect(Collectors.toList());
|
|
|
@@ -114,7 +191,7 @@ public class DzTeacherController extends BaseController
|
|
|
clazz -> clazz,
|
|
|
(existing, replacement) -> existing
|
|
|
));
|
|
|
-
|
|
|
+
|
|
|
// 设置每个teacher的schoolClass和campusClass
|
|
|
list.forEach(teacher -> {
|
|
|
if (teacherClassMap.containsKey(teacher.getTeacherId())) {
|
|
|
@@ -122,21 +199,21 @@ public class DzTeacherController extends BaseController
|
|
|
// 根据schoolId分组,分别处理schoolClass和campusClass
|
|
|
List<String> schoolClassNames = new java.util.ArrayList<>();
|
|
|
List<String> campusClassNames = new java.util.ArrayList<>();
|
|
|
-
|
|
|
+
|
|
|
for (Long classId : classIds) {
|
|
|
DzClasses clazz = classIdMap.get(classId);
|
|
|
if (clazz != null && clazz.getName() != null) {
|
|
|
- if (teacher.getSchoolId() != null && clazz.getSchoolId() != null
|
|
|
+ if (teacher.getSchoolId() != null && clazz.getSchoolId() != null
|
|
|
&& clazz.getSchoolId().equals(teacher.getSchoolId())) {
|
|
|
schoolClassNames.add(clazz.getName());
|
|
|
}
|
|
|
- if (teacher.getCampusId() != null && clazz.getSchoolId() != null
|
|
|
+ if (teacher.getCampusId() != null && clazz.getSchoolId() != null
|
|
|
&& clazz.getSchoolId().equals(teacher.getCampusId())) {
|
|
|
campusClassNames.add(clazz.getName());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// 用英文逗号连接并设置
|
|
|
if (!schoolClassNames.isEmpty()) {
|
|
|
teacher.setSchoolClass(String.join(",", schoolClassNames));
|
|
|
@@ -148,76 +225,6 @@ public class DzTeacherController extends BaseController
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
- return getDataTable(list);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 导出老师列表
|
|
|
- */
|
|
|
- @PreAuthorize("@ss.hasPermi('dz:teacher:export')")
|
|
|
- @Log(title = "老师", businessType = BusinessType.EXPORT)
|
|
|
- @PostMapping("/export")
|
|
|
- public void export(HttpServletResponse response, DzTeacher dzTeacher)
|
|
|
- {
|
|
|
- List<DzTeacher> list = dzTeacherService.selectDzTeacherList(dzTeacher);
|
|
|
- ExcelUtil<DzTeacher> util = new ExcelUtil<DzTeacher>(DzTeacher.class);
|
|
|
- util.exportExcel(response, list, "老师数据");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取老师详细信息
|
|
|
- */
|
|
|
- @PreAuthorize("@ss.hasPermi('dz:teacher:query')")
|
|
|
- @GetMapping(value = "/{teacherId}")
|
|
|
- public AjaxResult getInfo(@PathVariable("teacherId") Long teacherId)
|
|
|
- {
|
|
|
- return success(dzTeacherService.selectDzTeacherByTeacherId(teacherId));
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 新增老师
|
|
|
- */
|
|
|
- @PreAuthorize("@ss.hasPermi('dz:teacher:add')")
|
|
|
- @Log(title = "老师", businessType = BusinessType.INSERT)
|
|
|
- @PostMapping
|
|
|
- public AjaxResult add(@RequestBody DzTeacher dzTeacher)
|
|
|
- {
|
|
|
- return AjaxResult.success(dzTeacherService.insertDzTeacher(dzTeacher));
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 修改老师
|
|
|
- */
|
|
|
- @PreAuthorize("@ss.hasPermi('dz:teacher:edit')")
|
|
|
- @Log(title = "老师", businessType = BusinessType.UPDATE)
|
|
|
- @PutMapping
|
|
|
- public AjaxResult edit(@RequestBody DzTeacher dzTeacher)
|
|
|
- {
|
|
|
- if (UserTypeEnum.isSys(SecurityUtils.getLoginUser().getUser().getUserType())) {
|
|
|
- dzTeacher.setCampusId(null);
|
|
|
- } else {
|
|
|
- dzTeacher.setSchoolId(null);
|
|
|
- }
|
|
|
- dzTeacherService.updateDzTeacher(dzTeacher);
|
|
|
- //同时修改sys_user表的nickName
|
|
|
- SysUser user = userService.selectUserByUserName(String.valueOf(dzTeacher.getTeacherId()));
|
|
|
- if (null != user) {
|
|
|
- if (null == user.getNickName() || !user.getNickName().equalsIgnoreCase(dzTeacher.getName())) {
|
|
|
- user.setNickName(dzTeacher.getName());
|
|
|
- userService.updateUserInfo(user);
|
|
|
- }
|
|
|
- }
|
|
|
- return AjaxResult.success();
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 删除老师
|
|
|
- */
|
|
|
- @PreAuthorize("@ss.hasPermi('dz:teacher:remove')")
|
|
|
- @Log(title = "老师", businessType = BusinessType.DELETE)
|
|
|
- @DeleteMapping("/{teacherIds}")
|
|
|
- public AjaxResult remove(@PathVariable Long[] teacherIds)
|
|
|
- {
|
|
|
- return toAjax(dzTeacherService.deleteDzTeacherByTeacherIds(teacherIds));
|
|
|
+ return list;
|
|
|
}
|
|
|
}
|