Ver Fonte

机构文件存储

xiatian há 5 anos atrás
pai
commit
935de70b78

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

@@ -44,7 +44,6 @@ import org.springframework.web.multipart.commons.CommonsMultipartFile;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
-import cn.com.qmth.examcloud.api.commons.exchange.FormFilePart;
 import cn.com.qmth.examcloud.api.commons.exchange.PageInfo;
 import cn.com.qmth.examcloud.api.commons.security.bean.User;
 import cn.com.qmth.examcloud.commons.exception.ExamCloudRuntimeException;
@@ -68,9 +67,6 @@ import cn.com.qmth.examcloud.core.basic.service.cache.OrgCache;
 import cn.com.qmth.examcloud.core.basic.service.cache.RootOrgCache;
 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;
-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;
@@ -78,6 +74,9 @@ 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;
 import cn.com.qmth.examcloud.web.config.SystemProperties;
+import cn.com.qmth.examcloud.web.filestorage.FileStoragePathEnvInfo;
+import cn.com.qmth.examcloud.web.filestorage.FileStorageUtil;
+import cn.com.qmth.examcloud.web.filestorage.YunPathInfo;
 import cn.com.qmth.examcloud.web.helpers.GlobalHelper;
 import cn.com.qmth.examcloud.web.redis.RedisClient;
 import cn.com.qmth.examcloud.web.support.ApiId;
@@ -122,8 +121,8 @@ public class OrgController extends ControllerSupport {
 	@Autowired
 	DataSyncCloudService dataSyncCloudService;
 
-	@Autowired
-	UpyunCloudService upyunCloudService;
+//	@Autowired
+//	UpyunCloudService upyunCloudService;
 
 	@Autowired
 	SystemPropertyCache systemPropertyCache;
@@ -682,27 +681,38 @@ public class OrgController extends ControllerSupport {
 		try {
 			FileUtils.write(file, prettyJson, "UTF-8");
 
-			PutFileReq req = new PutFileReq();
-			List<FormFilePart> formFilePartList = new ArrayList<FormFilePart>();
-			FormFilePart part = new FormFilePart("file", orgId + fileSuffix, file);
-			formFilePartList.add(part);
-
-			req.setFormFilePartList(formFilePartList);
-
-			req.setFileSuffix(fileSuffix);
-			req.setRootOrgId(orgEntity.getId());
-			req.setRootOrgDomain(orgEntity.getDomainName());
-			req.setExt1(propertyGroupId);
-
-			PutFileResp putFileResp = null;
-
-			req.setSiteId("orgPropertiesByOrgId");
-			putFileResp = upyunCloudService.putFile(req);
-			urlList.add(putFileResp.getUrl());
-
-			req.setSiteId("orgPropertiesByOrgDomain");
-			putFileResp = upyunCloudService.putFile(req);
-			urlList.add(putFileResp.getUrl());
+//			PutFileReq req = new PutFileReq();
+//			List<FormFilePart> formFilePartList = new ArrayList<FormFilePart>();
+//			FormFilePart part = new FormFilePart("file", orgId + fileSuffix, file);
+//			formFilePartList.add(part);
+//
+//			req.setFormFilePartList(formFilePartList);
+//
+//			req.setFileSuffix(fileSuffix);
+//			req.setRootOrgId(orgEntity.getId());
+//			req.setRootOrgDomain(orgEntity.getDomainName());
+//			req.setExt1(propertyGroupId);
+//
+//			PutFileResp putFileResp = null;
+//
+//			req.setSiteId("orgPropertiesByOrgId");
+//			putFileResp = upyunCloudService.putFile(req);
+//			urlList.add(putFileResp.getUrl());
+//
+//			req.setSiteId("orgPropertiesByOrgDomain");
+//			putFileResp = upyunCloudService.putFile(req);
+//			urlList.add(putFileResp.getUrl());
+			
+			//通用存储
+			YunPathInfo pi=null;
+			FileStoragePathEnvInfo env=new FileStoragePathEnvInfo();
+			env.setFileSuffix(fileSuffix);
+			env.setRootOrgId(orgEntity.getId().toString());
+			env.setRootOrgDomain(orgEntity.getDomainName());
+			pi=FileStorageUtil.saveFile("orgPropertiesByOrgId", env, file,null);
+			urlList.add(pi.getUrl());
+			pi=FileStorageUtil.saveFile("orgPropertiesByOrgDomain", env, file,null);
+			urlList.add(pi.getUrl());
 
 			return urlList;
 
@@ -1254,17 +1264,24 @@ public class OrgController extends ControllerSupport {
 
 		FileUtils.copyFile(storeLocation, new File(path));
 
-		PutFileReq req = new PutFileReq();
-		List<FormFilePart> formFilePartList = new ArrayList<FormFilePart>();
-		FormFilePart part = new FormFilePart("file", orgId + fileSuffix, storeLocation);
-		formFilePartList.add(part);
-
-		req.setFormFilePartList(formFilePartList);
-		req.setSiteId("orgLogo");
-		req.setFileSuffix(fileSuffix);
-		req.setRootOrgId(orgEntity.getRootId());
-		PutFileResp putFileResp = upyunCloudService.putFile(req);
-		String url = putFileResp.getUrl();
+//		PutFileReq req = new PutFileReq();
+//		List<FormFilePart> formFilePartList = new ArrayList<FormFilePart>();
+//		FormFilePart part = new FormFilePart("file", orgId + fileSuffix, storeLocation);
+//		formFilePartList.add(part);
+//
+//		req.setFormFilePartList(formFilePartList);
+//		req.setSiteId("orgLogo");
+//		req.setFileSuffix(fileSuffix);
+//		req.setRootOrgId(orgEntity.getRootId());
+//		PutFileResp putFileResp = upyunCloudService.putFile(req);
+//		String url = putFileResp.getUrl();
+		
+		//通用存储
+		FileStoragePathEnvInfo env=new FileStoragePathEnvInfo();
+		env.setFileSuffix(fileSuffix);
+		env.setRootOrgId(orgEntity.getRootId().toString());
+		YunPathInfo pi=FileStorageUtil.saveFile("orgLogo", env, storeLocation,null);
+		String url =pi.getUrl();
 
 		OrgPropertyEntity logoFileUrlEntity = orgPropertyRepo.findByOrgIdAndKeyId(orgId,
 				logoFileUrl.getId());

+ 57 - 0
examcloud-core-basic-starter/src/main/resources/aliyun.xml

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sites>
+
+	<!-- <site>
+		ID
+		<id>studentBasePhoto</id>
+		名称
+		<name>考生照片</name>
+		又拍云账户ID标识
+		<upyunId>1</upyunId>
+		文件大小限制(IO流限制)
+		<maxSize>1M</maxSize>
+		又拍云存储路径
+		<path>/student_base_photo/${rootOrgId}/${userId}/${timeMillis}${fileSuffix}</path>
+	</site>
+
+	<site>
+		<id>resource</id>
+		<name>资源</name>
+		<upyunId>1</upyunId>
+		<maxSize>50M</maxSize>
+		<path>/resource/${relativePath}</path>
+	</site>
+
+	<site>
+		<id>capturePhoto</id>
+		<name>网考学生端抓拍照片</name>
+		<upyunId>1</upyunId>
+		<maxSize>1M</maxSize>
+		<path>/capture_photo/${rootOrgId}/${userId}/${timeMillis}${fileSuffix}</path>
+	</site>
+ -->
+	<site>
+		<id>orgLogo</id>
+		<name>机构logo</name>
+		<aliyunId>1</aliyunId>
+		<maxSize>1M</maxSize>
+		<path>/org_logo/${rootOrgId}/${timeMillis}${fileSuffix}</path>
+	</site>
+
+	<site>
+		<id>orgPropertiesByOrgId</id>
+		<name>机构属性(机构ID查询)</name>
+		<aliyunId>1</aliyunId>
+		<maxSize>1M</maxSize>
+		<path>/org_properties/byOrgId/${rootOrgId}/${ext1}${fileSuffix}</path>
+	</site>
+
+	<site>
+		<id>orgPropertiesByOrgDomain</id>
+		<name>机构属性(机构域名查询)</name>
+		<aliyunId>1</aliyunId>
+		<maxSize>1M</maxSize>
+		<path>/org_properties/byOrgDomain/${rootOrgDomain}/${ext1}${fileSuffix}</path>
+	</site>
+
+</sites>

+ 57 - 0
examcloud-core-basic-starter/src/main/resources/upyun.xml

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sites>
+
+	<!-- <site>
+		ID
+		<id>studentBasePhoto</id>
+		名称
+		<name>考生照片</name>
+		又拍云账户ID标识
+		<upyunId>1</upyunId>
+		文件大小限制(IO流限制)
+		<maxSize>1M</maxSize>
+		又拍云存储路径
+		<path>/student_base_photo/${rootOrgId}/${userId}/${timeMillis}${fileSuffix}</path>
+	</site>
+
+	<site>
+		<id>resource</id>
+		<name>资源</name>
+		<upyunId>1</upyunId>
+		<maxSize>50M</maxSize>
+		<path>/resource/${relativePath}</path>
+	</site>
+
+	<site>
+		<id>capturePhoto</id>
+		<name>网考学生端抓拍照片</name>
+		<upyunId>1</upyunId>
+		<maxSize>1M</maxSize>
+		<path>/capture_photo/${rootOrgId}/${userId}/${timeMillis}${fileSuffix}</path>
+	</site>
+ -->
+	<site>
+		<id>orgLogo</id>
+		<name>机构logo</name>
+		<upyunId>1</upyunId>
+		<maxSize>1M</maxSize>
+		<path>/org_logo/${rootOrgId}/${timeMillis}${fileSuffix}</path>
+	</site>
+
+	<site>
+		<id>orgPropertiesByOrgId</id>
+		<name>机构属性(机构ID查询)</name>
+		<upyunId>1</upyunId>
+		<maxSize>1M</maxSize>
+		<path>/org_properties/byOrgId/${rootOrgId}/${ext1}${fileSuffix}</path>
+	</site>
+
+	<site>
+		<id>orgPropertiesByOrgDomain</id>
+		<name>机构属性(机构域名查询)</name>
+		<upyunId>1</upyunId>
+		<maxSize>1M</maxSize>
+		<path>/org_properties/byOrgDomain/${rootOrgDomain}/${ext1}${fileSuffix}</path>
+	</site>
+
+</sites>