wangwei 7 жил өмнө
parent
commit
6c1f27f383

+ 21 - 3
examcloud-exchange-outer-service/src/main/java/cn/com/qmth/examcloud/exchange/outer/service/FaceppService.java

@@ -257,9 +257,8 @@ public class FaceppService {
 						throw new FaceppException(identityNumber + "获取token失败");
 					}
 					String facesetToken = studentFaceInfoClient.getFaceSet(userToken);
-					ResponseEntity<StudentFaceInfo> studentFaceInfoResponseEntity = studentFaceInfoClient
-							.getByIdentityNumber(userToken, identityNumber, rootOrgId);
-					StudentFaceInfo studentFaceInfo = studentFaceInfoResponseEntity.getBody();
+					StudentFaceInfo studentFaceInfo = getStudentFaceInfo(userToken, identityNumber,
+							rootOrgId);
 					if (addFace(faceToken, facesetToken)) {
 						String photoMD5 = upyunFileName + "." + suffix;
 						saveStudentFaceInfo(studentFaceInfo, photoMD5, faceToken, facesetToken,
@@ -277,6 +276,25 @@ public class FaceppService {
 		}
 	}
 
+	/**
+	 * 方法注释
+	 *
+	 * @author WANGWEI
+	 * @param userToken
+	 * @param identityNumber
+	 * @param rootOrgId
+	 * @return
+	 */
+	private StudentFaceInfo getStudentFaceInfo(String userToken, String identityNumber,
+			Long rootOrgId) {
+		ResponseEntity<StudentFaceInfo> respEntity = studentFaceInfoClient
+				.getByIdentityNumber(userToken, identityNumber, rootOrgId);
+
+		StudentFaceInfo studentFaceInfo = respEntity.getBody();
+
+		return studentFaceInfo;
+	}
+
 	/**
 	 * 保存studentFaceInfo
 	 * 

+ 9 - 2
examcloud-exchange-outer-service/src/main/java/cn/com/qmth/examcloud/exchange/outer/service/impl/UpyunServiceImpl.java

@@ -18,6 +18,8 @@ import main.java.com.UpYun;
 @Service
 public class UpyunServiceImpl implements UpyunService {
 
+	private final Object LOCK = new Object();
+
 	private UpYun upyun;
 
 	@Value("${app.upyun.path}")
@@ -33,8 +35,13 @@ public class UpyunServiceImpl implements UpyunService {
 	private String password;
 
 	private UpYun getUpyun() {
-		if (upyun == null) {
-			upyun = new UpYun(bucket, operator, password);
+		// modified by wangwei.
+		if (null == upyun) {
+			synchronized (LOCK) {
+				if (null == upyun) {
+					upyun = new UpYun(bucket, operator, password);
+				}
+			}
 		}
 		return upyun;
 	}