xiongzhu 3 tahun lalu
induk
melakukan
415e981782

+ 9 - 4
src/main/java/com/izouma/nineth/listener/RegisterListener.java

@@ -2,7 +2,6 @@ package com.izouma.nineth.listener;
 
 import com.izouma.nineth.domain.User;
 import com.izouma.nineth.event.RegisterEvent;
-import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.service.UserService;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -14,6 +13,8 @@ import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
 import java.time.Duration;
+import java.util.HashMap;
+import java.util.Map;
 
 @Service
 @Slf4j
@@ -29,14 +30,18 @@ public class RegisterListener implements RocketMQListener<RegisterEvent> {
 
     @Override
     public void onMessage(RegisterEvent registerEvent) {
+        Map<String, Object> map = new HashMap<>();
         try {
             User user = userService.phoneRegister(registerEvent.getPhone(), registerEvent.getCode(),
                     registerEvent.getPassword(), registerEvent.getInviteCode(),
                     registerEvent.getInvitor(), registerEvent.getCollectionId());
-            redisTemplate.opsForValue().set("register::" + registerEvent.getPhone(), user, Duration.ofSeconds(600));
+            map.put("status", "success");
+            map.put("data", user);
+            redisTemplate.opsForValue().set("register::" + registerEvent.getPhone(), map, Duration.ofSeconds(600));
         } catch (Exception e) {
-            redisTemplate.opsForValue()
-                    .set("register::" + registerEvent.getPhone(), new BusinessException(e.getMessage()), Duration.ofSeconds(600));
+            map.put("status", "fail");
+            map.put("data", e.getMessage());
+            redisTemplate.opsForValue().set("register::" + registerEvent.getPhone(), map, Duration.ofSeconds(600));
         }
     }
 }

+ 2 - 8
src/main/java/com/izouma/nineth/web/AuthenticationController.java

@@ -94,17 +94,11 @@ public class AuthenticationController {
     public Object registerResult(String phone) {
         Object res = userService.getRegisterResult(phone);
         Map<String, Object> map = new HashMap<>();
-        if (res instanceof User) {
-            map.put("status", "success");
-            map.put("token", jwtTokenUtil.generateToken(JwtUserFactory.create((User) res)));
-            return map;
-        } else if (res == null) {
+        if (res == null) {
             map.put("status", "pending");
             return map;
         } else {
-            map.put("status", "fail");
-            map.put("error", res);
-            return map;
+            return res;
         }
     }