package jnpf.base.service.impl; import cn.hutool.core.util.ObjectUtil; import cn.hutool.http.useragent.UserAgent; import cn.hutool.http.useragent.UserAgentUtil; import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.google.common.collect.Lists; import jnpf.base.service.SuperServiceImpl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jnpf.base.LogSortEnum; import jnpf.base.PaginationTime; import jnpf.base.UserInfo; import jnpf.base.mapper.LogMapper; import jnpf.base.model.logmodel.PaginationLogModel; import jnpf.base.service.LogService; import jnpf.base.entity.LogEntity; import jnpf.config.ConfigValueUtil; import jnpf.database.util.TenantDataSourceUtil; import jnpf.exception.LoginException; import jnpf.permission.model.user.UserLogForm; import jnpf.util.*; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; /** * 系统日志 * * @author JNPF开发平台组 * @version V3.1.0 * @copyright 引迈信息技术有限公司(https://www.jnpfsoft.com) * @date 2019年9月27日 上午9:18 */ @Service public class LogServiceImpl extends SuperServiceImpl implements LogService { @Autowired private ConfigValueUtil configValueUtil; @Override public List getList(int category, PaginationLogModel paginationTime, Boolean filterUser) { return this.baseMapper.getList(category,paginationTime,filterUser); } @Override public LogEntity getInfo(String id) { return this.baseMapper.getInfo(id); } @Override public boolean delete(String[] ids) { return this.baseMapper.delete(ids); } @Override public void writeLogAsync(String userId, String userName, String abstracts, long requestDuration) { this.baseMapper.writeLogAsync(userId, userName, abstracts, null, 1, null, requestDuration); } @Override public void writeLogAsync(String userId, String userName, String abstracts, UserInfo userInfo, int loginMark, Integer loginType, long requestDuration) { if (configValueUtil.isMultiTenancy()) { try { TenantDataSourceUtil.switchTenant(userInfo.getTenantId()); } catch (Exception e) { return; } } this.baseMapper.writeLogAsync(userId,userName,abstracts,userInfo,loginMark,loginType,requestDuration); } @Override public void writeLogAsync(LogEntity entity) { this.baseMapper.writeLogAsync(entity); } @Override public void deleteHandleLog(String type, Integer userOnline, String dataInterfaceId) { this.baseMapper.deleteHandleLog(type,userOnline,dataInterfaceId); } @Override public Set queryList() { return this.baseMapper.queryList(); } }