71 lines
2.9 KiB
Java
71 lines
2.9 KiB
Java
package com.gunshi.project.ss.service;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.gunshi.project.ss.entity.so.DocOperateLogPageSo;
|
|
|
|
import com.gunshi.project.ss.mapper.DocOperateLogMapper;
|
|
|
|
import com.gunshi.project.ss.model.DocCenter;
|
|
import com.gunshi.project.ss.model.DocOperateLog;
|
|
import com.gunshi.project.ss.model.FileAssociations;
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
|
import com.ruoyi.system.mapper.SysUserMapper;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.util.List;
|
|
import java.util.stream.Collectors;
|
|
|
|
@Service
|
|
@Slf4j
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public class DocOperateLogService extends ServiceImpl<DocOperateLogMapper, DocOperateLog> {
|
|
|
|
@Autowired
|
|
private SysUserMapper sysUserMapper;
|
|
|
|
public Page<DocOperateLog> pageInfo(DocOperateLogPageSo pageSo) {
|
|
LambdaQueryWrapper<DocOperateLog> queryWrapper = new LambdaQueryWrapper<>();
|
|
if(pageSo.getDateTimeRangeSo() != null){
|
|
queryWrapper.ge(DocOperateLog::getCreateTime,pageSo.getDateTimeRangeSo().getStart());
|
|
queryWrapper.le(DocOperateLog::getCreateTime,pageSo.getDateTimeRangeSo().getEnd());
|
|
}
|
|
if(pageSo.getOperateType() != null){
|
|
queryWrapper.eq(DocOperateLog::getOperateType,pageSo.getOperateType());
|
|
}
|
|
queryWrapper.orderByDesc(DocOperateLog::getCreateTime);
|
|
Page<DocOperateLog> docOperateLogPage = this.baseMapper.selectPage(pageSo.getPageSo().toPage(), queryWrapper);
|
|
for (DocOperateLog record : docOperateLogPage.getRecords()) {
|
|
SysUser sysUser = sysUserMapper.selectUserById(record.getUserId());
|
|
if(sysUser != null){
|
|
record.setUserName(sysUser.getNickName());
|
|
}
|
|
}
|
|
return docOperateLogPage;
|
|
}
|
|
|
|
public void saveLog(DocCenter docCenter,Integer operateType){
|
|
DocOperateLog docOperateLog = new DocOperateLog();
|
|
docOperateLog.setDocName(docCenter.getDocName());
|
|
docOperateLog.setOperateType(operateType);
|
|
docOperateLog.setCreateTime(LocalDateTime.now());
|
|
docOperateLog.setDocNumber(docCenter.getDocNumber());
|
|
docOperateLog.setUserId(docCenter.getUserId());
|
|
List<FileAssociations> files = docCenter.getFiles();
|
|
if(files!=null && files.size()>0){
|
|
List<String> collect = files.stream()
|
|
.map(o -> o.getFileName())
|
|
.collect(Collectors.toList());
|
|
String fileNames = String.join(",", collect);
|
|
docOperateLog.setFileName(fileNames);
|
|
}
|
|
save(docOperateLog);
|
|
}
|
|
}
|