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.extern.slf4j.Slf4j;
|
import org.apache.dubbo.config.annotation.DubboService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
/**
|
* Dubbo服务提供者
|
*
|
* @author JNPF开发平台组
|
* @version V3.1.0
|
* @copyright 引迈信息技术有限公司(https://www.jnpfsoft.com)
|
* @date 2021-07-27
|
*/
|
@Slf4j
|
@DubboService
|
public class LogProviderImpl implements LogProvider {
|
|
@Autowired
|
private ConfigValueUtil configValueUtil;
|
@Autowired
|
private 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);
|
}
|
// logService.writeLogAsync(userInfo.getUserId(), userInfo.getUserName() + "/" + userInfo.getUserAccount(), "登录成功", (System.currentTimeMillis() - millis));
|
} 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());
|
}
|
}
|
|
}
|