ソースを参照

account-service 添加 createAccountTest test-case

reghao 1 年間 前
コミット
e7ca4ce42a

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

@@ -56,6 +56,10 @@ public class AccountRepository {
         return userAccountMapper.findByEmail1(email);
     }
 
+    public AccountDetail getUserDetailByMobile(String email) {
+        return userAccountMapper.findByMobile1(email);
+    }
+
     public Long getMaxUserId() {
         return userAccountMapper.findMaxUserId();
     }

+ 4 - 2
account/account-service/src/main/java/cn/reghao/tnb/account/app/model/po/UserAccount.java

@@ -53,19 +53,21 @@ public class UserAccount extends BaseObject<Integer> {
     private Integer gender;
 
     @Deprecated
-    public UserAccount(long userId, String mobile, String avatarUrl) {
+    public UserAccount(long userId, String mobile, String encodedPassword, String salt) {
         this.userId = userId;
         this.accountType = AccountType.tnb.getValue();
         this.username = String.format("tnb_%s", userId);
         this.email = String.format("tnb_%s@reghao.cn", userId);
         this.mobile = mobile;
+        this.encodedPassword = encodedPassword;
+        this.salt = salt;
         this.createAt = LocalDateTime.now();
         this.notify = false;
         this.role = AccountRole.user.getValue();
         this.enabled = true;
         this.locked = false;
         this.screenName = this.username;
-        this.avatarUrl = avatarUrl;
+        this.avatarUrl = "";
         this.gender = 2;
     }
 

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

@@ -10,6 +10,6 @@ import cn.reghao.tnb.account.app.model.dto.UserRegisterDto;
  */
 public interface AccountRegistryService {
     Result createAccount(UserRegisterDto userRegisterDto);
-    AccountDetail createAccount(String principal);
+    AccountDetail createAccount(String mobile, String password);
     Result getRegistryStatus();
 }

+ 1 - 1
account/account-service/src/main/java/cn/reghao/tnb/account/app/service/impl/AccountLoginServiceImpl.java

@@ -144,7 +144,7 @@ public class AccountLoginServiceImpl implements AccountLoginService {
 
         // 帐号不存在则自动注册
         if (userDetail == null) {
-            AccountDetail accountDetail = accountRegistryService.createAccount(principal);
+            AccountDetail accountDetail = accountRegistryService.createAccount(principal, "");
             userDetail = new UserDetail(accountDetail);
             /*String errMsg = String.format("帐号 %s 未注册", principal);
             throw new UsernameNotFoundException(errMsg);*/

+ 6 - 9
account/account-service/src/main/java/cn/reghao/tnb/account/app/service/impl/AccountRegistryServiceImpl.java

@@ -108,16 +108,13 @@ public class AccountRegistryServiceImpl implements AccountRegistryService {
     }
 
     @Override
-    public AccountDetail createAccount(String principal) {
+    public AccountDetail createAccount(String mobile, String password) {
         long userId = getNextUserId();
-        String avatarUrl = avatarService.getAccountAvatar(userId);
-        if (avatarUrl != null) {
-            UserAccount userAccount = new UserAccount(userId, principal, avatarUrl);
-            accountRepository.saveAccount(userAccount);
-            return accountRepository.getUserDetailByEmail(principal);
-        }
-
-        return null;
+        String salt = RandomString.getSalt(64);
+        String encodedPassword = passwordEncoder.encode(password + salt);
+        UserAccount userAccount = new UserAccount(userId, mobile, encodedPassword, salt);
+        accountRepository.saveAccount(userAccount);
+        return accountRepository.getUserDetailByMobile(mobile);
     }
 
     public Result getRegistryStatus() {

+ 8 - 0
account/account-service/src/test/java/UserAccountTest.java

@@ -35,7 +35,15 @@ public class UserAccountTest {
 
     @Autowired
     AccountRegistryService accountRegisterService;
+    @Test
     public void createAccountTest() {
+        String password = "abcdefg1234567";
+        long mobile = 13012330000L;
+        while (mobile < 13012340000L) {
+            accountRegisterService.createAccount(String.valueOf(mobile), password);
+            log.info("{} created...", mobile);
+            mobile++;
+        }
     }
 
     @Test