فهرست منبع

update account-service AccountRegistryController

reghao 5 ماه پیش
والد
کامیت
3d3b793f23

+ 8 - 0
account/account-service/src/main/java/cn/reghao/tnb/account/app/controller/AccountRegistryController.java

@@ -4,6 +4,7 @@ import cn.reghao.jutil.jdk.result.Result;
 import cn.reghao.jutil.web.WebResult;
 import cn.reghao.tnb.account.app.model.dto.UserRegisterDto;
 import cn.reghao.tnb.account.app.model.dto.PasswordResetDto;
+import cn.reghao.tnb.account.app.model.po.UserRegistry;
 import cn.reghao.tnb.account.app.service.AccountRegistryService;
 import cn.reghao.tnb.account.app.service.AccountProfileService;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -31,6 +32,13 @@ public class AccountRegistryController {
         this.accountProfileService = accountProfileService;
     }
 
+    @Operation(summary = "获取注册开放状态", description = "N")
+    @GetMapping(value = "/registry", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String getRegistryStatus() {
+        UserRegistry userRegistry = accountRegistryService.getUserRegistry();
+        return WebResult.success(userRegistry.getEnabled());
+    }
+
     @Operation(summary = "注册用户", description = "N")
     @PostMapping(value = "/create", produces = MediaType.APPLICATION_JSON_VALUE)
     public String signup(@RequestBody @Validated UserRegisterDto userRegisterDto) {

+ 1 - 1
account/account-service/src/main/java/cn/reghao/tnb/account/app/rpc/AdminAccountServiceImpl.java

@@ -54,6 +54,6 @@ public class AdminAccountServiceImpl implements AdminAccountService {
     }
 
     public void createAccount(AdminCreateAccount adminCreateAccount) {
-        accountRegistryService.createAccount(adminCreateAccount);
+        accountRegistryService.createAdminAccount(adminCreateAccount);
     }
 }

+ 4 - 1
account/account-service/src/main/java/cn/reghao/tnb/account/app/service/AccountRegistryService.java

@@ -1,16 +1,19 @@
 package cn.reghao.tnb.account.app.service;
 
 import cn.reghao.jutil.jdk.result.Result;
+import cn.reghao.tnb.account.api.dto.AccountRegistry;
 import cn.reghao.tnb.account.api.dto.AdminCreateAccount;
 import cn.reghao.tnb.account.app.model.dto.UserRegisterDto;
 import cn.reghao.tnb.account.app.model.po.UserAccount;
+import cn.reghao.tnb.account.app.model.po.UserRegistry;
 
 /**
  * @author reghao
  * @date 2022-04-13 10:07:28
  */
 public interface AccountRegistryService {
+    UserRegistry getUserRegistry();
     Result createAccount(UserRegisterDto userRegisterDto);
     UserAccount createAccount(String principal, String password);
-    void createAccount(AdminCreateAccount adminCreateAccount);
+    void createAdminAccount(AdminCreateAccount adminCreateAccount);
 }

+ 12 - 3
account/account-service/src/main/java/cn/reghao/tnb/account/app/service/impl/AccountRegistryServiceImpl.java

@@ -5,10 +5,10 @@ import cn.reghao.jutil.jdk.result.ResultStatus;
 import cn.reghao.jutil.jdk.security.RandomString;
 import cn.reghao.jutil.jdk.string.StringRegexp;
 import cn.reghao.tnb.account.api.constant.VerifyChannel;
+import cn.reghao.tnb.account.api.dto.AccountRegistry;
 import cn.reghao.tnb.account.api.dto.AdminCreateAccount;
 import cn.reghao.tnb.account.app.model.dto.UserRegisterDto;
 import cn.reghao.tnb.account.app.db.repository.AccountRepository;
-import cn.reghao.tnb.account.app.model.po.UserAccountRole;
 import cn.reghao.tnb.account.app.model.po.UserRegistry;
 import cn.reghao.tnb.account.app.service.CodeService;
 import cn.reghao.tnb.account.app.model.po.UserAccount;
@@ -19,7 +19,6 @@ import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.PostConstruct;
-import java.time.LocalDateTime;
 
 /**
  * @author reghao
@@ -48,8 +47,18 @@ public class AccountRegistryServiceImpl implements AccountRegistryService {
         this.avatarUrl = String.format("//%s/dist/images/face.jpg", domain);
     }
 
+    @Override
+    public UserRegistry getUserRegistry() {
+        return accountRepository.getUserRegistry();
+    }
+
     @Override
     public synchronized Result createAccount(UserRegisterDto userRegisterDto) {
+        UserRegistry userRegistry = accountRepository.getUserRegistry();
+        if (!userRegistry.getEnabled()) {
+            return Result.fail("系统当前未开放注册");
+        }
+
         String captchaCode = userRegisterDto.getCaptchaCode();
         String savedCaptchaCode = codeService.getCaptcha();
         if (savedCaptchaCode == null) {
@@ -92,7 +101,7 @@ public class AccountRegistryServiceImpl implements AccountRegistryService {
     }
 
     @Override
-    public void createAccount(AdminCreateAccount adminCreateAccount) {
+    public void createAdminAccount(AdminCreateAccount adminCreateAccount) {
         String principal = adminCreateAccount.getUsername();
         String email = null;
         String mobile = null;