package com.xiaopeng.operation.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.xiaopeng.api.model.operation.XpAdminOperationLog;
|
import com.xiaopeng.common.core.utils.StringUtils;
|
import com.xiaopeng.common.core.web.page.PageInfo;
|
import com.xiaopeng.operation.mapper.XpAdminOperationLogMapper;
|
import com.xiaopeng.operation.query.AdminOperationLogPageQuery;
|
import com.xiaopeng.operation.service.IXpAdminOperationLogService;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
|
/**
|
* 管理后台操作记录服务实现
|
*/
|
@Service
|
public class XpAdminOperationLogServiceImpl extends ServiceImpl<XpAdminOperationLogMapper, XpAdminOperationLog>
|
implements IXpAdminOperationLogService {
|
|
@Override
|
public PageInfo<XpAdminOperationLog> pageList(AdminOperationLogPageQuery query) {
|
PageInfo<XpAdminOperationLog> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
|
return page(pageInfo, buildQueryWrapper(query));
|
}
|
|
@Override
|
public List<XpAdminOperationLog> exportList(AdminOperationLogPageQuery query) {
|
return list(buildQueryWrapper(query));
|
}
|
|
private LambdaQueryWrapper<XpAdminOperationLog> buildQueryWrapper(AdminOperationLogPageQuery query) {
|
LambdaQueryWrapper<XpAdminOperationLog> wrapper = new LambdaQueryWrapper<>();
|
if (query == null) {
|
return wrapper.orderByDesc(XpAdminOperationLog::getOperationTime);
|
}
|
if (query.getBusinessType() != null) {
|
wrapper.eq(XpAdminOperationLog::getBusinessType, query.getBusinessType());
|
}
|
if (StringUtils.isNotEmpty(query.getBusinessTypeName())) {
|
wrapper.like(XpAdminOperationLog::getBusinessTypeName, query.getBusinessTypeName());
|
}
|
if (StringUtils.isNotEmpty(query.getOperatorName())) {
|
wrapper.like(XpAdminOperationLog::getOperatorName, query.getOperatorName());
|
}
|
if (StringUtils.isNotEmpty(query.getOperatorAccount())) {
|
wrapper.like(XpAdminOperationLog::getOperatorAccount, query.getOperatorAccount());
|
}
|
if (query.getOperationType() != null) {
|
wrapper.eq(XpAdminOperationLog::getOperationType, query.getOperationType());
|
}
|
if (query.getStartTime() != null && query.getEndTime() != null) {
|
wrapper.between(XpAdminOperationLog::getOperationTime, query.getStartTime(), query.getEndTime());
|
}
|
return wrapper.orderByDesc(XpAdminOperationLog::getOperationTime);
|
}
|
}
|