Bläddra i källkod

account-service 更新 AccountRegistry 帐号注册相关数据和接口

reghao 5 månader sedan
förälder
incheckning
d1105cba47

+ 3 - 1
account/account-api/src/main/java/cn/reghao/tnb/account/api/dto/AccountRegistry.java

@@ -15,5 +15,7 @@ public class AccountRegistry implements Serializable {
     private static final long serialVersionUID = 1L;
 
     private Boolean enabled;
-    private String rule;
+    private String captchaCode;
+    private String verifyCode;
+    private Boolean enableCode;
 }

+ 20 - 0
account/account-api/src/main/java/cn/reghao/tnb/account/api/dto/AccountRegistryStatus.java

@@ -0,0 +1,20 @@
+package cn.reghao.tnb.account.api.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * @author reghao
+ * @date 2025-10-17 15:39:07
+ */
+@Setter
+@Getter
+public class AccountRegistryStatus implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @NotNull
+    private Boolean enabled;
+}

+ 4 - 1
account/account-api/src/main/java/cn/reghao/tnb/account/api/iface/AdminAccountService.java

@@ -3,6 +3,7 @@ package cn.reghao.tnb.account.api.iface;
 import cn.reghao.jutil.jdk.db.PageList;
 import cn.reghao.tnb.account.api.dto.AccountInfo;
 import cn.reghao.tnb.account.api.dto.AccountRegistry;
+import cn.reghao.tnb.account.api.dto.AccountRegistryStatus;
 import cn.reghao.tnb.account.api.dto.AdminCreateAccount;
 
 /**
@@ -11,7 +12,9 @@ import cn.reghao.tnb.account.api.dto.AdminCreateAccount;
  */
 public interface AdminAccountService {
     AccountRegistry getAccountRegistry();
-    void setAccountRegistry(AccountRegistry accountRegistry);
+    void setAccountRegistry(AccountRegistryStatus accountRegistryStatus);
+    void setAccountCode(AccountRegistryStatus accountRegistryStatus);
+
     PageList<AccountInfo> getByScreenName(String screenName, int pageNumber, int pageSize);
     void createAccount(AdminCreateAccount adminCreateAccount);
 }

+ 3 - 3
account/account-service/src/main/java/cn/reghao/tnb/account/app/db/repository/AccountRepository.java

@@ -67,8 +67,8 @@ public class AccountRepository {
         userAccountRoleMapper.save(userAccountRole);
     }
 
-    public void updateUserRegistry() {
-        UserRegistry userRegistry = getUserRegistry();
+    @CacheEvict(cacheNames = "tnb:account:registry", key = "'account-registry'")
+    public void updateUserRegistry(UserRegistry userRegistry) {
         userRegistryMapper.update(userRegistry);
     }
 
@@ -112,12 +112,12 @@ public class AccountRepository {
         return userIds;
     }
 
+    @Cacheable(cacheNames = "tnb:account:registry", key = "'account-registry'", unless = "#result == null")
     public UserRegistry getUserRegistry() {
         List<UserRegistry> list = userRegistryMapper.findAll();
         if (list.isEmpty()) {
             userRegistryMapper.save(new UserRegistry());
         }
-
         return userRegistryMapper.findAll().get(0);
     }
 

+ 3 - 3
account/account-service/src/main/java/cn/reghao/tnb/account/app/model/po/UserRegistry.java

@@ -13,8 +13,7 @@ import lombok.Setter;
 @Setter
 @Getter
 public class UserRegistry extends BaseObject<Integer> {
-    private final Boolean enabled;
-    private String rule;
+    private Boolean enabled;
     private String captchaCode;
     private String verifyCode;
     private Boolean enableCode;
@@ -22,7 +21,8 @@ public class UserRegistry extends BaseObject<Integer> {
 
     public UserRegistry() {
         this.enabled = true;
+        this.captchaCode = "tn028";
+        this.verifyCode = "23028";
         this.enableCode = false;
-        this.rule = "*";
     }
 }

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

@@ -3,6 +3,7 @@ package cn.reghao.tnb.account.app.rpc;
 import cn.reghao.jutil.jdk.db.PageList;
 import cn.reghao.tnb.account.api.dto.AccountInfo;
 import cn.reghao.tnb.account.api.dto.AccountRegistry;
+import cn.reghao.tnb.account.api.dto.AccountRegistryStatus;
 import cn.reghao.tnb.account.api.dto.AdminCreateAccount;
 import cn.reghao.tnb.account.api.iface.AdminAccountService;
 import cn.reghao.tnb.account.app.db.repository.AccountRepository;
@@ -28,13 +29,24 @@ public class AdminAccountServiceImpl implements AdminAccountService {
         this.accountRegistryService = accountRegistryService;
     }
 
+    @Override
     public AccountRegistry getAccountRegistry() {
         UserRegistry userRegistry = accountRepository.getUserRegistry();
-        return new AccountRegistry(userRegistry.getEnabled(), userRegistry.getRule());
+        return new AccountRegistry(userRegistry.getEnabled(), userRegistry.getCaptchaCode(), userRegistry.getVerifyCode(), userRegistry.getEnableCode());
     }
 
-    public void setAccountRegistry(AccountRegistry accountRegistry) {
-        accountRepository.updateUserRegistry();
+    @Override
+    public void setAccountRegistry(AccountRegistryStatus accountRegistryStatus) {
+        UserRegistry userRegistry = accountRepository.getUserRegistry();
+        userRegistry.setEnabled(accountRegistryStatus.getEnabled());
+        accountRepository.updateUserRegistry(userRegistry);
+    }
+
+    @Override
+    public void setAccountCode(AccountRegistryStatus accountRegistryStatus) {
+        UserRegistry userRegistry = accountRepository.getUserRegistry();
+        userRegistry.setEnableCode(accountRegistryStatus.getEnabled());
+        accountRepository.updateUserRegistry(userRegistry);
     }
 
     public PageList<AccountInfo> getByScreenName(String screenName, int pageNumber, int pageSize) {

+ 0 - 11
account/account-service/src/main/java/cn/reghao/tnb/account/app/service/impl/AccountRegistryServiceImpl.java

@@ -125,15 +125,4 @@ public class AccountRegistryServiceImpl implements AccountRegistryService {
         accountRepository.saveAccount(userAccount);
         return accountRepository.getUserAccountByMobile(mobile);
     }
-
-    public Result getRegistryStatus() {
-        UserRegistry userRegistry = accountRepository.getUserRegistry();
-        if (!userRegistry.getEnabled()) {
-            return Result.fail("系统当前未开放注册");
-        }
-
-        String rule = userRegistry.getRule();
-        LocalDateTime localDateTime = LocalDateTime.now();
-        return Result.success();
-    }
 }

+ 3 - 3
account/account-service/src/main/resources/mapper/UserRegistryMapper.xml

@@ -4,14 +4,14 @@
 <mapper namespace="cn.reghao.tnb.account.app.db.mapper.UserRegistryMapper">
     <insert id="save">
         insert into user_registry
-        (`enabled`,`rule`,`captcha_code`,`verify_code`,`enable_code`,`domain`)
+        (`enabled`,`captcha_code`,`verify_code`,`enable_code`,`domain`)
         values
-        (#{enabled},#{rule},#{captchaCode},#{verifyCode},#{enableCode},#{domain})
+        (#{enabled},#{captchaCode},#{verifyCode},#{enableCode},#{domain})
     </insert>
     
     <update id="update">
         update user_registry
-        set update_time=now(),rule=#{rule}
+        set update_time=now(),enabled=#{enabled},captcha_code=#{captchaCode},verify_code=#{verifyCode},enable_code=#{enableCode}
         where id=#{id}
     </update>
     

+ 19 - 0
user/user-service/src/main/java/cn/reghao/tnb/user/app/controller/AdminUserController.java

@@ -3,13 +3,16 @@ package cn.reghao.tnb.user.app.controller;
 import cn.reghao.jutil.jdk.db.PageList;
 import cn.reghao.jutil.web.WebResult;
 import cn.reghao.tnb.account.api.dto.AccountRegistry;
+import cn.reghao.tnb.account.api.dto.AccountRegistryStatus;
 import cn.reghao.tnb.account.api.dto.AdminCreateAccount;
+import cn.reghao.tnb.account.api.iface.AdminAccountService;
 import cn.reghao.tnb.user.api.dto.UserInfo;
 import cn.reghao.tnb.user.api.dto.VipPlanInfo;
 import cn.reghao.tnb.user.api.dto.WalletChargeDto;
 import cn.reghao.tnb.user.app.service.AdminUserService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.http.MediaType;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -24,6 +27,8 @@ import java.util.List;
 @RestController
 @RequestMapping("/api/admin/user")
 public class AdminUserController {
+    @DubboReference(check = false, timeout = 60_000)
+    private AdminAccountService adminAccountService;
     private final AdminUserService adminUserService;
     
     public AdminUserController(AdminUserService adminUserService) {
@@ -37,6 +42,20 @@ public class AdminUserController {
         return WebResult.success(accountRegistry);
     }
 
+    @Operation(summary = "帐号注册", description = "N")
+    @PostMapping(value = "/registry", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String setAccountRegistry(@RequestBody @Validated AccountRegistryStatus accountRegistryStatus) {
+        adminAccountService.setAccountRegistry(accountRegistryStatus);
+        return WebResult.success();
+    }
+
+    @Operation(summary = "帐号注册", description = "N")
+    @PostMapping(value = "/code", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String setAccountCode(@RequestBody @Validated AccountRegistryStatus accountRegistryStatus) {
+        adminAccountService.setAccountCode(accountRegistryStatus);
+        return WebResult.success();
+    }
+
     @Operation(summary = "用户帐号列表页面", description = "N")
     @GetMapping(value = "/list", produces = MediaType.APPLICATION_JSON_VALUE)
     public String indexPage(@RequestParam(value = "nextId", required = false) Integer nextId) {