package com.ruoyi.web.controller.listener; import cn.hutool.core.collection.CollUtil; import cn.idev.excel.context.AnalysisContext; import cn.idev.excel.event.AnalysisEventListener; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.dto.asset.AssetAdDTO; import java.util.ArrayList; import java.util.List; /** * @author mitao * @date 2025/10/21 */ public class AssetAdValidatorListener extends AnalysisEventListener { private List errList = new ArrayList<>(); @Override public void invoke(AssetAdDTO assetAdDTO, AnalysisContext analysisContext) { Integer rowIndex = analysisContext.readRowHolder().getRowIndex(); rowIndex += 1; if (StringUtils.isBlank(assetAdDTO.getAssetName())) { errList.add(String.format("第%d行", rowIndex)); } } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { if (CollUtil.isNotEmpty(errList)) { throw new ServiceException(String.format("%s,资产名称不能为空",String.join(",", errList))); } } }