diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiAccessLogApiImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiAccessLogApiImpl.java index ab593eb4..36367eb6 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiAccessLogApiImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiAccessLogApiImpl.java @@ -1,7 +1,9 @@ package com.win.module.infra.api.logger; import com.win.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO; -import com.win.module.infra.service.logger.ApiAccessLogService; +import com.win.module.infra.convert.logger.ApiAccessLogConvert; +import com.win.module.infra.mq.message.logger.ApiAccessLogMessage; +import com.win.module.infra.mq.producer.logger.ApiAccessLogProducer; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -17,11 +19,12 @@ import javax.annotation.Resource; public class ApiAccessLogApiImpl implements ApiAccessLogApi { @Resource - private ApiAccessLogService apiAccessLogService; + private ApiAccessLogProducer apiAccessLogProducer; @Override public void createApiAccessLog(ApiAccessLogCreateReqDTO createDTO) { - apiAccessLogService.createApiAccessLog(createDTO); + ApiAccessLogMessage accessLogMessage = ApiAccessLogConvert.INSTANCE.convertMessage(createDTO); + apiAccessLogProducer.sendMessage(accessLogMessage); } } diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiErrorLogApiImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiErrorLogApiImpl.java index 497a1035..c3664cf1 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiErrorLogApiImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiErrorLogApiImpl.java @@ -1,7 +1,9 @@ package com.win.module.infra.api.logger; import com.win.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO; -import com.win.module.infra.service.logger.ApiErrorLogService; +import com.win.module.infra.convert.logger.ApiErrorLogConvert; +import com.win.module.infra.mq.message.logger.ApiErrorLogMessage; +import com.win.module.infra.mq.producer.logger.ApiErrorLogProducer; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -17,11 +19,12 @@ import javax.annotation.Resource; public class ApiErrorLogApiImpl implements ApiErrorLogApi { @Resource - private ApiErrorLogService apiErrorLogService; + private ApiErrorLogProducer apiErrorLogProducer; @Override public void createApiErrorLog(ApiErrorLogCreateReqDTO createDTO) { - apiErrorLogService.createApiErrorLog(createDTO); + ApiErrorLogMessage errorLogMessage = ApiErrorLogConvert.INSTANCE.convertMessage(createDTO); + apiErrorLogProducer.sendMessage(errorLogMessage); } } diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/trends/TrendsApiImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/trends/TrendsApiImpl.java index c60a0f62..1aeb4681 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/trends/TrendsApiImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/trends/TrendsApiImpl.java @@ -1,7 +1,9 @@ package com.win.module.infra.api.trends; import com.win.module.infra.api.trends.dto.TrendsCreateReqDTO; -import com.win.module.infra.service.trends.TrendsService; +import com.win.module.infra.convert.trends.TrendsConvert; +import com.win.module.infra.mq.message.trends.TrendsMessage; +import com.win.module.infra.mq.producer.trends.TrendsProducer; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -17,10 +19,12 @@ import javax.annotation.Resource; public class TrendsApiImpl implements TrendsApi { @Resource - private TrendsService trendsService; + private TrendsProducer trendsProducer; @Override public void createTrends(TrendsCreateReqDTO createDTO) { - trendsService.createTrends(createDTO); + TrendsMessage trendsMessage = TrendsConvert.INSTANCE.convertMessage(createDTO); + trendsProducer.sendMessage(trendsMessage); } + } diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsBaseVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsBaseVO.java index 37610511..40326ec8 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsBaseVO.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsBaseVO.java @@ -1,12 +1,9 @@ package com.win.module.infra.controller.trends.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import javax.validation.constraints.*; +import lombok.Data; + +import javax.validation.constraints.NotNull; /** * 动态记录 Base VO,提供给添加、修改、详细的子 VO 使用 @@ -23,9 +20,9 @@ public class TrendsBaseVO { @NotNull(message = "表数据id不能为空") private Long tableId; - @Schema(description = "类型1增加2删除3修改", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @NotNull(message = "类型1增加2删除3修改不能为空") - private Byte type; + @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotNull(message = "类型") + private Integer type; @Schema(description = "内容") private String content; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsExcelVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsExcelVO.java index 58a249a0..ff571b1c 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsExcelVO.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsExcelVO.java @@ -1,13 +1,9 @@ package com.win.module.infra.controller.trends.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; - import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; /** * 动态记录 Excel VO @@ -23,7 +19,7 @@ public class TrendsExcelVO { @ExcelProperty("表数据id") private Long tableId; - @ExcelProperty("类型1增加2删除3修改") + @ExcelProperty("类型") private Byte type; @ExcelProperty("创建时间") diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsPageReqVO.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsPageReqVO.java index 546ccfd4..7aaf9dc0 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsPageReqVO.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsPageReqVO.java @@ -1,10 +1,12 @@ package com.win.module.infra.controller.trends.vo; -import lombok.*; -import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; import org.springframework.format.annotation.DateTimeFormat; + import java.time.LocalDateTime; import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -21,7 +23,7 @@ public class TrendsPageReqVO extends PageParam { @Schema(description = "表数据id", example = "9210") private Long tableId; - @Schema(description = "类型1增加2删除3修改", example = "2") + @Schema(description = "类型", example = "2") private Byte type; @Schema(description = "创建时间") diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiAccessLogConvert.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiAccessLogConvert.java index 45dcd3cd..a95faeb6 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiAccessLogConvert.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiAccessLogConvert.java @@ -5,6 +5,7 @@ import com.win.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO; import com.win.module.infra.controller.logger.vo.apiaccesslog.ApiAccessLogExcelVO; import com.win.module.infra.controller.logger.vo.apiaccesslog.ApiAccessLogRespVO; import com.win.module.infra.dal.dataobject.logger.ApiAccessLogDO; +import com.win.module.infra.mq.message.logger.ApiAccessLogMessage; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -30,4 +31,8 @@ public interface ApiAccessLogConvert { ApiAccessLogDO convert(ApiAccessLogCreateReqDTO bean); + ApiAccessLogCreateReqDTO convert(ApiAccessLogMessage bean); + + ApiAccessLogMessage convertMessage(ApiAccessLogCreateReqDTO bean); + } diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiErrorLogConvert.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiErrorLogConvert.java index fc99fae0..97909867 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiErrorLogConvert.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/logger/ApiErrorLogConvert.java @@ -5,6 +5,7 @@ import com.win.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO; import com.win.module.infra.controller.logger.vo.apierrorlog.ApiErrorLogExcelVO; import com.win.module.infra.controller.logger.vo.apierrorlog.ApiErrorLogRespVO; import com.win.module.infra.dal.dataobject.logger.ApiErrorLogDO; +import com.win.module.infra.mq.message.logger.ApiErrorLogMessage; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -28,4 +29,8 @@ public interface ApiErrorLogConvert { ApiErrorLogDO convert(ApiErrorLogCreateReqDTO bean); + ApiErrorLogCreateReqDTO convert(ApiErrorLogMessage bean); + + ApiErrorLogMessage convertMessage(ApiErrorLogCreateReqDTO bean); + } diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/package-info.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/package-info.java deleted file mode 100644 index 1853a76f..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/package-info.java +++ /dev/null @@ -1,6 +0,0 @@ -/** - * 提供 POJO 类的实体转换 - * - * 目前使用 MapStruct 框架 - */ -package com.win.module.infra.convert; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/trends/TrendsConvert.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/trends/TrendsConvert.java index d405b4de..3f60a82b 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/trends/TrendsConvert.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/trends/TrendsConvert.java @@ -7,6 +7,7 @@ import com.win.module.infra.controller.trends.vo.TrendsExcelVO; import com.win.module.infra.controller.trends.vo.TrendsRespVO; import com.win.module.infra.controller.trends.vo.TrendsUpdateReqVO; import com.win.module.infra.dal.dataobject.trends.TrendsDO; +import com.win.module.infra.mq.message.trends.TrendsMessage; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -36,4 +37,8 @@ public interface TrendsConvert { TrendsDO convert(TrendsCreateReqDTO trendsDTO); + TrendsCreateReqDTO convert(TrendsMessage bean); + + TrendsMessage convertMessage(TrendsCreateReqDTO bean); + } diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/consumer/logger/ApiAccessLogConsumer.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/consumer/logger/ApiAccessLogConsumer.java new file mode 100644 index 00000000..b3e88e1e --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/consumer/logger/ApiAccessLogConsumer.java @@ -0,0 +1,32 @@ +package com.win.module.infra.mq.consumer.logger; + +import com.win.framework.mq.core.stream.AbstractStreamMessageListener; +import com.win.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO; +import com.win.module.infra.convert.logger.ApiAccessLogConvert; +import com.win.module.infra.mq.message.logger.ApiAccessLogMessage; +import com.win.module.infra.service.logger.ApiAccessLogService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * 访问日志消费端 + * + * @author zzf + */ +@Component +@Slf4j +public class ApiAccessLogConsumer extends AbstractStreamMessageListener { + + @Resource + private ApiAccessLogService apiAccessLogService; + + @Override + public void onMessage(ApiAccessLogMessage message) { + log.info("[onMessage][消息内容({})]", message); + ApiAccessLogCreateReqDTO apiAccessLog = ApiAccessLogConvert.INSTANCE.convert(message); + apiAccessLogService.createApiAccessLog(apiAccessLog); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/consumer/logger/ApiErrorLogConsumer.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/consumer/logger/ApiErrorLogConsumer.java new file mode 100644 index 00000000..c129b399 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/consumer/logger/ApiErrorLogConsumer.java @@ -0,0 +1,32 @@ +package com.win.module.infra.mq.consumer.logger; + +import com.win.framework.mq.core.stream.AbstractStreamMessageListener; +import com.win.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO; +import com.win.module.infra.convert.logger.ApiErrorLogConvert; +import com.win.module.infra.mq.message.logger.ApiErrorLogMessage; +import com.win.module.infra.service.logger.ApiErrorLogService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * 访问日志消费端 + * + * @author zzf + */ +@Component +@Slf4j +public class ApiErrorLogConsumer extends AbstractStreamMessageListener { + + @Resource + private ApiErrorLogService apiErrorLogService; + + @Override + public void onMessage(ApiErrorLogMessage message) { + log.info("[onMessage][消息内容({})]", message); + ApiErrorLogCreateReqDTO apiAccessLog = ApiErrorLogConvert.INSTANCE.convert(message); + apiErrorLogService.createApiErrorLog(apiAccessLog); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/consumer/package-info.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/consumer/package-info.java deleted file mode 100644 index 3a240320..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/consumer/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * 消息队列的消费者 - */ -package com.win.module.infra.mq.consumer; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/consumer/trends/TrendsConsumer.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/consumer/trends/TrendsConsumer.java new file mode 100644 index 00000000..2dd3d7dd --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/consumer/trends/TrendsConsumer.java @@ -0,0 +1,32 @@ +package com.win.module.infra.mq.consumer.trends; + +import com.win.framework.mq.core.stream.AbstractStreamMessageListener; +import com.win.module.infra.api.trends.dto.TrendsCreateReqDTO; +import com.win.module.infra.convert.trends.TrendsConvert; +import com.win.module.infra.mq.message.trends.TrendsMessage; +import com.win.module.infra.service.trends.TrendsService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * 访问日志消费端 + * + * @author zzf + */ +@Component +@Slf4j +public class TrendsConsumer extends AbstractStreamMessageListener { + + @Resource + private TrendsService trendsService; + + @Override + public void onMessage(TrendsMessage message) { + log.info("[onMessage][消息内容({})]", message); + TrendsCreateReqDTO trendsCreateReqDTO = TrendsConvert.INSTANCE.convert(message); + trendsService.createTrends(trendsCreateReqDTO); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/message/logger/ApiAccessLogMessage.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/message/logger/ApiAccessLogMessage.java new file mode 100644 index 00000000..437535ff --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/message/logger/ApiAccessLogMessage.java @@ -0,0 +1,89 @@ +package com.win.module.infra.mq.message.logger; + +import com.win.framework.mq.core.stream.AbstractStreamMessage; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +/** + * 短信发送消息 + * + * @author 闻荫源码 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class ApiAccessLogMessage extends AbstractStreamMessage { + + /** + * 链路追踪编号 + */ + private String traceId; + /** + * 用户编号 + */ + private Long userId; + /** + * 应用名 + */ + @NotNull(message = "应用名不能为空") + private String applicationName; + + /** + * 请求方法名 + */ + @NotNull(message = "http 请求方法不能为空") + private String requestMethod; + /** + * 访问地址 + */ + @NotNull(message = "访问地址不能为空") + private String requestUrl; + /** + * 请求参数 + */ + @NotNull(message = "请求参数不能为空") + private String requestParams; + /** + * 用户 IP + */ + @NotNull(message = "ip 不能为空") + private String userIp; + /** + * 浏览器 UA + */ + @NotNull(message = "User-Agent 不能为空") + private String userAgent; + + /** + * 开始请求时间 + */ + @NotNull(message = "开始请求时间不能为空") + private LocalDateTime beginTime; + /** + * 结束请求时间 + */ + @NotNull(message = "结束请求时间不能为空") + private LocalDateTime endTime; + /** + * 执行时长,单位:毫秒 + */ + @NotNull(message = "执行时长不能为空") + private Integer duration; + /** + * 结果码 + */ + @NotNull(message = "错误码不能为空") + private Integer resultCode; + /** + * 结果提示 + */ + private String resultMsg; + + @Override + public String getStreamKey() { + return "api.access.log.create"; + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/message/logger/ApiErrorLogMessage.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/message/logger/ApiErrorLogMessage.java new file mode 100644 index 00000000..3d2341cd --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/message/logger/ApiErrorLogMessage.java @@ -0,0 +1,110 @@ +package com.win.module.infra.mq.message.logger; + +import com.win.framework.mq.core.stream.AbstractStreamMessage; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +/** + * 短信发送消息 + * + * @author 闻荫源码 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class ApiErrorLogMessage extends AbstractStreamMessage { + + /** + * 链路编号 + */ + private String traceId; + /** + * 账号编号 + */ + private Long userId; + /** + * 应用名 + */ + @NotNull(message = "应用名不能为空") + private String applicationName; + + /** + * 请求方法名 + */ + @NotNull(message = "http 请求方法不能为空") + private String requestMethod; + /** + * 访问地址 + */ + @NotNull(message = "访问地址不能为空") + private String requestUrl; + /** + * 请求参数 + */ + @NotNull(message = "请求参数不能为空") + private String requestParams; + /** + * 用户 IP + */ + @NotNull(message = "ip 不能为空") + private String userIp; + /** + * 浏览器 UA + */ + @NotNull(message = "User-Agent 不能为空") + private String userAgent; + + /** + * 异常时间 + */ + @NotNull(message = "异常时间不能为空") + private LocalDateTime exceptionTime; + /** + * 异常名 + */ + @NotNull(message = "异常名不能为空") + private String exceptionName; + /** + * 异常发生的类全名 + */ + @NotNull(message = "异常发生的类全名不能为空") + private String exceptionClassName; + /** + * 异常发生的类文件 + */ + @NotNull(message = "异常发生的类文件不能为空") + private String exceptionFileName; + /** + * 异常发生的方法名 + */ + @NotNull(message = "异常发生的方法名不能为空") + private String exceptionMethodName; + /** + * 异常发生的方法所在行 + */ + @NotNull(message = "异常发生的方法所在行不能为空") + private Integer exceptionLineNumber; + /** + * 异常的栈轨迹异常的栈轨迹 + */ + @NotNull(message = "异常的栈轨迹不能为空") + private String exceptionStackTrace; + /** + * 异常导致的根消息 + */ + @NotNull(message = "异常导致的根消息不能为空") + private String exceptionRootCauseMessage; + /** + * 异常导致的消息 + */ + @NotNull(message = "异常导致的消息不能为空") + private String exceptionMessage; + + @Override + public String getStreamKey() { + return "api.error.log.create"; + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/message/package-info.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/message/package-info.java deleted file mode 100644 index 02209dff..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/message/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * 消息队列的消息 - */ -package com.win.module.infra.mq.message; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/message/trends/TrendsMessage.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/message/trends/TrendsMessage.java new file mode 100644 index 00000000..4741a2db --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/message/trends/TrendsMessage.java @@ -0,0 +1,35 @@ +package com.win.module.infra.mq.message.trends; + +import com.win.framework.mq.core.stream.AbstractStreamMessage; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +/** + * 短信发送消息 + * + * @author 闻荫源码 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class TrendsMessage extends AbstractStreamMessage { + + @NotNull(message = "表名不能为空") + private String tableName; + + @NotNull(message = "表数据id不能为空") + private Long tableId; + + @NotNull(message = "类型不能为空") + private Integer type; + + @NotNull(message = "内容不能为空") + private String content; + + @Override + public String getStreamKey() { + return "trends.create"; + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/producer/logger/ApiAccessLogProducer.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/producer/logger/ApiAccessLogProducer.java new file mode 100644 index 00000000..3c84bffb --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/producer/logger/ApiAccessLogProducer.java @@ -0,0 +1,26 @@ +package com.win.module.infra.mq.producer.logger; + +import com.win.framework.mq.core.RedisMQTemplate; +import com.win.module.infra.mq.message.logger.ApiAccessLogMessage; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +@Slf4j +@Component +public class ApiAccessLogProducer { + + @Resource + private RedisMQTemplate redisMQTemplate; + + /** + * 创建访问记录 + * + * @param apiAccessLogMessage + */ + public void sendMessage(ApiAccessLogMessage apiAccessLogMessage) { + redisMQTemplate.send(apiAccessLogMessage); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/producer/logger/ApiErrorLogProducer.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/producer/logger/ApiErrorLogProducer.java new file mode 100644 index 00000000..40789ae4 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/producer/logger/ApiErrorLogProducer.java @@ -0,0 +1,26 @@ +package com.win.module.infra.mq.producer.logger; + +import com.win.framework.mq.core.RedisMQTemplate; +import com.win.module.infra.mq.message.logger.ApiErrorLogMessage; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +@Slf4j +@Component +public class ApiErrorLogProducer { + + @Resource + private RedisMQTemplate redisMQTemplate; + + /** + * 创建访问记录 + * + * @param apiErrorLogMessage + */ + public void sendMessage(ApiErrorLogMessage apiErrorLogMessage) { + redisMQTemplate.send(apiErrorLogMessage); + } + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/producer/package-info.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/producer/package-info.java deleted file mode 100644 index 1c75e0d8..00000000 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/producer/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * 消息队列的生产者 - */ -package com.win.module.infra.mq.producer; diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/producer/trends/TrendsProducer.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/producer/trends/TrendsProducer.java new file mode 100644 index 00000000..897512c1 --- /dev/null +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/producer/trends/TrendsProducer.java @@ -0,0 +1,26 @@ +package com.win.module.infra.mq.producer.trends; + +import com.win.framework.mq.core.RedisMQTemplate; +import com.win.module.infra.mq.message.trends.TrendsMessage; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +@Slf4j +@Component +public class TrendsProducer { + + @Resource + private RedisMQTemplate redisMQTemplate; + + /** + * 创建访问记录 + * + * @param trendsMessage + */ + public void sendMessage(TrendsMessage trendsMessage) { + redisMQTemplate.send(trendsMessage); + } + +} diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/mq/producer/mail/MailProducer.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/mq/producer/mail/MailProducer.java index 0989b474..2fa8bb53 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/mq/producer/mail/MailProducer.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/mq/producer/mail/MailProducer.java @@ -30,7 +30,7 @@ public class MailProducer { * @param title 邮件标题 * @param content 邮件内容 */ - public void sendMailSendMessage(Long sendLogId, String mail, Long accountId, + public void sendMessage(Long sendLogId, String mail, Long accountId, String nickname, String title, String content) { MailSendMessage message = new MailSendMessage() .setLogId(sendLogId).setMail(mail).setAccountId(accountId) diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/mq/producer/sms/SmsProducer.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/mq/producer/sms/SmsProducer.java index 201d8f1f..f0e130af 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/mq/producer/sms/SmsProducer.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/mq/producer/sms/SmsProducer.java @@ -31,7 +31,7 @@ public class SmsProducer { * @param apiTemplateId 短信模板编号 * @param templateParams 短信模板参数 */ - public void sendSmsSendMessage(Long logId, String mobile, + public void sendMessage(Long logId, String mobile, Long channelId, String apiTemplateId, List> templateParams) { SmsSendMessage message = new SmsSendMessage().setLogId(logId).setMobile(mobile); message.setChannelId(channelId).setApiTemplateId(apiTemplateId).setTemplateParams(templateParams); diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailSendServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailSendServiceImpl.java index 38764038..62d912ab 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailSendServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/mail/MailSendServiceImpl.java @@ -79,7 +79,7 @@ public class MailSendServiceImpl implements MailSendService { account, template, content, templateParams, isSend); // 发送 MQ 消息,异步执行发送短信 if (isSend) { - mailProducer.sendMailSendMessage(sendLogId, mail, account.getId(), + mailProducer.sendMessage(sendLogId, mail, account.getId(), template.getNickname(), title, content); } return sendLogId; diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsSendServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsSendServiceImpl.java index 41756c66..c446a2bb 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsSendServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/sms/SmsSendServiceImpl.java @@ -81,7 +81,7 @@ public class SmsSendServiceImpl implements SmsSendService { // 发送 MQ 消息,异步执行发送短信 if (isSend) { - smsProducer.sendSmsSendMessage(sendLogId, mobile, template.getChannelId(), + smsProducer.sendMessage(sendLogId, mobile, template.getChannelId(), template.getApiTemplateId(), newTemplateParams); } return sendLogId;