Browse Source

/student/basestudentpost/list学生职务设置列表(不分页) 返回id字段值
/student/basestudentpost删除学生职务设置 当有学生任职于该职务时不能删除该职务

phoenix 1 year ago
parent
commit
706b68f632

+ 1 - 1
src/main/java/com/xjrsoft/module/student/controller/BaseStudentCadreController.java

@@ -250,7 +250,7 @@ public class BaseStudentCadreController {
         return RT.ok(baseStudentCadreService.updateById(baseStudentCadre));
     }
 
-    @PutMapping("/editMobileStatus")
+    @PutMapping("/mobile-editStatus")
     @ApiOperation(value = "修改学生干部状态(离职、复职)移动端")
     @SaCheckPermission("basestudentcadre:edit")
     public RT<Boolean> editMobileStatus(@Valid @RequestBody UpdateBaseStudentCadreDto dto){

+ 3 - 3
src/main/java/com/xjrsoft/module/student/controller/BaseStudentPostController.java

@@ -72,7 +72,8 @@ public class BaseStudentPostController {
         queryWrapper
                 .eq(ObjectUtil.isNotNull(dto.getLevel()), BaseStudentPost::getLevel, dto.getLevel())
                 .orderByDesc(BaseStudentPost::getId)
-                .select(BaseStudentPost.class,x -> VoToColumnUtil.fieldsToColumns(BaseStudentPostListVo.class).contains(x.getProperty()));
+                .select(BaseStudentPost.class,x -> VoToColumnUtil.fieldsToColumns(BaseStudentPostListVo.class).contains(x.getProperty()))
+                .select(BaseStudentPost::getId);
 
         List<BaseStudentPost> list = baseStudentPostService.list(queryWrapper);
         List<BaseStudentPostListVo> listVos = BeanUtil.copyToList(list, BaseStudentPostListVo.class);
@@ -130,8 +131,7 @@ public class BaseStudentPostController {
     @ApiOperation(value = "删除学生职务设置")
     @SaCheckPermission("basestudentpost:delete")
     public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
-        return RT.ok(baseStudentPostService.removeBatchByIds(ids));
-
+        return RT.ok(baseStudentPostService.deleteLogicallyBatchByIds(ids));
     }
 
     @GetMapping("/export")

+ 8 - 0
src/main/java/com/xjrsoft/module/student/service/IBaseStudentPostService.java

@@ -14,4 +14,12 @@ import java.util.List;
 */
 
 public interface IBaseStudentPostService extends MPJBaseService<BaseStudentPost> {
+
+    /**
+     * 删除学生职务设置(逻辑)
+     * @author phoenix
+     * @return
+     */
+    Boolean deleteLogicallyBatchByIds(List<Long> ids);
+
 }

+ 31 - 0
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentPostServiceImpl.java

@@ -1,13 +1,24 @@
 package com.xjrsoft.module.student.service.impl;
 
+import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.AbstractWrapper;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.common.exception.MyException;
+import com.xjrsoft.module.student.entity.BaseStudentCadre;
 import com.xjrsoft.module.student.entity.BaseStudentPost;
 import com.xjrsoft.module.student.mapper.BaseStudentPostMapper;
+import com.xjrsoft.module.student.service.IBaseStudentCadreService;
 import com.xjrsoft.module.student.service.IBaseStudentPostService;
 import lombok.AllArgsConstructor;
 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;
@@ -22,4 +33,24 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 @Service
 @AllArgsConstructor
 public class BaseStudentPostServiceImpl extends MPJBaseServiceImpl<BaseStudentPostMapper, BaseStudentPost> implements IBaseStudentPostService {
+
+
+    private final IBaseStudentCadreService baseStudentCadreService;
+
+    /**
+     * 删除学生职务设置(逻辑)
+     * @author phoenix
+     * @return
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean deleteLogicallyBatchByIds(List<Long> ids){
+        QueryWrapper<BaseStudentCadre> queryWrapper = new QueryWrapper<>();
+
+        queryWrapper.in("post_id",ids);
+        Long count = baseStudentCadreService.count(queryWrapper);
+        if(ObjectUtil.isNotNull(count) && count > 0){
+            throw new MyException("有学生任职于选中的职务");
+        }
+        return removeBatchByIds(ids);
+    }
 }

+ 1 - 1
src/main/java/com/xjrsoft/module/student/vo/BaseStudentPostListVo.java

@@ -29,7 +29,7 @@ public class BaseStudentPostListVo {
     @ContentStyle(dataFormat = 49)
     @ExcelProperty("主键编号")
     @ApiModelProperty("主键编号")
-    private String id;
+    private Long id;
     /**
     * 创建人
     */