wangwei 6 лет назад
Родитель
Сommit
6c5e3eebc7

+ 1 - 1
examcloud-exchange-inner-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/controller/UpyunController.java

@@ -58,7 +58,7 @@ public class UpyunController extends ControllerSupport {
 			env.setRootOrgId(String.valueOf(accessUser.getRootOrgId()));
 			env.setUserId(String.valueOf(accessUser.getUserId()));
 			env.setFileSuffix(fileSuffix);
-			String url = upyunService.writeFile(siteId, env, in);
+			String url = upyunService.writeFile(siteId, env, in).getUrl();
 			url = aes.encrypt(url);
 			return url;
 		} catch (IOException e) {

+ 5 - 4
examcloud-exchange-inner-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/provider/UpyunCloudServiceProvider.java

@@ -15,6 +15,7 @@ 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.exchange.inner.service.UpyunService;
 import cn.com.qmth.examcloud.exchange.inner.service.bean.UpyunPathEnvironmentInfo;
+import cn.com.qmth.examcloud.exchange.inner.service.upyun.UpYunPathInfo;
 import cn.com.qmth.examcloud.web.config.SystemConfig;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
 
@@ -53,16 +54,16 @@ public class UpyunCloudServiceProvider extends ControllerSupport implements Upyu
 		env.setUserId(String.valueOf(userId));
 		env.setFileSuffix(fileSuffix);
 
-		String url = null;
+		UpYunPathInfo path = null;
 		try {
-			url = upyunService.writeFile(siteId, env, mf.getInputStream());
+			path = upyunService.writeFile(siteId, env, mf.getInputStream());
 		} catch (IOException e) {
 			throw new StatusException("005001", "fail to write to upyun", e);
 		}
-		url = aes.encrypt(url);
 
 		PutFileResp resp = new PutFileResp();
-		resp.setUrl(url);
+		resp.setUrl(path.getUrl());
+		resp.setRelativePath(path.getRelativePath());
 		return resp;
 	}
 

+ 40 - 39
examcloud-exchange-inner-service/src/main/java/cn/com/qmth/examcloud/exchange/inner/service/UpyunService.java

@@ -1,39 +1,40 @@
-package cn.com.qmth.examcloud.exchange.inner.service;
-
-import java.io.File;
-import java.io.InputStream;
-
-import cn.com.qmth.examcloud.exchange.inner.service.bean.UpyunPathEnvironmentInfo;
-
-/**
- * 类注释
- *
- * @author WANGWEI
- * @date 2018年6月29日
- * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
- */
-public interface UpyunService {
-
-	/**
-	 * 写文件
-	 *
-	 * @author WANGWEI
-	 * @param siteId
-	 * @param env
-	 * @param in
-	 * @return
-	 */
-	String writeFile(String siteId, UpyunPathEnvironmentInfo env, InputStream in);
-
-	/**
-	 * 写文件
-	 *
-	 * @author WANGWEI
-	 * @param siteId
-	 * @param env
-	 * @param file
-	 * @return
-	 */
-	String writeFile(String siteId, UpyunPathEnvironmentInfo env, File file);
-
-}
+package cn.com.qmth.examcloud.exchange.inner.service;
+
+import java.io.File;
+import java.io.InputStream;
+
+import cn.com.qmth.examcloud.exchange.inner.service.bean.UpyunPathEnvironmentInfo;
+import cn.com.qmth.examcloud.exchange.inner.service.upyun.UpYunPathInfo;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年6月29日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public interface UpyunService {
+
+	/**
+	 * 写文件
+	 *
+	 * @author WANGWEI
+	 * @param siteId
+	 * @param env
+	 * @param in
+	 * @return
+	 */
+	UpYunPathInfo writeFile(String siteId, UpyunPathEnvironmentInfo env, InputStream in);
+
+	/**
+	 * 写文件
+	 *
+	 * @author WANGWEI
+	 * @param siteId
+	 * @param env
+	 * @param file
+	 * @return
+	 */
+	UpYunPathInfo writeFile(String siteId, UpyunPathEnvironmentInfo env, File file);
+
+}

+ 7 - 6
examcloud-exchange-inner-service/src/main/java/cn/com/qmth/examcloud/exchange/inner/service/impl/UpyunServiceImpl.java

@@ -11,6 +11,7 @@ import cn.com.qmth.examcloud.commons.util.FreeMarkerUtil;
 import cn.com.qmth.examcloud.exchange.inner.service.UpyunService;
 import cn.com.qmth.examcloud.exchange.inner.service.bean.UpyunPathEnvironmentInfo;
 import cn.com.qmth.examcloud.exchange.inner.service.upyun.UpYunClient;
+import cn.com.qmth.examcloud.exchange.inner.service.upyun.UpYunPathInfo;
 import cn.com.qmth.examcloud.exchange.inner.service.upyun.UpyunSite;
 import cn.com.qmth.examcloud.exchange.inner.service.upyun.UpyunSiteManager;
 
@@ -27,27 +28,27 @@ public class UpyunServiceImpl implements UpyunService {
 	protected ExamCloudLog log = ExamCloudLogFactory.getLog(this.getClass());
 
 	@Override
-	public String writeFile(String siteId, UpyunPathEnvironmentInfo env, InputStream in) {
+	public UpYunPathInfo writeFile(String siteId, UpyunPathEnvironmentInfo env, InputStream in) {
 		env.setCurrentTimeMillis(String.valueOf(System.currentTimeMillis()));
 
 		UpyunSite upyunSite = UpyunSiteManager.getUpyunSite(siteId);
 		UpYunClient upYunClient = UpyunSiteManager.getUpYunClient(siteId);
 
 		String path = FreeMarkerUtil.process(upyunSite.getPath(), env);
-		String url = upYunClient.writeFile(path, in);
-		return url;
+		UpYunPathInfo pathInfo = upYunClient.writeFile(path, in);
+		return pathInfo;
 	}
 
 	@Override
-	public String writeFile(String siteId, UpyunPathEnvironmentInfo env, File file) {
+	public UpYunPathInfo writeFile(String siteId, UpyunPathEnvironmentInfo env, File file) {
 		env.setCurrentTimeMillis(String.valueOf(System.currentTimeMillis()));
 
 		UpyunSite upyunSite = UpyunSiteManager.getUpyunSite(siteId);
 		UpYunClient upYunClient = UpyunSiteManager.getUpYunClient(siteId);
 
 		String path = FreeMarkerUtil.process(upyunSite.getPath(), env);
-		String url = upYunClient.writeFile(path, file);
-		return url;
+		UpYunPathInfo pathInfo = upYunClient.writeFile(path, file);
+		return pathInfo;
 	}
 
 }

+ 3 - 3
examcloud-exchange-inner-service/src/main/java/cn/com/qmth/examcloud/exchange/inner/service/upyun/UpYunClient.java

@@ -118,7 +118,7 @@ public class UpYunClient {
 	 * @param file
 	 * @return
 	 */
-	public String writeFile(String filePath, File file) {
+	public UpYunPathInfo writeFile(String filePath, File file) {
 
 		InputStream in = null;
 		try {
@@ -139,7 +139,7 @@ public class UpYunClient {
 	 * @param in
 	 * @return
 	 */
-	public String writeFile(String filePath, InputStream in) {
+	public UpYunPathInfo writeFile(String filePath, InputStream in) {
 		String path = formatPath(filePath);
 		String url = "http://" + API_DOMAIN + path;
 		if (filePath.endsWith(".test")) {
@@ -191,7 +191,7 @@ public class UpYunClient {
 		}
 
 		String fileUrl = "http://" + bucketName + ".b0.upaiyun.com" + filePath;
-		return fileUrl;
+		return new UpYunPathInfo(fileUrl, filePath);
 	}
 
 	/**

+ 44 - 0
examcloud-exchange-inner-service/src/main/java/cn/com/qmth/examcloud/exchange/inner/service/upyun/UpYunPathInfo.java

@@ -0,0 +1,44 @@
+package cn.com.qmth.examcloud.exchange.inner.service.upyun;
+
+/**
+ * 路径
+ *
+ * @author WANGWEI
+ * @date 2019年5月9日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class UpYunPathInfo {
+
+	private String url;
+
+	private String relativePath;
+
+	/**
+	 * 构造函数
+	 *
+	 * @param url
+	 * @param relativePath
+	 */
+	public UpYunPathInfo(String url, String relativePath) {
+		super();
+		this.url = url;
+		this.relativePath = relativePath;
+	}
+
+	public String getUrl() {
+		return url;
+	}
+
+	public void setUrl(String url) {
+		this.url = url;
+	}
+
+	public String getRelativePath() {
+		return relativePath;
+	}
+
+	public void setRelativePath(String relativePath) {
+		this.relativePath = relativePath;
+	}
+
+}

+ 1 - 1
examcloud-exchange-outer-service/src/main/java/cn/com/qmth/examcloud/exchange/outer/service/impl/FaceServiceImpl.java

@@ -91,7 +91,7 @@ public class FaceServiceImpl implements FaceService {
 		env.setRootOrgId(String.valueOf(rootOrgId));
 		env.setUserId(String.valueOf(id));
 
-		String photoUrl = upyunService.writeFile("studentBasePhoto", env, file);
+		String photoUrl = upyunService.writeFile("studentBasePhoto", env, file).getUrl();
 
 		String faceToken = detect(photoUrl);