Ver Fonte

整理数据权限

wangliang há 3 anos atrás
pai
commit
b441d05af8

+ 33 - 32
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicStudentServiceImpl.java

@@ -9,14 +9,14 @@ import com.qmth.distributed.print.business.bean.dto.TaskPrintClassDto;
 import com.qmth.distributed.print.business.bean.dto.excel.BasicStudentImportDto;
 import com.qmth.distributed.print.business.bean.params.BasicStudentParams;
 import com.qmth.distributed.print.business.bean.result.BasicStudentResult;
-import com.qmth.distributed.print.business.entity.BasicCampus;
 import com.qmth.distributed.print.business.entity.BasicStudent;
 import com.qmth.distributed.print.business.mapper.BasicStudentMapper;
-import com.qmth.distributed.print.business.service.BasicCampusService;
 import com.qmth.distributed.print.business.service.BasicStudentService;
 import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.entity.BasicCampus;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.service.BasicCampusService;
 import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.beans.BeanUtils;
@@ -50,7 +50,7 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
         Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         queryParams = SystemConstant.translateSpecificSign(queryParams);
-        return basicStudentMapper.findBasicStudentPage(new Page<>(pageNumber,pageSize),queryParams,schoolId,orgIds);
+        return basicStudentMapper.findBasicStudentPage(new Page<>(pageNumber, pageSize), queryParams, schoolId, orgIds);
     }
 
     @Override
@@ -68,10 +68,10 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public Long saveBasicStudent(BasicStudentParams basicStudentParams,SysUser sysUser) {
+    public Long saveBasicStudent(BasicStudentParams basicStudentParams, SysUser sysUser) {
         List<BasicStudentParams> basicStudentParamsList = new ArrayList<>();
         basicStudentParamsList.add(basicStudentParams);
-        BasicStudent basicStudent = this.editEntityHelp(basicStudentParamsList,sysUser).get(0);
+        BasicStudent basicStudent = this.editEntityHelp(basicStudentParamsList, sysUser).get(0);
         this.saveOrUpdate(basicStudent);
         return basicStudent.getId();
     }
@@ -79,16 +79,16 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean removeBasicStudentBatch(List<Long> idList) {
-        if (idList.size() == 0){
+        if (idList.size() == 0) {
             throw ExceptionResultEnum.ERROR.exception("请选择要删除的目标");
         }
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         UpdateWrapper<BasicStudent> updateWrapper = new UpdateWrapper<>();
         updateWrapper.lambda()
-                .set(BasicStudent::getEnable,false)
-                .set(BasicStudent::getOrgId,sysUser.getOrgId())
-                .set(BasicStudent::getUpdateId,sysUser.getId())
-                .in(BasicStudent::getId,idList);
+                .set(BasicStudent::getEnable, false)
+                .set(BasicStudent::getOrgId, sysUser.getOrgId())
+                .set(BasicStudent::getUpdateId, sysUser.getId())
+                .in(BasicStudent::getId, idList);
         return this.update(updateWrapper);
     }
 
@@ -109,17 +109,17 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
                 BeanUtils.copyProperties(e, basicStudentImportDto);
                 return basicStudentImportDto;
             }).collect(Collectors.toList());
-            map.put("dataCount",datasource.size());
+            map.put("dataCount", datasource.size());
 
 
             // 新校区名称集合
             Set<String> newCampusNameSet = datasource.stream().map(BasicStudentImportDto::getCampusName).collect(Collectors.toSet());
             // 旧校区集合
-            List<BasicCampus> basicCampusList = basicCampusService.list(new QueryWrapper<BasicCampus>().lambda().eq(BasicCampus::getEnable,true).eq(BasicCampus::getSchoolId,schoolId));
+            List<BasicCampus> basicCampusList = basicCampusService.list(new QueryWrapper<BasicCampus>().lambda().eq(BasicCampus::getEnable, true).eq(BasicCampus::getSchoolId, schoolId));
             Set<String> oldCampusNameSet = basicCampusList.stream().map(BasicCampus::getCampusName).collect(Collectors.toSet());
 
             // 需要新增的校区集合
-            Set<String> addCampusNameSet =  newCampusNameSet.stream().filter(e -> !oldCampusNameSet.contains(e)).collect(Collectors.toSet());
+            Set<String> addCampusNameSet = newCampusNameSet.stream().filter(e -> !oldCampusNameSet.contains(e)).collect(Collectors.toSet());
             List<BasicCampus> addBasicCampusList = new ArrayList<>();
             for (String campusName : addCampusNameSet) {
                 BasicCampus basicCampus = new BasicCampus();
@@ -148,9 +148,9 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
 
                 BasicStudentParams basicStudentParams = new BasicStudentParams();
                 basicStudentParams.setCampusId(basicCampusService.getOne(new QueryWrapper<BasicCampus>().lambda()
-                        .eq(BasicCampus::getSchoolId,schoolId)
-                        .eq(BasicCampus::getCampusName,campusName)
-                        .eq(BasicCampus::getEnable,true))
+                        .eq(BasicCampus::getSchoolId, schoolId)
+                        .eq(BasicCampus::getCampusName, campusName)
+                        .eq(BasicCampus::getEnable, true))
                         .getId());
                 basicStudentParams.setStudentName(studentName);
                 basicStudentParams.setStudentCode(studentCode);
@@ -158,16 +158,16 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
                 basicStudentParams.setClazz(clazz);
 
                 BasicStudent tmp = this.getOne(new QueryWrapper<BasicStudent>().lambda()
-                        .eq(BasicStudent::getSchoolId,sysUser.getSchoolId())
-                        .eq(BasicStudent::getEnable,true)
-                        .eq(BasicStudent::getStudentCode,studentCode));
-                if (Objects.nonNull(tmp)){
+                        .eq(BasicStudent::getSchoolId, sysUser.getSchoolId())
+                        .eq(BasicStudent::getEnable, true)
+                        .eq(BasicStudent::getStudentCode, studentCode));
+                if (Objects.nonNull(tmp)) {
                     basicStudentParams.setId(tmp.getId());
                 }
                 addBasicStudentParamsList.add(basicStudentParams);
             }
 
-            List<BasicStudent> basicStudentList = this.editEntityHelp(addBasicStudentParamsList,sysUser);
+            List<BasicStudent> basicStudentList = this.editEntityHelp(addBasicStudentParamsList, sysUser);
             this.saveOrUpdateBatch(basicStudentList);
         }
 
@@ -176,11 +176,12 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
 
     /**
      * 学生保存助手方法(应对学生保存和导入批量保存)
+     *
      * @param basicStudentParamsList 学生参数
-     * @param sysUser 操作人
+     * @param sysUser                操作人
      * @return 结果
      */
-    private List<BasicStudent> editEntityHelp(List<BasicStudentParams> basicStudentParamsList,SysUser sysUser){
+    private List<BasicStudent> editEntityHelp(List<BasicStudentParams> basicStudentParamsList, SysUser sysUser) {
         Long schoolId = sysUser.getSchoolId();
         List<BasicStudent> editEntityList = new ArrayList<>();
         for (BasicStudentParams basicStudentParams : basicStudentParamsList) {
@@ -189,7 +190,7 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
             String studentCode = basicStudentParams.getStudentCode();
             String phoneNumber = basicStudentParams.getPhoneNumber();
             Long campusId = basicStudentParams.getCampusId();
-            if (Objects.isNull(basicCampusService.getById(campusId))){
+            if (Objects.isNull(basicCampusService.getById(campusId))) {
                 throw ExceptionResultEnum.ERROR.exception("所选校区不存在");
             }
             String clazz = basicStudentParams.getClazz();
@@ -197,11 +198,11 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
 
             // 检验学号在学校的唯一性
             BasicStudent check = this.getOne(new QueryWrapper<BasicStudent>().lambda()
-                    .eq(BasicStudent::getSchoolId,schoolId)
-                    .eq(BasicStudent::getStudentCode,studentCode)
-                    .eq(BasicStudent::getEnable,true));
-            if (Objects.nonNull(check)){
-                if (!check.getId().equals(id)){
+                    .eq(BasicStudent::getSchoolId, schoolId)
+                    .eq(BasicStudent::getStudentCode, studentCode)
+                    .eq(BasicStudent::getEnable, true));
+            if (Objects.nonNull(check)) {
+                if (!check.getId().equals(id)) {
                     throw ExceptionResultEnum.ERROR.exception("学生编号【" + studentCode + "】重复");
                 }
             }
@@ -217,16 +218,16 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
             basicStudent.setSchoolId(schoolId);
 
             // 保存
-            if (!SystemConstant.longNotNull(id)){
+            if (!SystemConstant.longNotNull(id)) {
                 // id为空 -> 新增
                 // 获取分布式id
                 id = SystemConstant.getDbUuid();
                 basicStudent.setId(id);
                 basicStudent.setCreateId(sysUser.getId());
-            }else {
+            } else {
                 // id不为空 -> 更新
                 BasicStudent old = this.getById(id);
-                if (Objects.isNull(old) || old.getEnable().equals(false)){
+                if (Objects.isNull(old) || old.getEnable().equals(false)) {
                     throw ExceptionResultEnum.ERROR.exception("学生主键不存在或被禁用");
                 }
                 basicStudent.setId(id);

+ 3 - 3
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCampusController.java

@@ -2,10 +2,10 @@ package com.qmth.distributed.print.api;
 
 
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.distributed.print.business.bean.params.BasicCampusParams;
 import com.qmth.distributed.print.business.bean.result.EditResult;
-import com.qmth.distributed.print.business.service.BasicCampusService;
+import com.qmth.teachcloud.common.bean.params.BasicCampusParams;
 import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.service.BasicCampusService;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
@@ -53,7 +53,7 @@ public class BasicCampusController {
     @ApiOperation(value = "校区管理-删除(逻辑)")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
-    public Result deleteBasicCampus(@ApiParam(value = "校区id",required = true) @RequestParam String id) {
+    public Result deleteBasicCampus(@ApiParam(value = "校区id", required = true) @RequestParam String id) {
         return ResultUtil.ok(basicCampusService.removeBasicCampusById(SystemConstant.convertIdToLong(id)));
     }
 

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/BasicCampusParams.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/params/BasicCampusParams.java

@@ -1,4 +1,4 @@
-package com.qmth.distributed.print.business.bean.params;
+package com.qmth.teachcloud.common.bean.params;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/BasicCampusResult.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicCampusResult.java

@@ -1,4 +1,4 @@
-package com.qmth.distributed.print.business.bean.result;
+package com.qmth.teachcloud.common.bean.result;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/BasicCampus.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicCampus.java

@@ -1,4 +1,4 @@
-package com.qmth.distributed.print.business.entity;
+package com.qmth.teachcloud.common.entity;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

+ 13 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/SysOrg.java

@@ -54,6 +54,19 @@ public class SysOrg extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "是否启用,0:停用,1:启用")
     private Boolean enable;
 
+    @ApiModelProperty(value = "校区id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableField(exist = false)
+    private Long campusId;
+
+    public Long getCampusId() {
+        return campusId;
+    }
+
+    public void setCampusId(Long campusId) {
+        this.campusId = campusId;
+    }
+
     public static long getSerialVersionUID() {
         return serialVersionUID;
     }

+ 4 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicCampusMapper.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicCampusMapper.java

@@ -1,8 +1,8 @@
-package com.qmth.distributed.print.business.mapper;
+package com.qmth.teachcloud.common.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.qmth.distributed.print.business.bean.result.BasicCampusResult;
-import com.qmth.distributed.print.business.entity.BasicCampus;
+import com.qmth.teachcloud.common.bean.result.BasicCampusResult;
+import com.qmth.teachcloud.common.entity.BasicCampus;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -19,6 +19,7 @@ public interface BasicCampusMapper extends BaseMapper<BasicCampus> {
 
     /**
      * 查找基础校区信息
+     *
      * @param schoolId 学校id
      * @return 基础校区信息
      */

+ 4 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/BasicCampusService.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicCampusService.java

@@ -1,9 +1,9 @@
-package com.qmth.distributed.print.business.service;
+package com.qmth.teachcloud.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.distributed.print.business.bean.params.BasicCampusParams;
-import com.qmth.distributed.print.business.bean.result.BasicCampusResult;
-import com.qmth.distributed.print.business.entity.BasicCampus;
+import com.qmth.teachcloud.common.bean.params.BasicCampusParams;
+import com.qmth.teachcloud.common.bean.result.BasicCampusResult;
+import com.qmth.teachcloud.common.entity.BasicCampus;
 
 import java.util.List;
 

+ 6 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicCampusServiceImpl.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCampusServiceImpl.java

@@ -1,16 +1,16 @@
-package com.qmth.distributed.print.business.service.impl;
+package com.qmth.teachcloud.common.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.distributed.print.business.bean.params.BasicCampusParams;
-import com.qmth.distributed.print.business.bean.result.BasicCampusResult;
-import com.qmth.distributed.print.business.entity.BasicCampus;
-import com.qmth.distributed.print.business.mapper.BasicCampusMapper;
-import com.qmth.distributed.print.business.service.BasicCampusService;
+import com.qmth.teachcloud.common.bean.params.BasicCampusParams;
+import com.qmth.teachcloud.common.bean.result.BasicCampusResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.entity.BasicCampus;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.mapper.BasicCampusMapper;
+import com.qmth.teachcloud.common.service.BasicCampusService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;

+ 20 - 10
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java

@@ -1,11 +1,13 @@
 package com.qmth.teachcloud.common.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.teachcloud.common.bean.dto.OrgDto;
 import com.qmth.teachcloud.common.bean.params.UserSaveParams;
 import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.entity.BasicCampus;
 import com.qmth.teachcloud.common.entity.SysOrg;
 import com.qmth.teachcloud.common.entity.SysRole;
 import com.qmth.teachcloud.common.entity.SysUser;
@@ -15,10 +17,7 @@ import com.qmth.teachcloud.common.enums.OrgTypeEnum;
 import com.qmth.teachcloud.common.enums.RoleTypeEnum;
 import com.qmth.teachcloud.common.mapper.SysOrgMapper;
 import com.qmth.teachcloud.common.mapper.SysUserMapper;
-import com.qmth.teachcloud.common.service.SysOrgService;
-import com.qmth.teachcloud.common.service.SysRoleService;
-import com.qmth.teachcloud.common.service.SysUserService;
-import com.qmth.teachcloud.common.service.TeachcloudCommonService;
+import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.dao.DuplicateKeyException;
@@ -52,6 +51,9 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     @Resource
     TeachcloudCommonService teachcloudCommonService;
 
+    @Resource
+    BasicCampusService basicCampusService;
+
     @Override
     public List<OrgDto> listOrgTree() {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
@@ -89,7 +91,9 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     }
 
     @Override
+    @Transactional
     public boolean saveOrg(SysOrg org) {
+        boolean success = false;
         try {
             Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
             org.setSchoolId(schoolId);
@@ -105,13 +109,19 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
                 }
                 checkOrgTree(org);
                 org.insertInfo(sysUser.getId());
-                return this.save(org);
+                success = this.save(org);
             } else { // 修改
                 if (sysOrg != null && org.getId().longValue() != sysOrg.getId().longValue()) {
                     throw ExceptionResultEnum.ERROR.exception("机构代码已存在");
                 }
                 org.updateInfo(sysUser.getId());
-                return this.updateById(org);
+                success = this.updateById(org);
+            }
+            if (Objects.nonNull(org.getCampusId())) {//更新校区
+                UpdateWrapper<BasicCampus> basicCampusUpdateWrapper = new UpdateWrapper<>();
+                basicCampusUpdateWrapper.lambda().eq(BasicCampus::getId, org.getCampusId())
+                        .set(BasicCampus::getPrintHouseId, org.getId());
+                basicCampusService.update(basicCampusUpdateWrapper);
             }
         } catch (Exception e) {
             if (e instanceof DuplicateKeyException) {
@@ -124,7 +134,7 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
                 ResultUtil.error(e.getMessage());
             }
         }
-        return true;
+        return success;
     }
 
     /**
@@ -287,9 +297,9 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     public List<SysOrg> findDeepByOrgIdAndType(OrgTypeEnum orgTypeEnum) {
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         List<SysOrg> sysOrgList = new ArrayList<>();
-        if (orgIds.size() > 0){
-            sysOrgList = this.list(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getType,orgTypeEnum).eq(SysOrg::getEnable,true)
-                    .in(SysOrg::getId,orgIds));
+        if (orgIds.size() > 0) {
+            sysOrgList = this.list(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getType, orgTypeEnum).eq(SysOrg::getEnable, true)
+                    .in(SysOrg::getId, orgIds));
         }
         return sysOrgList;
     }

+ 2 - 2
distributed-print-business/src/main/resources/mapper/BasicCampusMapper.xml → teachcloud-common/src/main/resources/mapper/BasicCampusMapper.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qmth.distributed.print.business.mapper.BasicCampusMapper">
+<mapper namespace="com.qmth.teachcloud.common.mapper.BasicCampusMapper">
 
     <select id="findBasicCampusResult"
-            resultType="com.qmth.distributed.print.business.bean.result.BasicCampusResult">
+            resultType="com.qmth.teachcloud.common.bean.result.BasicCampusResult">
         SELECT
             cam.id AS id,
             campus_name AS campusName,