|
@@ -1,6 +1,7 @@
|
|
|
package com.qmth.themis.business.service.impl;
|
|
|
|
|
|
import com.qmth.themis.business.bean.exam.MobileAnswerSubmitReponseBean;
|
|
|
+import com.qmth.themis.business.bean.exam.VersionBean;
|
|
|
import com.qmth.themis.business.bean.mobile.MobileAuthorizationBean;
|
|
|
import com.qmth.themis.business.bean.mobile.MobileAuthorizationMonitorBean;
|
|
|
import com.qmth.themis.business.bean.mobile.MobileAuthorizationParamBean;
|
|
@@ -15,12 +16,10 @@ import com.qmth.themis.business.constant.SystemConstant;
|
|
|
import com.qmth.themis.business.dto.AuthDto;
|
|
|
import com.qmth.themis.business.dto.ExpireTimeDTO;
|
|
|
import com.qmth.themis.business.dto.MqDto;
|
|
|
+import com.qmth.themis.business.entity.TBAppVersion;
|
|
|
import com.qmth.themis.business.entity.TBSession;
|
|
|
import com.qmth.themis.business.enums.*;
|
|
|
-import com.qmth.themis.business.service.MqDtoService;
|
|
|
-import com.qmth.themis.business.service.TEExamService;
|
|
|
-import com.qmth.themis.business.service.TEExamStudentService;
|
|
|
-import com.qmth.themis.business.service.TEMobileService;
|
|
|
+import com.qmth.themis.business.service.*;
|
|
|
import com.qmth.themis.business.util.*;
|
|
|
import com.qmth.themis.common.enums.ExceptionResultEnum;
|
|
|
import com.qmth.themis.common.enums.Platform;
|
|
@@ -54,16 +53,25 @@ public class TEMobileServiceImpl implements TEMobileService {
|
|
|
@Resource
|
|
|
MqUtil mqUtil;
|
|
|
|
|
|
+ @Resource
|
|
|
+ TBAppVersionService tbAppVersionService;
|
|
|
+
|
|
|
@Override
|
|
|
public MobileAuthorizationBean authorization(MobileAuthorizationParamBean param) throws NoSuchAlgorithmException {
|
|
|
MobileModeEnum mode = MobileModeEnum.valueOf(param.getMode().toUpperCase());
|
|
|
String code = param.getCode();
|
|
|
MobileAuthorizationBean ret = null;
|
|
|
Source source = null;
|
|
|
+ Platform platform = Platform.valueOf(ServletUtil.getRequestPlatform());
|
|
|
if (MobileModeEnum.MOBILE_MONITOR.equals(mode)) {
|
|
|
MobileAuthorizationMonitorBean mb = new MobileAuthorizationMonitorBean();
|
|
|
ret = mb;
|
|
|
source = monitorAuthorization(mode, code, mb);
|
|
|
+ TBAppVersion tbAppVersion = tbAppVersionService.getMaxAppVersion(platform.name());
|
|
|
+ if (Objects.nonNull(tbAppVersion)) {
|
|
|
+ VersionBean versionBean = new VersionBean(tbAppVersion.getName(), tbAppVersion.getValue(), tbAppVersion.getUrl());
|
|
|
+ ret.setVersion(versionBean);
|
|
|
+ }
|
|
|
} else if (MobileModeEnum.PHOTO_UPLOAD.equals(mode) || MobileModeEnum.AUDIO_UPLOAD.equals(mode)) {
|
|
|
MobileAuthorizationUploadBean ub = new MobileAuthorizationUploadBean();
|
|
|
ret = ub;
|
|
@@ -81,7 +89,6 @@ public class TEMobileServiceImpl implements TEMobileService {
|
|
|
if (ExamRecordStatusEnum.FINISHED.equals(sta) || ExamRecordStatusEnum.PERSISTED.equals(sta)) {
|
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_ALREADY_FINISHED);
|
|
|
}
|
|
|
- Platform platform = Platform.valueOf(ServletUtil.getRequestPlatform());
|
|
|
String deviceId = ServletUtil.getRequestDeviceId();
|
|
|
AuthDto authDto = (AuthDto) redisUtil.get(SystemConstant.studentOauth + es.getStudentId());
|
|
|
// 生成token
|