Explorar el Código

修改用户角色模型

宋悦 hace 8 años
padre
commit
8c3c9317e0

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

@@ -14,6 +14,7 @@ import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -78,12 +79,14 @@ public class UserApi {
         }
         user.setScope(UserScope.ORG);
         user.setType(UserType.NOT_STUDENT);
+        user.setCreateTime(new Date());
         return new ResponseEntity(userRepo.save(user), HttpStatus.CREATED);
     }
 
     @ApiOperation(value="更新用户",notes="更新")
     @PutMapping
     public ResponseEntity updateUser(@RequestBody User user){
+        user.setUpdateTime(new Date());
         return new ResponseEntity(userRepo.save(user), HttpStatus.OK);
     }
 
@@ -106,6 +109,7 @@ public class UserApi {
         for(Long userId:userIds){
             User user = userRepo.findOne(userId);
             user.setEnable(true);
+            user.setUpdateTime(new Date());
             userRepo.save(user);
         }
         return new ResponseEntity(HttpStatus.OK);
@@ -119,6 +123,7 @@ public class UserApi {
         for(Long userId:userIds){
             User user = userRepo.findOne(userId);
             user.setEnable(false);
+            user.setUpdateTime(new Date());
             userRepo.save(user);
         }
         return new ResponseEntity(HttpStatus.OK);

+ 11 - 6
core-api/src/main/java/cn/com/qmth/examcloud/service/core/api/UserRoleApi.java

@@ -1,8 +1,10 @@
 package cn.com.qmth.examcloud.service.core.api;
 
+import cn.com.qmth.examcloud.service.core.entity.User;
 import cn.com.qmth.examcloud.service.core.entity.UserRole;
+import cn.com.qmth.examcloud.service.core.repo.UserRepo;
 import cn.com.qmth.examcloud.service.core.repo.UserRoleRepo;
-import cn.com.qmth.examcloud.service.core.service.UserService;
+import cn.com.qmth.examcloud.service.core.service.UserRoleService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -18,15 +20,18 @@ import org.springframework.web.bind.annotation.*;
 public class UserRoleApi {
 
     @Autowired
-    UserService userRoleService;
+    UserRoleService userRoleService;
 
     @Autowired
     UserRoleRepo userRoleRepo;
 
-    @ApiOperation(value="按userId查询用户角色",notes="id查询角色")
-    @GetMapping("/{userId}")
-    public ResponseEntity getRoleByUserId(@PathVariable Long userId){
-        return new ResponseEntity(userRoleRepo.findByUserId(userId), HttpStatus.OK);
+    @Autowired
+    UserRepo userRepo;
+
+    @ApiOperation(value="获取全部角色",notes="获取全部角色")
+    @GetMapping("/all")
+    public ResponseEntity getAllRoles(){
+        return new ResponseEntity(userRoleService.findAllRoles(), HttpStatus.OK);
     }
 
     @ApiOperation(value="新增用户角色",notes="新增角色")

+ 18 - 1
core-api/src/main/java/cn/com/qmth/examcloud/service/core/service/UserRoleService.java

@@ -1,14 +1,31 @@
 package cn.com.qmth.examcloud.service.core.service;
 
+import cn.com.qmth.examcloud.common.uac.entity.Role;
+import cn.com.qmth.examcloud.common.uac.entity.RolesService;
 import cn.com.qmth.examcloud.service.core.repo.UserRoleRepo;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * 用户角色服务类
  * Created by songyue on 17/2/22.
  */
-public class UserRoleService {
+@Service
+public class UserRoleService{
 
     @Autowired
     UserRoleRepo userRoleRepo;
+
+
+    /**
+     * 获取全部角色
+     * @return
+     */
+    public List<Role> findAllRoles(){
+        return RolesService.ROLE_LIST;
+    }
+
+
 }

+ 4 - 1
core-api/src/main/java/cn/com/qmth/examcloud/service/core/service/UserService.java

@@ -1,5 +1,7 @@
 package cn.com.qmth.examcloud.service.core.service;
 
+import java.util.Date;
+import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
@@ -76,6 +78,7 @@ public class UserService {
             Student student = studentRepo.findByUserId(userId);
             user.setPassword(StringUtils.substring(student.getIdentityNumber(),-6,-1));
         }
+        user.setUpdateTime(new Date());
         userRepo.save(user);
     }
 
@@ -133,7 +136,7 @@ public class UserService {
      */
     public void createAccessUser(String token,User user,Long studentId){
         AccessUser accessUser = new AccessUser();
-        Set<UserRole> userRoleSet = userRoleRepo.findByUserId(user.getId());
+        Set<UserRole> userRoleSet = new HashSet<UserRole>(user.getUserRoles());
         Map<String,Set<String>> rolesMap = userRoleSet.stream()
                 .collect(Collectors.groupingBy(UserRole::getAppCode,
                         Collectors.mapping(UserRole::getRoleCode,Collectors.toSet())));

+ 9 - 0
core-domain/src/main/java/cn/com/qmth/examcloud/service/core/entity/User.java

@@ -58,6 +58,7 @@ public class User implements Serializable{
     private Boolean enable;
 
     @OneToMany(cascade = { CascadeType.ALL })
+    @JoinColumn(name="user_id")
     private List<UserRole> userRoles;
 
     @Temporal(value = TemporalType.DATE)
@@ -184,6 +185,14 @@ public class User implements Serializable{
         this.updateTime = updateTime;
     }
 
+    public List<UserRole> getUserRoles() {
+        return userRoles;
+    }
+
+    public void setUserRoles(List<UserRole> userRoles) {
+        this.userRoles = userRoles;
+    }
+
     public User() {
     }
     

+ 4 - 10
core-domain/src/main/java/cn/com/qmth/examcloud/service/core/entity/UserRole.java

@@ -1,7 +1,9 @@
 package cn.com.qmth.examcloud.service.core.entity;
 
 import javax.persistence.*;
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * Created by songyue on 17/2/22.
@@ -15,10 +17,10 @@ public class UserRole implements Serializable{
     @GeneratedValue
     private Long id;
 
-    private Long userId;
-
+    @NotNull
     private String appCode;
 
+    @NotNull
     private String roleCode;
 
     public static long getSerialVersionUID() {
@@ -33,14 +35,6 @@ public class UserRole implements Serializable{
         this.id = id;
     }
 
-    public Long getUserId() {
-        return userId;
-    }
-
-    public void setUserId(Long userId) {
-        this.userId = userId;
-    }
-
     public String getAppCode() {
         return appCode;
     }

+ 1 - 2
core-domain/src/main/java/cn/com/qmth/examcloud/service/core/repo/UserRoleRepo.java

@@ -1,5 +1,6 @@
 package cn.com.qmth.examcloud.service.core.repo;
 
+import cn.com.qmth.examcloud.service.core.entity.User;
 import cn.com.qmth.examcloud.service.core.entity.UserRole;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.repository.query.QueryByExampleExecutor;
@@ -10,6 +11,4 @@ import java.util.Set;
  * Created by songyue on 17/2/22.
  */
 public interface UserRoleRepo extends JpaRepository<UserRole,Long>,QueryByExampleExecutor<UserRole> {
-
-    Set<UserRole> findByUserId(long userId);
 }