ting.yin 8 éve
szülő
commit
40d60af804

+ 7 - 0
core-api/src/main/java/cn/com/qmth/examcloud/service/core/api/UserApi.java

@@ -245,6 +245,13 @@ public class UserApi {
         AccessUser accessUser = (AccessUser) request.getAttribute("accessUser");
         return new ResponseEntity(userService.getMarker(accessUser.getRootOrgId()), HttpStatus.OK);
     }
+    
+    @ApiOperation(value = "新增评卷员", notes = "新增")
+    @GetMapping("/marker")
+    public ResponseEntity saveMarker(@RequestParam String loginName,@RequestParam String name,HttpServletRequest request) {
+        AccessUser accessUser = (AccessUser) request.getAttribute("accessUser");
+        return new ResponseEntity(userService.saveMarker(accessUser.getRootOrgId(),loginName,name), HttpStatus.OK);
+    }
 
     @ApiOperation(value = "校验token", notes = "校验token")
     @GetMapping("/checkToken")

+ 44 - 7
core-api/src/main/java/cn/com/qmth/examcloud/service/core/service/UserService.java

@@ -2,13 +2,17 @@ package cn.com.qmth.examcloud.service.core.service;
 
 import static org.springframework.data.domain.ExampleMatcher.GenericPropertyMatchers.contains;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 
-import cn.com.qmth.examcloud.common.uac.AccessUserOps;
-import cn.com.qmth.examcloud.common.uac.AccessUserOpsForRedis;
-import cn.com.qmth.examcloud.service.core.entity.*;
-import cn.com.qmth.examcloud.service.core.repo.*;
+import javax.persistence.criteria.Predicate;
+
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Example;
@@ -20,14 +24,26 @@ import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
 import cn.com.qmth.examcloud.common.uac.AccessCtrlUtil;
+import cn.com.qmth.examcloud.common.uac.AccessUserOps;
+import cn.com.qmth.examcloud.common.uac.AccessUserOpsForRedis;
 import cn.com.qmth.examcloud.common.uac.entity.AccessUser;
 import cn.com.qmth.examcloud.common.uac.enums.RoleMeta;
 import cn.com.qmth.examcloud.service.core.dto.UserInfo;
+import cn.com.qmth.examcloud.service.core.entity.Org;
+import cn.com.qmth.examcloud.service.core.entity.Student;
+import cn.com.qmth.examcloud.service.core.entity.User;
+import cn.com.qmth.examcloud.service.core.entity.UserLogin;
+import cn.com.qmth.examcloud.service.core.entity.UserOpsLog;
+import cn.com.qmth.examcloud.service.core.entity.UserRole;
 import cn.com.qmth.examcloud.service.core.enums.UserScope;
 import cn.com.qmth.examcloud.service.core.enums.UserType;
 import cn.com.qmth.examcloud.service.core.params.UserParam;
-
-import javax.persistence.criteria.Predicate;
+import cn.com.qmth.examcloud.service.core.repo.OrgRepo;
+import cn.com.qmth.examcloud.service.core.repo.StudentRepo;
+import cn.com.qmth.examcloud.service.core.repo.UserLoginRepo;
+import cn.com.qmth.examcloud.service.core.repo.UserOpsLogRepo;
+import cn.com.qmth.examcloud.service.core.repo.UserRepo;
+import cn.com.qmth.examcloud.service.core.repo.UserRoleRepo;
 
 /**
  * 用户服务类
@@ -327,4 +343,25 @@ public class UserService {
 		return userRepo.save(user);
 	}
 
+	public User saveMarker(Long rootOrgId, String loginName,String name) {
+		User old = userRepo.findByRootOrgIdAndLoginName(rootOrgId,loginName);
+		if(old!=null){
+			return old;
+		}
+		User user = new User();
+		user.setName(name);
+		user.setLoginName(loginName);
+		user.setEnable(true);
+		user.setOrgId(rootOrgId);
+		user.setPassword(loginName);
+		UserRole userRole = new UserRole(RoleMeta.MARKER.getAppCode(), RoleMeta.MARKER.toString());
+		List<UserRole> userRoles = new LinkedList<UserRole>();
+		userRoles.add(userRole);
+		user.setUserRoles(userRoles);
+		user.setScope(UserScope.ORG);
+		user.setType(UserType.NOT_STUDENT);
+		user.setCreateTime(new Date());
+		return userRepo.save(user);
+	}
+
 }