|
@@ -123,7 +123,7 @@ public class CloudMarkingTaskUtils {
|
|
|
* @param examTime 考试时间
|
|
|
* @return 考试ID
|
|
|
*/
|
|
|
- public Long syncExam(Long schoolId, String code, String name, String examTime) {
|
|
|
+ public Long syncExam(Long schoolId, String code, String name, String examTime, String orgCode) {
|
|
|
SysConfig sysConfig = commonCacheService.addSysConfigCache(schoolId, SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
String hostUrl = sysConfig.getConfigValue();
|
|
@@ -136,6 +136,9 @@ public class CloudMarkingTaskUtils {
|
|
|
map.put("name", validParam(name, null, true, "考试名称"));
|
|
|
map.put("examTime", validParam(examTime, null, true, "考试时间"));
|
|
|
map.put("type", SAVE_EXAM_TYPE);
|
|
|
+ if (StringUtils.isNotBlank(orgCode)) {
|
|
|
+ map.put("schoolCode", orgCode);
|
|
|
+ }
|
|
|
|
|
|
String result = HttpKit.sendPost(postUrl, getHeaders(schoolId, examSaveUrl), map, null, null, null);
|
|
|
JSONObject jsonObject = JSONObject.parseObject(result);
|
|
@@ -152,8 +155,11 @@ public class CloudMarkingTaskUtils {
|
|
|
* @param pageNo 分页参数
|
|
|
* @param pageSize 分页参数
|
|
|
*/
|
|
|
- public List<JSONObject> getExam(Long schoolId, int pageNo, int pageSize) {
|
|
|
+ public List<JSONObject> getExam(Long schoolId, String orgCode, int pageNo, int pageSize) {
|
|
|
Map<String, String> paramMap = new HashMap<>();
|
|
|
+ if (StringUtils.isNotBlank(orgCode)) {
|
|
|
+ paramMap.put("schoolCode", orgCode);
|
|
|
+ }
|
|
|
paramMap.put("pageNumber", String.valueOf(pageNo));
|
|
|
paramMap.put("pageSize", String.valueOf(pageSize));
|
|
|
|
|
@@ -557,11 +563,14 @@ public class CloudMarkingTaskUtils {
|
|
|
/**
|
|
|
* 评卷员登录
|
|
|
*/
|
|
|
- public Map<String, Object> markLogin(SysUser sysUser) {
|
|
|
+ public Map<String, Object> markLogin(SysUser sysUser, String orgCode) {
|
|
|
+ if (this.isCollegeMode(sysUser.getSchoolId()) && StringUtils.isBlank(orgCode)) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception(String.format("用户账号[%s]所属学院代码为空,请联系管理员", sysUser.getLoginName()));
|
|
|
+ }
|
|
|
String markLoginUrl = SystemConstant.CLOUD_MARK_OPEN_MARK_LOGIN_API;
|
|
|
try {
|
|
|
//参数
|
|
|
- return openLogin(sysUser, markLoginUrl, MARKER_PREFIX);
|
|
|
+ return openLogin(sysUser, orgCode, markLoginUrl, MARKER_PREFIX);
|
|
|
} catch (Exception e) {
|
|
|
throw ExceptionResultEnum.ERROR.exception(e.getMessage());
|
|
|
}
|
|
@@ -570,11 +579,14 @@ public class CloudMarkingTaskUtils {
|
|
|
/**
|
|
|
* 科组长登录
|
|
|
*/
|
|
|
- public Map<String, Object> markLeaderLogin(SysUser sysUser) {
|
|
|
+ public Map<String, Object> markLeaderLogin(SysUser sysUser, String orgCode) {
|
|
|
+ if (this.isCollegeMode(sysUser.getSchoolId()) && StringUtils.isBlank(orgCode)) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception(String.format("用户账号[%s]所属学院代码为空,请联系管理员", sysUser.getLoginName()));
|
|
|
+ }
|
|
|
String markLeaderLoginUrl = SystemConstant.CLOUD_MARK_OPEN_SUBJECT_HEADER_LOGIN_API;
|
|
|
try {
|
|
|
//参数
|
|
|
- return openLogin(sysUser, markLeaderLoginUrl, MARKER_LEADER_PREFIX);
|
|
|
+ return openLogin(sysUser, orgCode, markLeaderLoginUrl, MARKER_LEADER_PREFIX);
|
|
|
} catch (Exception e) {
|
|
|
throw ExceptionResultEnum.ERROR.exception(e.getMessage());
|
|
|
}
|
|
@@ -586,7 +598,7 @@ public class CloudMarkingTaskUtils {
|
|
|
* @param loginUrl 登录url
|
|
|
* @param prefix 账号前缀
|
|
|
*/
|
|
|
- private Map<String, Object> openLogin(SysUser sysUser, String loginUrl, String prefix) {
|
|
|
+ private Map<String, Object> openLogin(SysUser sysUser, String orgCode, String loginUrl, String prefix) {
|
|
|
SysConfig sysConfig = commonCacheService.addSysConfigCache(sysUser.getSchoolId(), SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
String hostUrl = sysConfig.getConfigValue();
|
|
@@ -600,6 +612,9 @@ public class CloudMarkingTaskUtils {
|
|
|
map.put("account", prefix + sysUser.getLoginName());
|
|
|
map.put("name", sysUser.getLoginName());
|
|
|
map.put("time", time);
|
|
|
+ if (this.isCollegeMode(sysUser.getSchoolId())) {
|
|
|
+ map.put("schoolCode", orgCode);
|
|
|
+ }
|
|
|
map.put("authorization", createSign(sysUser.getSchoolId(), time, loginUrl));
|
|
|
return map;
|
|
|
} catch (Exception e) {
|