From c5c10c1bb95f5bb7fdc8b714c5c998e78c26e0f7 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期二, 09 七月 2024 09:47:43 +0800 Subject: [PATCH] feat:标签新增、下拉增加部门id --- src/main/java/com/mindskip/xzs/service/impl/SubjectServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 48 insertions(+), 8 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 bf9c107..feeecc0 100644 --- a/src/main/java/com/mindskip/xzs/service/impl/SubjectServiceImpl.java +++ b/src/main/java/com/mindskip/xzs/service/impl/SubjectServiceImpl.java @@ -2,8 +2,13 @@ import com.mindskip.xzs.context.WebContext; import com.mindskip.xzs.domain.Subject; +import com.mindskip.xzs.domain.SubjectDept; +import com.mindskip.xzs.domain.enums.RoleEnum; +import com.mindskip.xzs.domain.form.AddSubjectForm; +import com.mindskip.xzs.domain.form.EditSubjectForm; import com.mindskip.xzs.repository.BaseMapper; import com.mindskip.xzs.repository.DepartmentMapper; +import com.mindskip.xzs.repository.SubjectDeptMapper; import com.mindskip.xzs.repository.SubjectMapper; import com.mindskip.xzs.service.SubjectService; import com.mindskip.xzs.viewmodel.admin.education.SubjectPageRequestVM; @@ -11,9 +16,11 @@ import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @Service public class SubjectServiceImpl extends BaseServiceImpl<Subject> implements SubjectService { @@ -21,12 +28,14 @@ private final SubjectMapper subjectMapper; private final WebContext webContext; private final DepartmentMapper departmentMapper; + private final SubjectDeptMapper subjectDeptMapper; - public SubjectServiceImpl(BaseMapper<Subject> baseMapper, SubjectMapper subjectMapper, WebContext webContext, DepartmentMapper departmentMapper) { + public SubjectServiceImpl(BaseMapper<Subject> baseMapper, SubjectMapper subjectMapper, WebContext webContext, DepartmentMapper departmentMapper, SubjectDeptMapper subjectDeptMapper) { super(baseMapper); this.subjectMapper = subjectMapper; this.webContext = webContext; this.departmentMapper = departmentMapper; + this.subjectDeptMapper = subjectDeptMapper; } @Override @@ -46,13 +55,10 @@ @Override public List<Subject> allSubject() { - // 濡傛灉鏄儴闂ㄧ鐞嗗憳锛屽彧鏌ュ叧鑱旇閮ㄩ棬鐨勮鐩� - boolean deptAdmin = webContext.isDeptAdmin(); - List<Integer> deptIds = new ArrayList<>(); - if (deptAdmin) { - deptIds = webContext.getAdminDeptIds(); - } - return subjectMapper.allSubject(deptIds); + // 鍙煡鑷繁閮ㄩ棬鐨勮鐩� + List<Integer> deptIds = webContext.getAdminDeptIds(); + Boolean admin = RoleEnum.ADMIN.getCode().equals(webContext.getCurrentUser().getRole()); + return subjectMapper.allSubject(deptIds, admin); } @Override @@ -77,4 +83,38 @@ return subjectMapper.selectByIds(ids); } + @Override + public List<Subject> listByDeptId(Integer deptId) { + return subjectMapper.listByDeptId(deptId); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void add(AddSubjectForm form) { + Subject subject = new Subject(); + subject.setName(form.getSubjectName()); + subject.setDeleted(false); + subjectMapper.insert(subject); + + SubjectDept subjectDept = new SubjectDept(); + subjectDept.setDeptId(form.getDeptId()); + subjectDept.setSubjectId(subject.getId()); + List<SubjectDept> s = new ArrayList<>(1); + s.add(subjectDept); + subjectDeptMapper.add(s); + } + + @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); + } } -- Gitblit v1.8.0