From 47cd9ecc0eff38ffe6b3b794b2bf197e958f4403 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 14 五月 2025 15:50:57 +0800
Subject: [PATCH] bug:学员有状态不能修改问题

---
 src/main/java/com/mindskip/xzs/service/impl/SubjectServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 44 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/mindskip/xzs/service/impl/SubjectServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/SubjectServiceImpl.java
index feeecc0..7cbf9f7 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/SubjectServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/SubjectServiceImpl.java
@@ -1,5 +1,8 @@
 package com.mindskip.xzs.service.impl;
 
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.mindskip.xzs.base.RestResponse;
 import com.mindskip.xzs.context.WebContext;
 import com.mindskip.xzs.domain.Subject;
 import com.mindskip.xzs.domain.SubjectDept;
@@ -12,14 +15,13 @@
 import com.mindskip.xzs.repository.SubjectMapper;
 import com.mindskip.xzs.service.SubjectService;
 import com.mindskip.xzs.viewmodel.admin.education.SubjectPageRequestVM;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 @Service
@@ -61,6 +63,12 @@
         return subjectMapper.allSubject(deptIds, admin);
     }
 
+    public List<Subject> studentSubList() {
+        // 鍙煡鑷繁閮ㄩ棬鐨勮鐩�
+        List<Integer> deptIds = webContext.getAdminDeptIds();
+        return subjectMapper.allSubject(deptIds, Boolean.FALSE);
+    }
+
     @Override
     public Integer levelBySubjectId(Integer id) {
         return this.selectById(id).getLevel();
@@ -90,11 +98,15 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void add(AddSubjectForm form) {
+    public RestResponse add(AddSubjectForm form) {
         Subject subject = new Subject();
         subject.setName(form.getSubjectName());
         subject.setDeleted(false);
-        subjectMapper.insert(subject);
+        try {
+            subjectMapper.insert(subject);
+        } catch (Exception e) {
+            return RestResponse.fail(500, "璇剧洰鍚嶄笉鑳介噸澶�");
+        }
 
         SubjectDept subjectDept = new SubjectDept();
         subjectDept.setDeptId(form.getDeptId());
@@ -102,19 +114,37 @@
         List<SubjectDept> s = new ArrayList<>(1);
         s.add(subjectDept);
         subjectDeptMapper.add(s);
+        return RestResponse.ok();
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void edit(EditSubjectForm form) {
-        // 鍒犻櫎鍘熷厛鐨勮鐩紝鍐嶆柊澧�
-        subjectDeptMapper.deleteByDeptId(form.getDeptId());
-        List<SubjectDept> toAddList = form.getSubjectIds().stream().map(subjectId -> {
-            SubjectDept subjectDept = new SubjectDept();
-            subjectDept.setDeptId(form.getDeptId());
-            subjectDept.setSubjectId(subjectId);
-            return subjectDept;
-        }).collect(Collectors.toList());
-        subjectDeptMapper.add(toAddList);
+        if (ObjectUtils.isNotEmpty(form.getDeptId())) {
+            // 鍒犻櫎鍘熷厛鐨勮鐩紝鍐嶆柊澧�
+            subjectDeptMapper.deleteByDeptId(form.getDeptId());
+            List<SubjectDept> toAddList = form.getSubjectIds().stream().map(subjectId -> {
+                SubjectDept subjectDept = new SubjectDept();
+                subjectDept.setDeptId(form.getDeptId());
+                subjectDept.setSubjectId(subjectId);
+                return subjectDept;
+            }).collect(Collectors.toList());
+            if (ObjectUtils.isNotEmpty(toAddList)) {
+                subjectDeptMapper.add(toAddList);
+            }
+        }
+    }
+
+    /**
+     * 妫�鏌ュ悕绉版槸鍚﹀瓨鍦�
+     *
+     * @param id
+     * @param name
+     * @return
+     */
+    @Override
+    public Boolean selectByName(Integer id, String name) {
+        Subject subject = subjectMapper.selectByName(id,name);
+        return Objects.nonNull(subject);
     }
 }

--
Gitblit v1.8.0