wangwei 5 yıl önce
ebeveyn
işleme
d3afa95e22

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

@@ -69,6 +69,9 @@ import cn.com.qmth.examcloud.core.basic.service.impl.OrgServiceImpl;
 import cn.com.qmth.examcloud.exchange.inner.api.UpyunCloudService;
 import cn.com.qmth.examcloud.exchange.inner.api.request.PutFileReq;
 import cn.com.qmth.examcloud.exchange.inner.api.response.PutFileResp;
+import cn.com.qmth.examcloud.support.cache.CacheHelper;
+import cn.com.qmth.examcloud.support.cache.bean.OrgCacheBean;
+import cn.com.qmth.examcloud.support.cache.bean.OrgPropertyCacheBean;
 import cn.com.qmth.examcloud.support.cache.bean.SysPropertyCacheBean;
 import cn.com.qmth.examcloud.task.api.DataSyncCloudService;
 import cn.com.qmth.examcloud.task.api.request.SyncOrgReq;
@@ -728,19 +731,14 @@ public class OrgController extends ControllerSupport {
 	@ApiOperation(value = "查询机构单个属性")
 	@GetMapping("property/{orgId}/{key}")
 	public String getOrgProperty(@PathVariable Long orgId, @PathVariable String key) {
-		OrgEntity orgEntity = GlobalHelper.getEntity(orgRepo, orgId, OrgEntity.class);
-		if (null == orgEntity) {
-			throw new StatusException("001250", "orgId is wrong");
-		}
-		validateRootOrgIsolation(orgEntity.getRootId());
+		OrgCacheBean org = CacheHelper.getOrg(orgId);
+		validateRootOrgIsolation(org.getRootId());
 
-		DynamicEnumManager manager = OrgProperty.getDynamicEnumManager();
-		DynamicEnum de = manager.getByName(key);
-		OrgPropertyEntity one = orgPropertyRepo.findByOrgIdAndKeyId(orgId, de.getId());
-		if (null == one) {
+		OrgPropertyCacheBean orgProperty = CacheHelper.getOrgProperty(orgId, key);
+		if (!orgProperty.getHasValue()) {
 			return null;
 		}
-		return one.getValue();
+		return orgProperty.getValue();
 	}
 
 	@Naked

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

@@ -3,6 +3,7 @@ package cn.com.qmth.examcloud.core.basic.service.cache;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import cn.com.qmth.examcloud.commons.exception.StatusException;
 import cn.com.qmth.examcloud.core.basic.dao.OrgRepo;
 import cn.com.qmth.examcloud.core.basic.dao.entity.OrgEntity;
 import cn.com.qmth.examcloud.support.cache.bean.OrgCacheBean;
@@ -21,6 +22,10 @@ public class OrgCache extends RandomObjectRedisCache<OrgCacheBean> {
 
 		OrgEntity e = GlobalHelper.getPresentEntity(orgRepo, orgId, OrgEntity.class);
 
+		if (null == e) {
+			throw new StatusException("001250", "orgId is wrong");
+		}
+
 		OrgCacheBean b = new OrgCacheBean();
 		b.setCode(e.getCode());
 		b.setEnable(e.getEnable());