package com.njcn.jbsyncdata.controller; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.njcn.jbsyncdata.pojo.DisPhotovoltaic10Excel; import com.njcn.jbsyncdata.pojo.DisPhotovoltaic380Excel; import com.njcn.jbsyncdata.pojo.ExcelData; import com.njcn.jbsyncdata.service.IBusinessService; import com.njcn.jbsyncdata.util.StreamUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Collectors; /** * @author wr * @description * @date 2023/9/26 15:28 */ @RestController @Slf4j @Api(tags = "冀北数据管理") @RequestMapping("/dataImport") @RequiredArgsConstructor public class DisPhotovoltaicController { private final IBusinessService businessService; @ApiOperation(value = "获取10kv分布式光伏接入情况") @PostMapping("/import10") public void importTakeOrder(MultipartFile file) throws Exception { List list = EasyExcel.read(file.getInputStream()) .head(ExcelData.class) .headRowNumber(2) .sheet(2).doReadSync(); //排重 list = list.stream() .filter(t -> StrUtil.isNotBlank(t.getGenerationUserID())) .filter(StreamUtil.distinctByKey(ExcelData::getGenerationUserID)) .collect(Collectors.toList()); businessService.testInterfaceByUserId(list); System.out.println(); } @ApiOperation(value = "获取380kv分布式光伏接入情况") @PostMapping("/import380") public void import380(MultipartFile file) throws Exception { List list = EasyExcel.read(file.getInputStream()) .head(ExcelData.class) .headRowNumber(2) .sheet(3).doReadSync(); //排重 list = list.stream() .filter(t -> StrUtil.isNotBlank(t.getGenerationUserID())) .filter(StreamUtil.distinctByKey(ExcelData::getGenerationUserID)) .collect(Collectors.toList()); businessService.testInterfaceByUserId(list); System.out.println(); } }