Explorar o código

拓展商品二维码分享功能

Yangzw hai 1 ano
pai
achega
730b58d4d5

+ 35 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/mq/consumer/shareLinkRegister/AddShareLinkRegisterConsumer.java

@@ -0,0 +1,35 @@
+package cn.newfeifan.mall.module.distri.mq.consumer.shareLinkRegister;
+
+import cn.newfeifan.mall.module.distri.controller.app.sharelinkregister.vo.AppShareLinkRegisterSaveReqVO;
+import cn.newfeifan.mall.module.distri.service.sharelinkregister.ShareLinkRegisterService;
+import cn.newfeifan.mall.module.member.message.share.ShareLinkRegisterCreateMessage;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.event.EventListener;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+/**
+ * 用户注册时,发送通过分享链接注册的用户的消费者,基 {@link ShareLinkRegisterCreateMessage} 消息
+ */
+@Component
+@Slf4j
+public class AddShareLinkRegisterConsumer {
+
+    @Resource
+    private ShareLinkRegisterService shareLinkRegisterService;
+
+    @EventListener
+    @Async // Spring Event 默认在 Producer 发送的线程,通过 @Async 实现异步
+    public void onMessage(ShareLinkRegisterCreateMessage message) {
+        log.info("[onMessage][消息内容({})]", message);
+        AppShareLinkRegisterSaveReqVO reqVO = AppShareLinkRegisterSaveReqVO
+                .builder()
+                .ShareLinkId(message.getShareLinkId())
+                .registerUserId(message.getRegisterUserId())
+                .build();
+        shareLinkRegisterService.createShareLinkRegister(reqVO);
+    }
+
+}

+ 13 - 0
feifan-module-member/feifan-module-member-api/src/main/java/cn/newfeifan/mall/module/member/message/share/ShareLinkRegisterCreateMessage.java

@@ -0,0 +1,13 @@
+package cn.newfeifan.mall.module.member.message.share;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+public class ShareLinkRegisterCreateMessage {
+    @NotNull(message = "分享链接表id不能为空")
+    Long ShareLinkId;
+    @NotNull(message = "注册用户id不能为空")
+    Long registerUserId;
+}

+ 29 - 0
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/mq/producer/shareLinkRegister/ShareLinkRegisterProducer.java

@@ -0,0 +1,29 @@
+package cn.newfeifan.mall.module.member.mq.producer.shareLinkRegister;
+
+import cn.newfeifan.mall.module.member.message.share.ShareLinkRegisterCreateMessage;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.ApplicationContext;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+/**
+ * 创建链接注册用户与平台之间的关系 Producer
+ *
+ */
+@Slf4j
+@Component
+public class ShareLinkRegisterProducer {
+    @Resource
+    private ApplicationContext applicationContext;
+
+    /**
+     * 发送 {@link ShareLinkRegisterCreateMessage} 消息
+     *
+     * @param shareLinkId 链接编号
+     * @param registerUserId 注册用户的编号
+     */
+    public void sendShareLinkRegisterMessage(Long shareLinkId,Long registerUserId){
+        applicationContext.publishEvent(new ShareLinkRegisterCreateMessage().setShareLinkId(shareLinkId).setRegisterUserId(registerUserId));
+    }
+}