flow调msg异步和调log异步
This commit is contained in:
@@ -71,6 +71,12 @@
|
||||
<artifactId>honeycom-msg-api</artifactId>
|
||||
<version>5.4.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
<version>5.8.38</version>
|
||||
</dependency>
|
||||
<!--必备: 操作数据源相关-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.honeycombis</groupId>-->
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.honeycombis.honeycom.common.feign.annotation.EnableHoneycomFeignClien
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.scheduling.annotation.EnableAsync;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
|
||||
/**
|
||||
@@ -16,6 +17,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
@EnableDiscoveryClient
|
||||
@SpringBootApplication
|
||||
@EnableScheduling
|
||||
@EnableAsync
|
||||
public class HoneycomSpdmApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(HoneycomSpdmApplication.class, args);
|
||||
|
||||
@@ -22,12 +22,12 @@ package com.honeycombis.honeycom.spdm.controller;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.honeycombis.honeycom.common.core.util.R;
|
||||
import com.honeycombis.honeycom.spdm.dto.SysLogDto;
|
||||
import com.honeycombis.honeycom.spdm.feign.SpdmServiceFeignClient;
|
||||
import com.honeycombis.honeycom.spdm.service.SpdmService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -41,20 +41,17 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@Slf4j
|
||||
public class SpdmLogController {
|
||||
|
||||
@Resource
|
||||
private SpdmServiceFeignClient spdmServiceFeignClient;
|
||||
@Autowired
|
||||
private SpdmService spdmService;
|
||||
|
||||
@Operation(summary = "记录日志")
|
||||
@PostMapping(value = "/saveLog")
|
||||
public R<Void> saveLog(@RequestBody SysLogDto sysLogDto) {
|
||||
// R<Boolean> r = remoteLogServiceFeign.saveLog(messageDto, SecurityConstants.FROM_IN);
|
||||
SysLogDto sysLog = new SysLogDto();
|
||||
sysLog.setTitle("登录成功");
|
||||
sysLog.setServiceId("simulation-system");
|
||||
sysLog.setTenantId(sysLogDto.getTenantId());
|
||||
sysLog.setCreateBy(sysLogDto.getCreateBy());
|
||||
log.info("[SpdmLogController] sysLog param:{}", JSONUtil.toJsonStr(sysLog));
|
||||
spdmServiceFeignClient.saveLog(sysLog);
|
||||
log.info("[SpdmLogController] 接收到日志保存请求:{}", JSONUtil.toJsonStr(sysLogDto));
|
||||
|
||||
// 异步执行日志保存
|
||||
spdmService.asyncSaveLog(sysLogDto);
|
||||
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,34 @@
|
||||
package com.honeycombis.honeycom.spdm.service;
|
||||
|
||||
public interface SpdmService {
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.honeycombis.honeycom.spdm.dto.SysLogDto;
|
||||
import com.honeycombis.honeycom.spdm.feign.SpdmServiceFeignClient;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
public class SpdmService {
|
||||
|
||||
@Resource
|
||||
private SpdmServiceFeignClient spdmServiceFeignClient;
|
||||
|
||||
@Async
|
||||
public void asyncSaveLog(SysLogDto sysLogDto) {
|
||||
try {
|
||||
SysLogDto sysLog = new SysLogDto();
|
||||
sysLog.setTitle("登录成功");
|
||||
sysLog.setServiceId("simulation-system");
|
||||
sysLog.setTenantId(sysLogDto.getTenantId());
|
||||
sysLog.setCreateBy(sysLogDto.getCreateBy());
|
||||
log.info("[asyncSaveLog] sysLog param:{}", JSONUtil.toJsonStr(sysLog));
|
||||
spdmServiceFeignClient.saveLog(sysLog);
|
||||
} catch (Exception e) {
|
||||
log.error("异步保存日志失败: {}", e.getMessage(), e);
|
||||
// 这里可以添加降级处理,比如保存到本地文件或数据库
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
package com.honeycombis.honeycom.spdm.service.impl;
|
||||
|
||||
import com.honeycombis.honeycom.spdm.service.SpdmService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class SpdmServiceImpl implements SpdmService {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user