|
@@ -142,7 +142,7 @@ public class TEMobileServiceImpl implements TEMobileService {
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
- private MobileAuthorizationBean answerUploadAuthorization(MobileModeEnum mode, String code) {
|
|
|
+ private MobileAuthorizationBean answerUploadAuthorization(MobileModeEnum mode, String code) throws NoSuchAlgorithmException {
|
|
|
Long recordId = MobileAuthCacheUtil.getRecordId(mode, code);
|
|
|
Integer mainNumber = MobileAuthCacheUtil.getMainNumber(mode, code);
|
|
|
Integer subNumber = MobileAuthCacheUtil.getSubNumber(mode, code);
|
|
@@ -150,6 +150,20 @@ public class TEMobileServiceImpl implements TEMobileService {
|
|
|
if (MobileAuthCacheUtil.getMode(mode, code) == null) {
|
|
|
throw new BusinessException("二维码已过期");
|
|
|
}
|
|
|
+ Map<String, Object> objectMap = redisUtil.getHashEntries(RedisKeyHelper.mobileAuthCacheKey(mode, code));
|
|
|
+ ExamStudentCacheBean es = examStudentService
|
|
|
+ .getExamStudentCacheBean(ExamRecordCacheUtil.getExamStudentId(recordId));
|
|
|
+ String source = null;
|
|
|
+ if (mode.equals(MobileModeEnum.MOBILE_MONITOR)) {
|
|
|
+ Source sourceEnum = MobileAuthCacheUtil.getSource(mode, code);
|
|
|
+ source = sourceEnum.name();
|
|
|
+ } else if (mode.equals(MobileModeEnum.PHOTO_UPLOAD) || mode.equals(MobileModeEnum.AUDIO_UPLOAD)) {
|
|
|
+ source = Source.OE_ANSWER.name();
|
|
|
+ }
|
|
|
+ AuthDto authDto = (AuthDto) redisUtil.get(SystemConstant.studentOauth + "::" + es.getStudentId());
|
|
|
+ String sessionId = SessionUtil.digest(es.getIdentity(), Math.abs(authDto.getRoleCodes().toString().hashCode()), source);
|
|
|
+ objectMap.put("sessionId", sessionId);
|
|
|
+ redisUtil.setForHash(RedisKeyHelper.mobileAuthCacheKey(mode, code), objectMap);
|
|
|
MobileAuthorizationUploadBean ret = new MobileAuthorizationUploadBean();
|
|
|
ret.setRecordId(recordId);
|
|
|
ret.setMainNumber(mainNumber);
|