Browse Source

企业注册优化

wangmh 8 years ago
parent
commit
3099e1017d

+ 6 - 11
sso-server/src/main/java/com/uas/sso/controller/UserspaceRegisterController.java

@@ -105,12 +105,12 @@ public class UserspaceRegisterController extends BaseController {
             if (StringUtils.isEmpty(password)) {
             if (StringUtils.isEmpty(password)) {
                 return error("请填写正确的密码");
                 return error("请填写正确的密码");
             }
             }
-        }
 
 
-        // 校验密码强度
-        PasswordStrength strength = checkPasswordLevel(password);
-        if (PasswordStrength.WEAK.getValue() == strength.getValue()) {
-            return error("密码须为8-20字符的英文、数字混合");
+            // 新用户要校验密码强度
+            PasswordStrength strength = checkPasswordLevel(password);
+            if (PasswordStrength.WEAK.getValue() == strength.getValue()) {
+                return error("密码须为8-20字符的英文、数字混合");
+            }
         }
         }
 
 
         // 设置企业管理员信息
         // 设置企业管理员信息
@@ -121,21 +121,16 @@ public class UserspaceRegisterController extends BaseController {
             admin.setVipName(adminName);
             admin.setVipName(adminName);
             admin.setPassword(password);
             admin.setPassword(password);
             admin.setEmail(adminEmail);
             admin.setEmail(adminEmail);
-            userService.register(admin);
         } else if (StringUtils.isEmpty(admin.getEmail())) {
         } else if (StringUtils.isEmpty(admin.getEmail())) {
             // 老用户校验密码
             // 老用户校验密码
             userService.checkPassword(admin.getUserUU(), user.getPassword(), false);
             userService.checkPassword(admin.getUserUU(), user.getPassword(), false);
 
 
             // 老用户邮箱为空的话设置邮箱
             // 老用户邮箱为空的话设置邮箱
             admin.setEmail(adminEmail);
             admin.setEmail(adminEmail);
-            userService.save(admin);
         }
         }
 
 
-        // 给企业设置企业管理员
-        userspace.setAdmin(admin);
-
         // 企业注册
         // 企业注册
-        userspaceService.register(userspace);
+        userspaceService.register(userspace, admin);
 
 
         // 添加日志
         // 添加日志
         registerLogger.info(Type.REGISTER_USERSPACE.getValue(), Step.SECOND.getValue(), "企业注册", userspace, appId);
         registerLogger.info(Type.REGISTER_USERSPACE.getValue(), Step.SECOND.getValue(), "企业注册", userspace, appId);

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

@@ -258,12 +258,12 @@ public class User implements Serializable {
         this.emailIsValid = emailIsValid;
         this.emailIsValid = emailIsValid;
     }
     }
 
 
-    public String getName() {
+    public String getRealName() {
         return realName;
         return realName;
     }
     }
 
 
-    public void setName(String name) {
-        this.realName = name;
+    public void setRealName(String realName) {
+        this.realName = realName;
     }
     }
 
 
     public String getIdCard() {
     public String getIdCard() {

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

@@ -3,6 +3,7 @@ package com.uas.sso.entity;
 import javax.persistence.*;
 import javax.persistence.*;
 import java.io.Serializable;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.sql.Timestamp;
+import java.util.List;
 
 
 /**
 /**
  * 企业实体
  * 企业实体
@@ -53,7 +54,7 @@ public class Userspace implements Serializable {
     /**
     /**
      * 管理员
      * 管理员
      */
      */
-    @ManyToOne
+    @ManyToOne(cascade = {CascadeType.MERGE, CascadeType.REFRESH})
     @JoinColumn(name = "adminuu", insertable=false, updatable=false)
     @JoinColumn(name = "adminuu", insertable=false, updatable=false)
     private User admin;
     private User admin;
 
 
@@ -153,6 +154,15 @@ public class Userspace implements Serializable {
     @Column(name = "domain")
     @Column(name = "domain")
     private String domain;
     private String domain;
 
 
+    /**
+     * 企业下的用户
+     */
+    @ManyToMany
+    @JoinTable(name = "sso$user_userspace",
+            joinColumns = {@JoinColumn(name="space_uu", referencedColumnName="spaceuu")},
+            inverseJoinColumns = {@JoinColumn(name="user_uu", referencedColumnName="useruu")})
+    private List<User> users;
+
     public Userspace() {
     public Userspace() {
     }
     }
 
 
@@ -331,4 +341,12 @@ public class Userspace implements Serializable {
     public void setDomain(String domain) {
     public void setDomain(String domain) {
         this.domain = domain;
         this.domain = domain;
     }
     }
+
+    public List<User> getUsers() {
+        return users;
+    }
+
+    public void setUsers(List<User> users) {
+        this.users = users;
+    }
 }
 }

+ 3 - 1
sso-server/src/main/java/com/uas/sso/service/UserspaceService.java

@@ -1,5 +1,6 @@
 package com.uas.sso.service;
 package com.uas.sso.service;
 
 
+import com.uas.sso.entity.User;
 import com.uas.sso.entity.Userspace;
 import com.uas.sso.entity.Userspace;
 
 
 /**
 /**
@@ -13,8 +14,9 @@ public interface UserspaceService {
     /**
     /**
      * 企业注册
      * 企业注册
      * @param userspace 企业信息
      * @param userspace 企业信息
+     * @param admin 管理员信息
      */
      */
-    void register(Userspace userspace);
+    void register(Userspace userspace, User admin);
 
 
     /**
     /**
      * 校验企业名称
      * 校验企业名称

+ 25 - 1
sso-server/src/main/java/com/uas/sso/service/impl/UserspaceServiceImpl.java

@@ -1,8 +1,10 @@
 package com.uas.sso.service.impl;
 package com.uas.sso.service.impl;
 
 
 import com.uas.sso.dao.UserspaceDao;
 import com.uas.sso.dao.UserspaceDao;
+import com.uas.sso.entity.User;
 import com.uas.sso.entity.Userspace;
 import com.uas.sso.entity.Userspace;
 import com.uas.sso.exception.VisibleError;
 import com.uas.sso.exception.VisibleError;
+import com.uas.sso.service.UserService;
 import com.uas.sso.service.UserspaceService;
 import com.uas.sso.service.UserspaceService;
 import com.uas.sso.util.ChineseUtils;
 import com.uas.sso.util.ChineseUtils;
 import com.uas.sso.util.StringUtil;
 import com.uas.sso.util.StringUtil;
@@ -10,6 +12,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
 
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
 /**
  * 企业信息service层
  * 企业信息service层
  *
  *
@@ -22,13 +27,16 @@ public class UserspaceServiceImpl implements UserspaceService {
     @Autowired
     @Autowired
     private UserspaceDao userspaceDao;
     private UserspaceDao userspaceDao;
 
 
+    @Autowired
+    private UserService userService;
+
     /**
     /**
      * 企业初始uu号
      * 企业初始uu号
      */
      */
     public static final Long SPACE_INIT_UU = 10000000L;
     public static final Long SPACE_INIT_UU = 10000000L;
 
 
     @Override
     @Override
-    public void register(Userspace userspace) {
+    public void register(Userspace userspace, User admin) {
         // 校验企业名是否重复
         // 校验企业名是否重复
         checkSpaceName(userspace.getSpaceName());
         checkSpaceName(userspace.getSpaceName());
 
 
@@ -44,6 +52,22 @@ public class UserspaceServiceImpl implements UserspaceService {
         Long maxUU = userspaceDao.findMaxUU();
         Long maxUU = userspaceDao.findMaxUU();
         userspace.setSpaceUU(StringUtils.isEmpty(maxUU) ? SPACE_INIT_UU : (maxUU + 1));
         userspace.setSpaceUU(StringUtils.isEmpty(maxUU) ? SPACE_INIT_UU : (maxUU + 1));
 
 
+        // 设置管理员信息
+        User oldUser = userService.findByMobile(admin.getMobile());
+        if (oldUser == null) {
+            userService.register(admin);
+        } else {
+            userService.save(admin);
+        }
+
+        // 给企业设置管理员
+        userspace.setAdmin(admin);
+
+        // 将管理员设置在企业下
+        List<User> users = new ArrayList<>();
+        users.add(admin);
+        userspace.setUsers(users);
+
         // 注册企业
         // 注册企业
         userspaceDao.save(userspace);
         userspaceDao.save(userspace);
     }
     }