package jnpf.provider.impl;
|
|
import jnpf.base.UserInfo;
|
import jnpf.base.entity.LogEntity;
|
import jnpf.base.service.LogService;
|
import jnpf.config.ConfigValueUtil;
|
import jnpf.database.util.TenantDataSourceUtil;
|
import jnpf.provider.system.LogProvider;
|
import jnpf.util.UserProvider;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.dubbo.config.annotation.DubboService;
|
|
|
/**
|
* Dubbo服务提供者
|
*
|
* @author JNPF开发平台组
|
* @version V3.1.0
|
* @copyright 引迈信息技术有限公司(https://www.jnpfsoft.com)
|
* @date 2021-07-27
|
*/
|
@Slf4j
|
@DubboService
|
@RequiredArgsConstructor
|
public class LogProviderImpl implements LogProvider {
|
|
|
private final ConfigValueUtil configValueUtil;
|
|
private final LogService logService;
|
|
@Override
|
public void writeLogAsync(String dbId, String userId, String userName, String account, String abstracts) {
|
//判断是否为多租户
|
if (configValueUtil.isMultiTenancy()) {
|
TenantDataSourceUtil.switchTenant(dbId);
|
}
|
try {
|
if(log.isDebugEnabled()) {
|
log.debug("写入登录日志:" + userName);
|
}
|
} catch (Exception e) {
|
log.error(e.getMessage());
|
}
|
}
|
|
@Override
|
public void writeLogRequest(LogEntity logEntity) {
|
UserInfo userInfo = UserProvider.getUser();
|
if (configValueUtil.isMultiTenancy()) {
|
TenantDataSourceUtil.switchTenant(userInfo.getTenantId());
|
}
|
try {
|
if(log.isDebugEnabled()) {
|
log.debug("写入日志:{}", logEntity);
|
}
|
logService.save(logEntity);
|
} catch (Exception e) {
|
log.error(e.getMessage());
|
}
|
}
|
|
}
|