package com.fdkankan.fusion.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fdkankan.fusion.common.PageInfo; import com.fdkankan.fusion.entity.SceneDownLog; import com.fdkankan.fusion.entity.TmDepartment; import com.fdkankan.fusion.mapper.ISceneDownLogMapper; import com.fdkankan.fusion.request.SceneDownLogParam; import com.fdkankan.fusion.service.ISceneDownLogService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.fusion.service.ITmDepartmentService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; /** *

* 服务实现类 *

* * @author * @since 2023-12-28 */ @Service public class SceneDownLogServiceImpl extends ServiceImpl implements ISceneDownLogService { @Autowired ITmDepartmentService departmentService; @Override public Object pageList(SceneDownLogParam param) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); if(StringUtils.isNotBlank(param.getDeptId())){ List sonByDeptId = departmentService.getSonByDeptId(param.getDeptId()); List deptIds = sonByDeptId.stream().map(TmDepartment::getId).collect(Collectors.toList()); deptIds.add(param.getDeptId()); wrapper.in(SceneDownLog::getDeptId,deptIds); } if(StringUtils.isNotBlank(param.getUserName())){ wrapper.like(SceneDownLog::getUserName,param.getUserName()); } if(StringUtils.isNotBlank(param.getNickName())){ wrapper.like(SceneDownLog::getNickName,param.getNickName()); } if(StringUtils.isNotBlank(param.getCreateTime())){ wrapper.like(SceneDownLog::getCreateTime,param.getCreateTime()); } if(StringUtils.isNotBlank(param.getSceneTitle())){ wrapper.like(SceneDownLog::getSceneTitle,param.getSceneTitle()); } if(StringUtils.isNotBlank(param.getSceneNum())){ wrapper.like(SceneDownLog::getSceneNum,param.getSceneNum()); } if(StringUtils.isNotBlank(param.getSnCode())){ wrapper.like(SceneDownLog::getSnCode,param.getSnCode()); } if(StringUtils.isNotBlank(param.getStartCreateTime())){ wrapper.ge(SceneDownLog::getCreateTime,param.getStartCreateTime()); } if(StringUtils.isNotBlank(param.getEndCreateTime())){ wrapper.le(SceneDownLog::getCreateTime,param.getEndCreateTime()); } wrapper.orderByDesc(SceneDownLog::getCreateTime); Page page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper); return PageInfo.PageInfo(page); } @Override public SceneDownLog getByStatusAndNum(String sceneNum, Integer status) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SceneDownLog::getSceneNum,sceneNum); wrapper.eq(SceneDownLog::getStatus,status); wrapper.orderByDesc(SceneDownLog::getId); List list = this.list(wrapper); if(list != null && !list.isEmpty()){ return list.get(0); } return null; } }