package com.gunshi.project.hsz.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gunshi.project.hsz.entity.so.CommonDataPageSo; import com.gunshi.project.hsz.mapper.SafetyHazardInvestMapper; import com.gunshi.project.hsz.model.SafetyHazardInvest; 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.io.Serializable; import java.util.List; import java.util.Objects; /** * 描述: 安全隐患排查 * author: wanyan * date: 2024-08-21 10:40:37 */ @Service @Slf4j @Transactional(rollbackFor = Exception.class) public class SafetyHazardInvestService extends ServiceImpl { @Autowired private FileAssociationsService fileService; public Page pageQuery(CommonDataPageSo page) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); if (ObjectUtils.isNotNull(page.getName())) { query.like(SafetyHazardInvest::getHazardDesc, page.getName()); } if (page.getDateSo() != null && page.getDateSo().getStart() != null) { query.ge(SafetyHazardInvest::getHazardDate, page.getDateSo().getStart()); } if (page.getDateSo() != null && page.getDateSo().getEnd() != null) { query.le(SafetyHazardInvest::getHazardDate, page.getDateSo().getEnd()); } query.orderByDesc(SafetyHazardInvest::getHazardDate); Page res = this.page(page.getPageSo().toPage(), query); if (res.getRecords() != null) { fillAttach(res.getRecords()); } return res; } private void fillAttach(List ret) { for (SafetyHazardInvest record : ret) { record.setFiles(fileService.getFiles(getGroupId(), String.valueOf(record.getId()))); } } public String getGroupId() { return "safetyHazardInvest"; } public SafetyHazardInvest saveData(SafetyHazardInvest dto) { dto.setId(IdWorker.getId()); boolean result = this.save(dto); if (result) { fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); } return dto; } public SafetyHazardInvest updateData(SafetyHazardInvest dto) { if (Objects.isNull(this.getById(dto.getId()))) { throw new IllegalArgumentException("当前数据不存在"); } boolean result = this.updateById(dto); if (result) { fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); } return dto; } public Boolean delData(Serializable id) { if (Objects.isNull(this.getById(id))) { throw new IllegalArgumentException("当前数据不存在"); } boolean data = this.removeById(id); if (data) { fileService.deleteFile(getGroupId(), id.toString()); } return data; } }