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()); } } }