WANG hace 5 años
padre
commit
a0fbe6d2cf

+ 8 - 8
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/OrgController.java

@@ -30,7 +30,6 @@ import org.springframework.data.domain.Sort;
 import org.springframework.data.domain.Sort.Direction;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -63,6 +62,7 @@ import cn.com.qmth.examcloud.core.basic.dao.entity.OrgEntity;
 import cn.com.qmth.examcloud.core.basic.dao.entity.OrgPropertyEntity;
 import cn.com.qmth.examcloud.core.basic.dao.enums.OrgProperty;
 import cn.com.qmth.examcloud.core.basic.service.bean.OrgInfo;
+import cn.com.qmth.examcloud.core.basic.service.cache.OrgCache;
 import cn.com.qmth.examcloud.core.basic.service.cache.SystemPropertyCache;
 import cn.com.qmth.examcloud.core.basic.service.impl.OrgServiceImpl;
 import cn.com.qmth.examcloud.exchange.inner.api.UpyunCloudService;
@@ -92,6 +92,9 @@ import io.swagger.annotations.ApiOperation;
 @RequestMapping("${$rmp.ctr.basic}/org")
 public class OrgController extends ControllerSupport {
 
+	@Autowired
+	OrgCache orgCache;
+
 	@Autowired
 	RedisClient redisClient;
 
@@ -1018,6 +1021,10 @@ public class OrgController extends ControllerSupport {
 			req.setSyncType("update");
 			dataSyncCloudService.syncOrg(req);
 		}
+
+		for (OrgEntity saved : savedList) {
+			orgCache.remove(saved.getId());
+		}
 	}
 
 	@ApiOperation(value = "保存机构属性", notes = "")
@@ -1227,13 +1234,6 @@ public class OrgController extends ControllerSupport {
 		return url;
 	}
 
-	@ApiOperation(value = "删除子机构", notes = "")
-	@DeleteMapping("deleteSubOrg/{orgId}")
-	@Transactional
-	public void deleteSubOrg(@PathVariable Long orgId) {
-		orgService.deleteSubOrg(orgId, false);
-	}
-
 	@ApiOperation(value = "下载导入模板", notes = "下载导入模板")
 	@GetMapping("importTemplate")
 	public void getDownloadTemplate(HttpServletResponse response) {

+ 0 - 4
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/RolePrivilegeController.java

@@ -36,7 +36,6 @@ import cn.com.qmth.examcloud.core.basic.api.controller.bean.RoleDomain;
 import cn.com.qmth.examcloud.core.basic.api.controller.bean.UpdateRolePrivilegeRelationsDomain;
 import cn.com.qmth.examcloud.core.basic.api.controller.bean.UpdateRootOrgPrivilegeRelationsDomain;
 import cn.com.qmth.examcloud.core.basic.base.constants.BasicConsts;
-import cn.com.qmth.examcloud.core.basic.dao.OrgRepo;
 import cn.com.qmth.examcloud.core.basic.dao.PrivilegeGroupRepo;
 import cn.com.qmth.examcloud.core.basic.dao.PrivilegeRepo;
 import cn.com.qmth.examcloud.core.basic.dao.RolePrivilegeRelationRepo;
@@ -79,9 +78,6 @@ public class RolePrivilegeController extends ControllerSupport {
 	@Autowired
 	PrivilegeRepo privilegeRepo;
 
-	@Autowired
-	OrgRepo orgRepo;
-
 	@Autowired
 	RoleRepo roleRepo;
 

+ 0 - 9
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/OrgService.java

@@ -43,15 +43,6 @@ public interface OrgService {
 	 */
 	void saveOrgProperties(Long orgId, Map<String, String> properties);
 
-	/**
-	 * 删除子机构
-	 * 
-	 * @author WANGWEI
-	 * @param subOrgId
-	 * @param cascade
-	 */
-	void deleteSubOrg(Long subOrgId, boolean cascade);
-
 	/**
 	 * 导入子机构
 	 *

+ 10 - 28
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/OrgServiceImpl.java

@@ -37,6 +37,7 @@ import cn.com.qmth.examcloud.core.basic.dao.entity.UserRoleRelationEntity;
 import cn.com.qmth.examcloud.core.basic.dao.enums.OrgProperty;
 import cn.com.qmth.examcloud.core.basic.service.OrgService;
 import cn.com.qmth.examcloud.core.basic.service.bean.OrgInfo;
+import cn.com.qmth.examcloud.core.basic.service.cache.OrgCache;
 import cn.com.qmth.examcloud.task.api.DataSyncCloudService;
 import cn.com.qmth.examcloud.task.api.request.SyncOrgReq;
 import cn.com.qmth.examcloud.web.helpers.GlobalHelper;
@@ -50,6 +51,9 @@ public class OrgServiceImpl implements OrgService {
 	@Autowired
 	OrgRepo orgRepo;
 
+	@Autowired
+	OrgCache orgCache;
+
 	@Autowired
 	UserRepo userRepo;
 
@@ -152,6 +156,8 @@ public class OrgServiceImpl implements OrgService {
 
 		saveOrgProperties(saved.getId(), properties);
 
+		orgCache.remove(saved.getId());
+
 		return saved;
 	}
 
@@ -246,6 +252,8 @@ public class OrgServiceImpl implements OrgService {
 
 		saveOrgProperties(saved.getId(), properties);
 
+		orgCache.remove(saved.getId());
+
 		return saved;
 	}
 
@@ -264,9 +272,9 @@ public class OrgServiceImpl implements OrgService {
 				entity.setOrgId(orgId);
 				entity.setKeyId(de.getId());
 			}
-			if (StringUtils.isBlank(value)){
+			if (StringUtils.isBlank(value)) {
 				entity.setValue(null);
-			}else {
+			} else {
 				entity.setValue(value);
 			}
 
@@ -306,32 +314,6 @@ public class OrgServiceImpl implements OrgService {
 		return map;
 	}
 
-	@Override
-	public void deleteSubOrg(Long subOrgId, boolean cascade) {
-		OrgEntity orgEntity = GlobalHelper.getEntity(orgRepo, subOrgId, OrgEntity.class);
-		if (null == orgEntity.getParentId()) {
-			throw new StatusException("001004", "该机构非子机构");
-		}
-		Long rootId = orgEntity.getRootId();
-
-		if (0 < orgRepo.countByRootIdAndParentId(rootId, orgEntity.getId())) {
-			throw new StatusException("001004", "该机构有子机构");
-		}
-
-		if (!cascade) {
-			if (0 < userRepo.countByRootOrgId(rootId)) {
-				throw new StatusException("001004", "该机构已关联用户");
-			}
-
-			if (0 < studentRepo.countByRootOrgId(rootId)) {
-				throw new StatusException("001004", "该机构已关联学生");
-			}
-		}
-
-		orgRepo.delete(orgEntity);
-
-	}
-
 	@Override
 	public List<Map<String, Object>> importSubOrg(Long rootOrgId, File file) {
 

+ 5 - 0
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/StudentServiceImpl.java

@@ -26,6 +26,7 @@ import cn.com.qmth.examcloud.core.basic.dao.entity.StudentEntity;
 import cn.com.qmth.examcloud.core.basic.service.StudentService;
 import cn.com.qmth.examcloud.core.basic.service.UserService;
 import cn.com.qmth.examcloud.core.basic.service.bean.StudentInfo;
+import cn.com.qmth.examcloud.core.basic.service.cache.OrgCache;
 import cn.com.qmth.examcloud.core.basic.service.cache.StudentCache;
 import cn.com.qmth.examcloud.task.api.DataSyncCloudService;
 import cn.com.qmth.examcloud.task.api.request.SyncStudentReq;
@@ -62,6 +63,9 @@ public class StudentServiceImpl implements StudentService {
 	@Autowired
 	StudentCache studentCache;
 
+	@Autowired
+	OrgCache orgCache;
+
 	/*
 	 * 实现
 	 *
@@ -231,6 +235,7 @@ public class StudentServiceImpl implements StudentService {
 		}
 
 		studentCache.remove(saved.getId());
+		orgCache.remove(org.getId());
 
 		return saved;
 	}