龚焕茏
2024-03-05 73ea78235e216c3d34d9ce10723af046737635d5
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsSceneryOperationDataServiceImpl.java
@@ -9,17 +9,18 @@
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.demo.domain.RsSceneryInfo;
import org.dromara.demo.domain.RsSceneryOperationData;
import org.dromara.demo.domain.bo.RsSceneryOperationDataBo;
import org.dromara.demo.domain.vo.RsSceneryOperationDataVo;
import org.dromara.demo.mapper.RsSceneryInfoMapper;
import org.dromara.demo.mapper.RsSceneryOperationDataMapper;
import org.dromara.demo.service.IRsSceneryOperationDataService;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
 * 景区运行数据Service业务层处理
@@ -32,6 +33,7 @@
public class RsSceneryOperationDataServiceImpl implements IRsSceneryOperationDataService {
    private final RsSceneryOperationDataMapper baseMapper;
    private final RsSceneryInfoMapper sceneryInfoMapper;
    /**
     * 查询景区运行数据
@@ -122,4 +124,26 @@
        }
        return baseMapper.deleteBatchIds(ids) > 0;
    }
    @Override
    public String importExcel(List<RsSceneryOperationData> list) {
        List<String> sceneryInfoNames = new ArrayList<>();
        // 查询数据库是否存在导入的景区
        Map<String, RsSceneryInfo> sceneryInfoMap = sceneryInfoMapper.selectList().stream()
            .collect(Collectors.toMap(RsSceneryInfo::getSceneryName, Function.identity()));
        for (RsSceneryOperationData operationData : list) {
            String sceneryName = operationData.getSceneryInfoName();
            RsSceneryInfo sceneryInfo = sceneryInfoMap.get(sceneryName);
            if (sceneryInfo != null) {
                operationData.setSceneryInfoId(sceneryInfo.getId());
            } else {
                sceneryInfoNames.add(operationData.getSceneryInfoName());
            }
        }
        if (!sceneryInfoNames.isEmpty()) {
            return "很抱歉,导入失败!" + String.join("、", sceneryInfoNames) + "景区不存在,请前往【景区配置】添加后重试!";
        }
        baseMapper.insertBatch(list);
        return "恭喜您,数据已全部导入成功!共"  + list.size() + "条!";
    }
}