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