瀏覽代碼

3.3.0 update

ting.yin 1 年之前
父節點
當前提交
9161183ae6

+ 27 - 14
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkController.java

@@ -1,17 +1,28 @@
 package com.qmth.distributed.print.api.mark;
 
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.service.SysUserService;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.mark.params.MarkResult;
 import com.qmth.teachcloud.mark.service.MarkService;
-import io.swagger.annotations.Api;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletRequest;
+import io.lettuce.core.GeoArgs.Sort;
+import io.swagger.annotations.Api;
 
 /**
  * <p>
@@ -28,6 +39,8 @@ public class MarkController {
 
     @Autowired
     private MarkService markService;
+    @Autowired
+    private SysUserService userService;
 
     @RequestMapping(value = "/getSetting", method = RequestMethod.POST)
     public Result getSetting(@RequestParam Long examId, @RequestParam String paperNumber,
@@ -60,29 +73,29 @@ public class MarkController {
     @RequestMapping(value = "/saveTask")
     public Result saveTask(HttpServletRequest request, @RequestBody MarkResult markResult) {
         SysUser user = (SysUser) ServletUtil.getRequestUser();
-        return ResultUtil.ok(true);
+        return ResultUtil.ok(markService.saveTask(user.getId(),markResult));
     }
 
     @RequestMapping(value = "/getHistory", method = RequestMethod.POST)
-    public Result getHistory(HttpServletRequest request, @RequestParam int pageNumber,
-                             @RequestParam int pageSize, @RequestParam String order, @RequestParam String sort,
-                             @RequestParam(required = false) String secretNumber, @RequestParam(required = false) Double markerScore) {
+    public Result getHistory(@RequestParam int pageNumber,@RequestParam int pageSize, @RequestParam String order, @RequestParam String sort,
+    		@RequestParam Long examId, @RequestParam String paperNumber,
+            @RequestParam Integer groupNumber,@RequestParam(required = false) String secretNumber, @RequestParam(required = false) Double markerScore) {
         SysUser user = (SysUser) ServletUtil.getRequestUser();
-        return ResultUtil.ok(markService.getHistory(user.getId()));
+        return ResultUtil.ok(markService.getHistory(user.getId(),pageNumber,pageSize,Sort.valueOf(order), examId, paperNumber,groupNumber,secretNumber,markerScore));
     }
 
     @RequestMapping(value = "/updateSetting", method = RequestMethod.POST)
-    public Result updateSetting(HttpServletRequest request, @RequestParam(required = false) String uiSetting,
-                                @RequestParam(required = false) String mode) {
+    public Result updateSetting(HttpServletRequest request, @RequestParam String uiSetting) {
         SysUser user = (SysUser) ServletUtil.getRequestUser();
-        
+        userService.updateUiSetting(user.getId(),StringEscapeUtils.unescapeHtml(StringUtils.trimToNull(uiSetting)));
         return ResultUtil.ok(true);
     }
 
     @RequestMapping("/clear")
-    public Result clear(HttpServletRequest request) {
+    public Result clear(@RequestParam Long examId, @RequestParam String paperNumber,
+            @RequestParam Integer groupNumber) {
         SysUser user = (SysUser) ServletUtil.getRequestUser();
-        markService.clear(user.getId());
+        markService.clear(user.getId(), examId, paperNumber, groupNumber);
         return ResultUtil.ok(true);
     }
 }

+ 2 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysUserService.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.common.bean.dto.AssignTeacherDto;
 import com.qmth.teachcloud.common.bean.dto.LoginDto;
 import com.qmth.teachcloud.common.bean.dto.UserDto;
-import com.qmth.teachcloud.common.bean.dto.UserRoleDto;
 import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
 import com.qmth.teachcloud.common.bean.params.UserSaveParams;
 import com.qmth.teachcloud.common.bean.params.UserSaveReportParams;
@@ -294,4 +293,6 @@ public interface SysUserService extends IService<SysUser> {
     List<SysUserResult> findCourseSysUserResultByTeachIdSet(Set<Long> teachIdSet);
 
     SysUser getByUserId(Long userId);
+
+	void updateUiSetting(Long userId, String unescapeHtml);
 }

+ 9 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java

@@ -24,6 +24,7 @@ import com.qmth.teachcloud.common.enums.userPush.SpecialPrivilegeEnum;
 import com.qmth.teachcloud.common.mapper.SysUserMapper;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.*;
+
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -1280,4 +1281,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         }
         return roleIdList;
     }
+
+	@Override
+	public void updateUiSetting(Long userId, String uiSetting) {
+		UpdateWrapper<SysUser> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().set(SysUser::getUiSetting, uiSetting)
+                .eq(SysUser::getId, userId);
+        this.update(updateWrapper);
+	}
 }

+ 35 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/mark/SubmitResult.java

@@ -0,0 +1,35 @@
+package com.qmth.teachcloud.mark.dto.mark.mark;
+
+import com.qmth.teachcloud.mark.entity.MarkTask;
+
+/**
+ * 评卷提交结果状态
+ */
+public class SubmitResult {
+
+    private boolean success;
+
+    private MarkTask markLibrary;
+
+    public static SubmitResult faile() {
+        return new SubmitResult(false, null);
+    }
+
+    public static SubmitResult success(MarkTask library) {
+        return new SubmitResult(true, library);
+    }
+
+    private SubmitResult(boolean success, MarkTask markLibrary) {
+        this.success = success;
+        this.markLibrary = markLibrary;
+    }
+
+    public boolean isSuccess() {
+        return success;
+    }
+
+    public MarkTask getMarkLibrary() {
+        return markLibrary;
+    }
+
+}

+ 10 - 4
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkService.java

@@ -2,6 +2,7 @@ package com.qmth.teachcloud.mark.service;
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.mark.dto.mark.mark.*;
 import com.qmth.teachcloud.mark.entity.MarkGroup;
@@ -12,6 +13,8 @@ import com.qmth.teachcloud.mark.entity.MarkUserGroup;
 import com.qmth.teachcloud.mark.params.MarkHeaderGroupResult;
 import com.qmth.teachcloud.mark.params.MarkResult;
 
+import io.lettuce.core.GeoArgs.Sort;
+
 /**
  * <p>
  * 评卷相关 服务类
@@ -54,10 +57,6 @@ public interface MarkService {
 
 	MarkTaskDto getTask(Long userId, Long examId, String paperNumber);
 
-	List<MarkTaskDto> getHistory(Long userId);
-
-	void clear(Long userId);
-
     void deleteMarkGroup(MarkGroup markGroup);
 
     /**
@@ -74,4 +73,11 @@ public interface MarkService {
     boolean applyStudent(MarkStudent student, Long userId);
 
     void submitHeaderTask(MarkHeaderGroupResult markResult, MarkUserGroup markUserGroup);
+
+	IPage<MarkTaskDto> getHistory(Long userId, int pageNumber, int pageSize, Sort sort, Long examId, String paperNumber,
+			Integer groupNumber, String secretNumber, Double markerScore);
+
+	String saveTask(Long userId, MarkResult markResult);
+
+	void clear(Long userId, Long examId, String paperNumber, Integer groupNumber);
 }

+ 7 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkTaskService.java

@@ -2,10 +2,14 @@ package com.qmth.teachcloud.mark.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.qmth.teachcloud.mark.dto.mark.manage.MarkManageDto;
+import com.qmth.teachcloud.mark.dto.mark.mark.MarkTaskDto;
 import com.qmth.teachcloud.mark.entity.MarkTask;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.mark.enums.MarkTaskStatus;
 
+import io.lettuce.core.GeoArgs.Sort;
+
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
@@ -53,4 +57,7 @@ public interface MarkTaskService extends IService<MarkTask> {
 	int countByExamIdAndPaperNumberAndGroupNumberAndUserIdAndStatusIn(Long examId, String paperNumber, Integer groupNumber, Long userId, MarkTaskStatus... status);
 
     void deleteByExamIdAndPaperNumberAndGroupNumber(Long examId, String paperNumber, Integer groupNumber);
+
+	IPage<MarkTaskDto> listPageHistory(Page<MarkTaskDto> page, Sort sort, Long userId, Long examId, String paperNumber,
+			Integer groupNumber, String secretNumber, Double markerScore);
 }

+ 64 - 21
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkServiceImpl.java

@@ -1,15 +1,46 @@
 package com.qmth.teachcloud.mark.service.impl;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import javax.annotation.Resource;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.teachcloud.common.entity.MarkQuestion;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.enums.mark.*;
+import com.qmth.teachcloud.common.enums.mark.MarkArbitrateStatus;
+import com.qmth.teachcloud.common.enums.mark.MarkPaperStatus;
+import com.qmth.teachcloud.common.enums.mark.MarkProblemStatus;
+import com.qmth.teachcloud.common.enums.mark.MarkProblemType;
+import com.qmth.teachcloud.common.enums.mark.SubjectiveStatus;
 import com.qmth.teachcloud.mark.dto.mark.ScoreItem;
 import com.qmth.teachcloud.mark.dto.mark.mark.MarkGroupDto;
 import com.qmth.teachcloud.mark.dto.mark.mark.MarkSettingDto;
 import com.qmth.teachcloud.mark.dto.mark.mark.MarkStatusDto;
 import com.qmth.teachcloud.mark.dto.mark.mark.MarkTaskDto;
-import com.qmth.teachcloud.mark.entity.*;
+import com.qmth.teachcloud.mark.entity.MarkArbitrateHistory;
+import com.qmth.teachcloud.mark.entity.MarkGroup;
+import com.qmth.teachcloud.mark.entity.MarkGroupStudent;
+import com.qmth.teachcloud.mark.entity.MarkHeaderTrack;
+import com.qmth.teachcloud.mark.entity.MarkPaper;
+import com.qmth.teachcloud.mark.entity.MarkStudent;
+import com.qmth.teachcloud.mark.entity.MarkSubjectiveScore;
+import com.qmth.teachcloud.mark.entity.MarkTask;
+import com.qmth.teachcloud.mark.entity.MarkUserGroup;
 import com.qmth.teachcloud.mark.enums.ExamType;
 import com.qmth.teachcloud.mark.enums.LockType;
 import com.qmth.teachcloud.mark.enums.MarkTaskStatus;
@@ -17,20 +48,24 @@ import com.qmth.teachcloud.mark.enums.ScorePolicy;
 import com.qmth.teachcloud.mark.lock.LockService;
 import com.qmth.teachcloud.mark.params.MarkHeaderGroupResult;
 import com.qmth.teachcloud.mark.params.MarkResult;
-import com.qmth.teachcloud.mark.service.*;
+import com.qmth.teachcloud.mark.service.MarkArbitrateHistoryService;
+import com.qmth.teachcloud.mark.service.MarkGroupService;
+import com.qmth.teachcloud.mark.service.MarkGroupStudentService;
+import com.qmth.teachcloud.mark.service.MarkHeaderTrackService;
+import com.qmth.teachcloud.mark.service.MarkPaperService;
+import com.qmth.teachcloud.mark.service.MarkProblemHistoryService;
+import com.qmth.teachcloud.mark.service.MarkQuestionService;
+import com.qmth.teachcloud.mark.service.MarkService;
+import com.qmth.teachcloud.mark.service.MarkStudentService;
+import com.qmth.teachcloud.mark.service.MarkSubjectiveScoreService;
+import com.qmth.teachcloud.mark.service.MarkTaskService;
+import com.qmth.teachcloud.mark.service.MarkTrackService;
+import com.qmth.teachcloud.mark.service.MarkUserGroupService;
 import com.qmth.teachcloud.mark.utils.BigDecimalUtils;
 import com.qmth.teachcloud.mark.utils.TaskLock;
 import com.qmth.teachcloud.mark.utils.TaskLockUtil;
-import org.apache.commons.collections4.CollectionUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
+import io.lettuce.core.GeoArgs.Sort;
 
 @Service
 public class MarkServiceImpl implements MarkService {
@@ -694,15 +729,10 @@ public class MarkServiceImpl implements MarkService {
     }
 
     @Override
-    public List<MarkTaskDto> getHistory(Long userId) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
-    public void clear(Long userId) {
-        // TODO Auto-generated method stub
-
+    public void clear(Long userId, Long examId, String paperNumber,Integer groupNumber) {
+    	MarkUserGroup markUserGroup = markUserGroupService.getByExamIdAndPaperNumberAndGroupNumberAndUserId(userId, null, null, userId);
+    	TaskLock taskLock = TaskLockUtil.getFormalTask(getGroupKey(markUserGroup));
+    	taskLock.clear(markUserGroup.getId());
     }
 
     @Override
@@ -795,4 +825,17 @@ public class MarkServiceImpl implements MarkService {
     private String getKey(MarkStudent student) {
         return student.getExamId() + "_" + student.getPaperNumber();
     }
+
+	@Override
+	public IPage<MarkTaskDto> getHistory(Long userId, int pageNumber, int pageSize, Sort sort, Long examId,
+			String paperNumber, Integer groupNumber, String secretNumber, Double markerScore) {
+		IPage<MarkTaskDto> list = markTaskService.listPageHistory(new Page<>(pageNumber,pageSize),sort,userId,examId,paperNumber,groupNumber,secretNumber,markerScore);
+		return null;
+	}
+
+	@Override
+	public String saveTask(Long userId, MarkResult markResult) {
+		// TODO Auto-generated method stub
+		return null;
+	}
 }

+ 10 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkTaskServiceImpl.java

@@ -14,6 +14,7 @@ import com.qmth.teachcloud.common.util.ExcelUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.mark.dto.mark.manage.MarkManageDto;
 import com.qmth.teachcloud.mark.dto.mark.manage.MarkerInfoDto;
+import com.qmth.teachcloud.mark.dto.mark.mark.MarkTaskDto;
 import com.qmth.teachcloud.mark.entity.MarkGroup;
 import com.qmth.teachcloud.mark.entity.MarkTask;
 import com.qmth.teachcloud.mark.enums.MarkTaskStatus;
@@ -21,6 +22,9 @@ import com.qmth.teachcloud.mark.mapper.MarkTaskMapper;
 import com.qmth.teachcloud.mark.service.MarkGroupService;
 import com.qmth.teachcloud.mark.service.MarkQuestionService;
 import com.qmth.teachcloud.mark.service.MarkTaskService;
+
+import io.lettuce.core.GeoArgs.Sort;
+
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
@@ -234,4 +238,10 @@ public class MarkTaskServiceImpl extends ServiceImpl<MarkTaskMapper, MarkTask> i
                 .eq(MarkTask::getGroupNumber, groupNumber);
         this.remove(updateWrapper);
     }
+
+	@Override
+	public IPage<MarkTaskDto> listPageHistory(Page<MarkTaskDto> page, Sort sort, Long userId, Long examId,
+			String paperNumber, Integer groupNumber, String secretNumber, Double markerScore) {
+		return null;
+	}
 }