Преглед на файлове

更新 auth 的短信验证码登入

reghao преди 1 седмица
родител
ревизия
ba218a3e51

+ 1 - 1
auth/auth-service/src/main/java/cn/reghao/tnb/auth/app/config/rabbitmq/RabbitProducer.java

@@ -21,7 +21,7 @@ public class RabbitProducer {
     }
 
     public void sendVerifyMessage(VerifyMessage verifyMessage) {
-        String routingKey = "tnb.message.account";
+        String routingKey = "tnb.message.auth.verify_msg";
         String jsonPayload = JsonConverter.objectToJson(verifyMessage);
         rabbitTemplate.convertAndSend(routingKey, jsonPayload);
     }

+ 6 - 5
auth/auth-service/src/main/java/cn/reghao/tnb/auth/app/controller/AccountCodeController.java

@@ -44,11 +44,12 @@ public class AccountCodeController {
     @Operation(summary = "获取图形验证码", description = "N")
     @GetMapping(value = "/code/captcha", produces = MediaType.APPLICATION_JSON_VALUE)
     public String getCaptcha() throws IOException {
-        InputStream in = codeService.generateCaptcha();
-        byte[] base64Bytes = Base64.getEncoder().encode(in.readAllBytes());
-        String base64Str = new String(base64Bytes, StandardCharsets.UTF_8);
-        String imageStr = String.format("data:image/jpeg;base64,%s", base64Str);
-        return WebResult.success(imageStr);
+        try (InputStream in = codeService.generateCaptcha()) {
+            byte[] base64Bytes = Base64.getEncoder().encode(in.readAllBytes());
+            String base64Str = new String(base64Bytes, StandardCharsets.UTF_8);
+            String imageStr = String.format("data:image/jpeg;base64,%s", base64Str);
+            return WebResult.success(imageStr);
+        }
     }
 
     @Operation(summary = "获取短信/邮件验证码", description = "N")

+ 4 - 5
message/message-service/src/main/java/cn/reghao/tnb/message/app/rabbit/RabbitListeners.java

@@ -70,19 +70,18 @@ public class RabbitListeners {
     }
 
     @RabbitListener(bindings =@QueueBinding(
-            value = @Queue(value = "tnb.message.account", durable = "true"),
-            key = "tnb.message.account",
+            value = @Queue(value = "tnb.message.auth.verify_msg", durable = "true"),
+            key = "tnb.message.auth.verify_msg",
             exchange = @Exchange(value = "amq.direct")),
             ackMode = "MANUAL"
     )
     public void consumeNotifyMessage(@Payload String jsonPayload, Channel channel, Message message) {
-        messageConsumer.handleMessage(jsonPayload);
         long deliveryTag = message.getMessageProperties().getDeliveryTag();
         try {
-            log.info("手动确认消息 {}", deliveryTag);
+            messageConsumer.handleVerifyMessage(jsonPayload);
             channel.basicAck(deliveryTag,true);
         } catch (IOException e) {
-            e.printStackTrace();
+            log.error(e.getMessage(), e);
         }
     }
 }

+ 1 - 1
message/message-service/src/main/java/cn/reghao/tnb/message/app/service/MessageConsumer.java

@@ -29,7 +29,7 @@ public class MessageConsumer {
         this.userMessageService = userMessageService;
     }
 
-    public void handleMessage(String jsonPayload) {
+    public void handleVerifyMessage(String jsonPayload) {
         JsonObject jsonObject = JsonConverter.jsonToJsonElement(jsonPayload).getAsJsonObject();
         int notifyType = jsonObject.get("notifyType").getAsInt();
         int msgTypeCode = jsonObject.get("msgType").getAsInt();

+ 1 - 0
message/message-service/src/main/java/cn/reghao/tnb/message/app/service/NotifyService.java

@@ -44,6 +44,7 @@ public class NotifyService {
             threadPool.execute(new NotifyTask<>(emailNotify, receiver, emailMsg, userMessageService));
         }
     }
+
     /**
      * @param
      * @return

+ 1 - 1
message/message-service/src/main/java/cn/reghao/tnb/message/app/service/UserMessageService.java

@@ -34,7 +34,7 @@ public class UserMessageService {
     public void addMessage(UserMessageDto userMessageDto) {
         long receiverId = userMessageDto.getReceiver();
         if (receiverId == ConstantId.ANONYMOUS_USER_ID) {
-            long adminUserId = accountQuery.getByRole(AccountRole.ROLE_TNB_ADMIN.getValue());
+            long adminUserId = accountQuery.getByRole(AccountRole.ROLE_TNB_ADMIN.name());
             if (adminUserId == ConstantId.ANONYMOUS_USER_ID) {
                 log.error("system not init yet");
                 return;

+ 1 - 1
message/message-service/src/main/java/cn/reghao/tnb/message/app/service/notifier/ding/DingNotify.java

@@ -45,7 +45,7 @@ public class DingNotify implements Notify<DingMsg> {
 
         String url = webhook.getUrl();
         String sign = webhook.getSign();
-        if (sign != null) {
+        if (sign != null && !sign.isBlank()) {
             url = getReceiver(url, sign);
         }