Преглед на файлове

Merge remote-tracking branch 'origin/dev_v3.2.2' into dev_v3.2.2

wangliang преди 2 години
родител
ревизия
10c1b8b97b

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/BasicPrintConfigService.java

@@ -50,5 +50,5 @@ public interface BasicPrintConfigService extends IService<BasicPrintConfig> {
      * 删除
      * @param id 印品配置ID
      */
-    boolean delete(Long id);
+    boolean delete(List<Long> idList);
 }

+ 33 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicPrintConfigServiceImpl.java

@@ -1,5 +1,7 @@
 package com.qmth.distributed.print.business.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -29,6 +31,7 @@ import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -54,6 +57,9 @@ public class BasicPrintConfigServiceImpl extends ServiceImpl<BasicPrintConfigMap
     @Resource
     BasicTemplateOrgService basicTemplateOrgService;
 
+    @Resource
+    BasicPrintConfigService basicPrintConfigService;
+
     @Override
     public IPage<BasicPrintConfigDto> listPage(Long examId, Boolean enable, Long createStartTime, Long createEndTime, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
@@ -211,10 +217,33 @@ public class BasicPrintConfigServiceImpl extends ServiceImpl<BasicPrintConfigMap
 
     @Transactional
     @Override
-    public boolean delete(Long id) {
-        this.removeById(id);
-        // 删除适用学院
-        basicTemplateOrgService.removeByRuleId(id);
+    public boolean delete(List<Long> idList) {
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        QueryWrapper<BasicPrintConfig> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(BasicPrintConfig::getSchoolId, schoolId);
+        List<BasicPrintConfig> basicPrintConfigs = basicPrintConfigService.list(queryWrapper);
+        List<Long> templateIds = new ArrayList<>();
+        if (!basicPrintConfigs.isEmpty()) {
+            for (BasicPrintConfig basicPrintConfig : basicPrintConfigs) {
+                Set<Long> variableLongs = JSON.parseArray(basicPrintConfig.getVariableContent(), JSONObject.class).stream().map(m -> m.getLong("templateId")).collect(Collectors.toSet());
+                if (!variableLongs.isEmpty()) {
+                    templateIds.addAll(variableLongs);
+                }
+
+                Set<Long> ordinaryLongs = JSON.parseArray(basicPrintConfig.getOrdinaryContent(), JSONObject.class).stream().map(m -> m.getLong("templateId")).collect(Collectors.toSet());
+                if (!ordinaryLongs.isEmpty()) {
+                    templateIds.addAll(ordinaryLongs);
+                }
+            }
+
+        }
+
+        for (Long aLong : idList) {
+            if (!templateIds.isEmpty() && templateIds.contains(aLong)) {
+                throw ExceptionResultEnum.ERROR.exception("印品已经考试绑定,不能删除");
+            }
+            this.removeById(aLong);
+        }
         return true;
     }
 }

+ 4 - 4
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicPrintConfigController.java

@@ -82,12 +82,12 @@ public class BasicPrintConfigController {
 
     /**
      *
-     * @param id 印品配置ID
+     * @param idList 印品配置ID
      */
     @ApiOperation(value = "删除")
-    @RequestMapping(value = "/delete", method = RequestMethod.POST)
-    public Result delete(@RequestParam(value = "id", required = false) Long id) {
-        boolean isSuccess = basicPrintConfigService.delete(id);
+    @RequestMapping(value = "/delete_batch", method = RequestMethod.POST)
+    public Result delete(@RequestParam(value = "id", required = false) List<Long> idList) {
+        boolean isSuccess = basicPrintConfigService.delete(idList);
         return ResultUtil.ok(isSuccess);
     }
 

+ 7 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/SysUserController.java

@@ -165,6 +165,13 @@ public class SysUserController {
         return ResultUtil.ok();
     }
 
+    @ApiOperation(value = "课程管理-批量删除")
+    @RequestMapping(value = "/delete_batch", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
+    public Result deleteBatch(@ApiParam(value = "删除对象ID集合", required = true) @RequestParam List<Long> idList) {
+        return ResultUtil.ok(sysUserService.removeBasicCourseBatch(idList));
+    }
+
     /**
      * 重置密码
      *

+ 2 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysUserService.java

@@ -257,4 +257,6 @@ public interface SysUserService extends IService<SysUser> {
      * @param schoolId 学校id
      */
     void buildAdministratorForSchool(Long schoolId);
+
+     boolean removeBasicCourseBatch(List<Long> idList);
 }

+ 15 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java

@@ -1003,8 +1003,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public void buildAdministratorForSchool(Long schoolId) {
         // 为没有学校管理员的学校自动创建一个学校管理员
         QueryWrapper<BasicSchool> basicSchoolQueryWrapper = new QueryWrapper<>();
-        if (SystemConstant.longNotNull(schoolId)){
-            basicSchoolQueryWrapper.lambda().eq(BasicSchool::getId,schoolId);
+        if (SystemConstant.longNotNull(schoolId)) {
+            basicSchoolQueryWrapper.lambda().eq(BasicSchool::getId, schoolId);
         }
         List<BasicSchool> basicSchoolList = basicSchoolService.list(basicSchoolQueryWrapper);
         SysRole role = sysRoleService.list(new QueryWrapper<SysRole>().lambda().eq(SysRole::getType, RoleTypeEnum.SCHOOL_ADMIN)).get(0);
@@ -1046,6 +1046,19 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         }
     }
 
+    @Override
+    public boolean removeBasicCourseBatch(List<Long> idList) {
+        this.removeByIds(idList);
+        idList.forEach(m -> {
+            try {
+                commonService.removeUserInfo(m, true);
+            } catch (NoSuchAlgorithmException e) {
+                e.printStackTrace();
+            }
+        });
+        return true;
+    }
+
     /**
      * 批量处理用户信息帮助类
      *