package com.fdkankan.manage.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.fdkankan.manage.entity.OperLog;
import com.fdkankan.manage.service.OperLogService;
import com.fdkankan.manage.vo.OperLogPageParamVO;
import com.fdkankan.mongodb.base.MongoPageResult;
import com.fdkankan.mongodb.service.impl.MongodbBaseServiceImpl;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
/**
*
* TODO
*
*
* @author dengsixing
* @since 2022/5/30
**/
@Service
public class OperLogServiceImpl extends MongodbBaseServiceImpl implements OperLogService {
@Override
public MongoPageResult pageOperLog(OperLogPageParamVO param) {
Query query = new Query();
if(StrUtil.isNotEmpty(param.getNickName())){
query.addCriteria(Criteria.where("nickName").regex(param.getNickName()));
}
if(StrUtil.isNotEmpty(param.getUserName())){
query.addCriteria(Criteria.where("userName").regex(param.getUserName()));
}
if(Objects.nonNull(param.getStartTime()) || Objects.nonNull(param.getEndTime())){
query.addCriteria ( Criteria.where("createTime").gte(param.getStartTime()+".000"));
query.addCriteria ( Criteria.where("createTime").lte(param.getEndTime()+".999"));
}
//默认按操作时间降序排序
param.setOrderBy("createTime");
MongoPageResult operLogMongoPageResult = this.pageQuery(param, query);
return operLogMongoPageResult;
}
}