فهرست منبع

添加企业注册操作

wangmh 8 سال پیش
والد
کامیت
2f13c7b26c

+ 0 - 9
sso-server/src/main/java/com/uas/sso/controller/PersonalRegisterController.java

@@ -33,15 +33,6 @@ public class PersonalRegisterController extends BaseController {
     @Autowired
     private UserService userService;
 
-    @Autowired
-    private TokenService tokenService;
-
-    @Autowired
-    private SettingService settingService;
-
-    @Autowired
-    private SmsService smsService;
-
     private RegisterBufferedLogger registerLogger = new RegisterBufferedLogger();
 
     /**

+ 48 - 0
sso-server/src/main/java/com/uas/sso/controller/UserspaceManageController.java

@@ -0,0 +1,48 @@
+package com.uas.sso.controller;
+
+import com.uas.sso.service.UserspaceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+/**
+ * 企业信息管理controller
+ *
+ * @author wangmh
+ * @date 2018/1/5
+ */
+@Controller
+@RequestMapping("/api/userspace")
+public class UserspaceManageController extends BaseController {
+
+    @Autowired
+    private UserspaceService userspaceService;
+
+    /**
+     * 校验企业名称
+     *
+     * @param spaceName 企业名称
+     * @return
+     */
+    @RequestMapping("/checkSpaceName")
+    @ResponseBody
+    public ModelMap checkSpaceName(String spaceName) {
+        userspaceService.checkSpaceName(spaceName);
+        return success();
+    }
+
+    /**
+     * 校验企业营业执照号
+     *
+     * @param businessCode 企业名称
+     * @return
+     */
+    @RequestMapping("/checkBusinessCode")
+    @ResponseBody
+    public ModelMap checkBusinessCode(String businessCode) {
+        userspaceService.checkBusinessCode(businessCode);
+        return success();
+    }
+}

+ 21 - 2
sso-server/src/main/java/com/uas/sso/controller/UserspaceRegisterController.java

@@ -1,9 +1,12 @@
 package com.uas.sso.controller;
 
 import com.uas.sso.core.PasswordStrength;
+import com.uas.sso.core.Type;
 import com.uas.sso.entity.User;
 import com.uas.sso.entity.Userspace;
+import com.uas.sso.logging.RegisterBufferedLogger;
 import com.uas.sso.service.UserService;
+import com.uas.sso.service.UserspaceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
@@ -25,6 +28,11 @@ public class UserspaceRegisterController extends BaseController {
     @Autowired
     private UserService userService;
 
+    @Autowired
+    private UserspaceService userspaceService;
+
+    private RegisterBufferedLogger registerLogger = new RegisterBufferedLogger();
+
     /**
      * 企业注册第一步,验证手机号
      *
@@ -35,7 +43,7 @@ public class UserspaceRegisterController extends BaseController {
      */
     @RequestMapping(value = "/checkAdminTel", method = RequestMethod.POST)
     @ResponseBody
-    public ModelMap checkAdminTel(String mobile, String code, String token) {
+    public ModelMap checkAdminTel(String mobile, String code, String token, String appId) {
         // 校验验证码
         checkMobileCode(token, mobile, code);
 
@@ -50,6 +58,12 @@ public class UserspaceRegisterController extends BaseController {
         }
         request.getSession().setAttribute("mobile", user.getMobile());
 
+        // 删除token
+        tokenService.delete(token);
+
+        // 添加日志
+        registerLogger.info(Type.REGISTER_USERSPACE.getValue(), 1, "企业注册", mobile, appId);
+
         return success(data);
     }
 
@@ -83,7 +97,7 @@ public class UserspaceRegisterController extends BaseController {
         User admin = userService.findByMobile(mobile);
         if (admin == null) {
             // 新用户: 管理员名称,密码不能为空
-            if (StringUtils.isEmpty(businessCode)) {
+            if (StringUtils.isEmpty(adminName)) {
                 return error("请填写正确的管理员名称");
             }
             if (StringUtils.isEmpty(password)) {
@@ -106,6 +120,9 @@ public class UserspaceRegisterController extends BaseController {
             admin.setEmail(adminEmail);
             userService.register(admin);
         } else if (StringUtils.isEmpty(admin.getEmail())) {
+            // 老用户校验密码
+            userService.checkPassword(admin.getUserUU(), admin.getPassword(), false);
+
             // 老用户邮箱为空的话设置邮箱
             admin.setEmail(adminEmail);
             userService.save(admin);
@@ -115,6 +132,8 @@ public class UserspaceRegisterController extends BaseController {
         userspace.setAdmin(admin);
 
         // 企业注册
+        userspaceService.register(userspace);
+
         return success();
     }
 

+ 30 - 0
sso-server/src/main/java/com/uas/sso/dao/UserspaceDao.java

@@ -0,0 +1,30 @@
+package com.uas.sso.dao;
+
+import com.uas.sso.entity.Userspace;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+/**
+ * 企业信息dao,Userspace实体中spaceUU为主键
+ *
+ * @author wangmh
+ * @date 2018/1/5
+ */
+public interface UserspaceDao extends JpaRepository<Userspace, Long>, JpaSpecificationExecutor<Userspace> {
+
+    /**
+     * 根据企业名称查找企业信息
+     *
+     * @param spaceName 企业名称
+     * @return 企业信息
+     */
+    Userspace findBySpaceName(String spaceName);
+
+    /**
+     * 根据企业营业执照号查找企业信息
+     *
+     * @param businessCode 企业营业执照号
+     * @return
+     */
+    Userspace findByBusinessCode(String businessCode);
+}

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

@@ -29,7 +29,7 @@ public class Userspace implements Serializable {
     /**
      * 企业名称
      */
-    @Column(name = "spaceName")
+    @Column(name = "spaceName", unique = true)
     private String spaceName;
 
     /**

+ 9 - 0
sso-server/src/main/java/com/uas/sso/service/UserService.java

@@ -62,4 +62,13 @@ public interface UserService {
      * @return 保存后用户信息
      */
     User save(User user);
+
+    /**
+     * 校验优软云密码,不能校验erp的密码
+     *
+     * @param userUU 用户uu号
+     * @param password 密码
+     * @param isEncry 密码是否加密
+     */
+    void checkPassword(Long userUU, String password, boolean isEncry);
 }

+ 30 - 0
sso-server/src/main/java/com/uas/sso/service/UserspaceService.java

@@ -0,0 +1,30 @@
+package com.uas.sso.service;
+
+import com.uas.sso.entity.Userspace;
+
+/**
+ * 企业service
+ *
+ * @author wangmh
+ * @date 2018/1/5
+ */
+public interface UserspaceService {
+
+    /**
+     * 企业注册
+     * @param userspace 企业信息
+     */
+    void register(Userspace userspace);
+
+    /**
+     * 校验企业名称
+     * @param spaceName 企业名称
+     */
+    void checkSpaceName(String spaceName);
+
+    /**
+     * 校验企业名称
+     * @param businessCode 企业营业执照号
+     */
+    void checkBusinessCode(String businessCode);
+}

+ 21 - 0
sso-server/src/main/java/com/uas/sso/service/impl/UserServiceImpl.java

@@ -98,4 +98,25 @@ public class UserServiceImpl implements UserService {
     public User save(User user) {
         return userDao.save(user);
     }
+
+    @Override
+    public void checkPassword(Long userUU, String password, boolean isEncry) {
+        // 根据用户uu号找到旧数据
+        User oldUser = userDao.findByUserUU(userUU);
+        if (oldUser == null) {
+            throw new VisibleError("该用户不存在");
+        }
+
+        // 密码未加密,转换成加密后的密码
+        String encryPassword = password;
+        if (!isEncry) {
+            encryPassword = getEncryPassword(Const.ENCRY_FORMAT, password, oldUser.getSalt());
+        }
+
+        // 校验密码
+        if (!encryPassword.equals(password)) {
+            throw new VisibleError("密码不一致");
+        }
+
+    }
 }

+ 49 - 0
sso-server/src/main/java/com/uas/sso/service/impl/UserspaceServiceImpl.java

@@ -0,0 +1,49 @@
+package com.uas.sso.service.impl;
+
+import com.uas.sso.dao.UserspaceDao;
+import com.uas.sso.entity.Userspace;
+import com.uas.sso.exception.VisibleError;
+import com.uas.sso.service.UserspaceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 企业信息service层
+ *
+ * @author wangmh
+ * @date 2018/1/5
+ */
+@Service
+public class UserspaceServiceImpl implements UserspaceService {
+
+    @Autowired
+    private UserspaceDao userspaceDao;
+
+    @Override
+    public void register(Userspace userspace) {
+        // 校验企业名是否重复
+        checkSpaceName(userspace.getSpaceName());
+
+        // 校验营业执照号是否重复
+        checkBusinessCode(userspace.getBusinessCode());
+
+        // 注册企业
+        userspaceDao.save(userspace);
+    }
+
+    @Override
+    public void checkSpaceName(String spaceName) {
+        Userspace userspace = userspaceDao.findBySpaceName(spaceName);
+        if (userspace != null) {
+            throw new VisibleError("该企业名称已被注册,请确认");
+        }
+    }
+
+    @Override
+    public void checkBusinessCode(String businessCode) {
+        Userspace userspace = userspaceDao.findByBusinessCode(businessCode);
+        if (userspace != null) {
+            throw new VisibleError("该企业营业执照已被注册,请确认");
+        }
+    }
+}