Browse Source

密保设置逻辑修改

wangmh 7 years ago
parent
commit
caccbf7a5e

+ 1 - 1
sso-server/src/main/java/com/uas/sso/entity/User.java

@@ -203,7 +203,7 @@ public class User implements Serializable {
      * 所在企业
      */
     @com.fasterxml.jackson.annotation.JsonIgnore
-    @ManyToMany(mappedBy = "users")
+    @ManyToMany(mappedBy = "users", fetch = FetchType.LAZY)
     private Set<Userspace> userSpaces = new HashSet<>();
 
     public User() {

+ 1 - 1
sso-server/src/main/java/com/uas/sso/entity/UserQuestion.java

@@ -38,7 +38,7 @@ public class UserQuestion implements Serializable {
      * 用户uu号
      */
     @ManyToOne(cascade = {CascadeType.REFRESH}, fetch = FetchType.LAZY)
-    @JoinColumn(name="useruu")
+    @JoinColumn(name="useruu", insertable=false, updatable=false)
     private User user;
 
     /**

+ 13 - 2
sso-server/src/main/java/com/uas/sso/service/impl/UserServiceImpl.java

@@ -366,8 +366,19 @@ public class UserServiceImpl implements UserService {
         List<UserQuestion> userQuestions = user.getQuestions();
 
         // 清空旧的并添加新的
-        userQuestions.clear();
-        userQuestions.addAll(questions);
+        if (CollectionUtils.isEmpty(userQuestions)) {
+            user.setQuestions(questions);
+        } else {
+            for (int i=0; i<questions.size(); i++) {
+                if (userQuestions.get(i) == null) {
+                    user.getQuestions().add(questions.get(i));
+                } else {
+                    userQuestions.get(i).setQuestion(questions.get(i).getQuestion());
+                    userQuestions.get(i).setAnswer(questions.get(i).getAnswer());
+                    userQuestions.get(i).setSort(questions.get(i).getSort());
+                }
+            }
+        }
 
         // 保存并添加日志
         user = userDao.save(user);