无关风月
2 天以前 eaef137e2a787d55f5d31b39ec3a104675368579
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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<AssetAdDTO> {
    private List<String> 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)));
        }
    }
}