无关风月
2024-12-09 2053b8fe0e98d4b4449bc756a93ced78f42277c4
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package com.jilongda.manage.utils;
 
import com.jilongda.common.model.TCustomers;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.StringUtils;
 
import java.util.Objects;
@Slf4j
public class GoodsImportValidator {
 
    public static boolean validateGoods(TGoodsImportExcels goodsImportExcel) {
        try {
            return !isValidGoods(goodsImportExcel);
        } catch (Exception e) {
            // 记录日志,提供详细的错误信息
            log.error("Validation error in GoodsImportExcel: {}", e.getMessage());
            // 可以根据具体情况决定是否需要抛出异常或如何处理这些异常
            throw e;
        }
    }
    public static boolean validateCustomers(TCustomers customers) {
        try {
            return !isValidCustomers(customers);
        } catch (Exception e) {
            // 记录日志,提供详细的错误信息
            log.error("Validation error in GoodsImportExcel: {}", e.getMessage());
            // 可以根据具体情况决定是否需要抛出异常或如何处理这些异常
            throw e;
        }
    }
 
    /**
     * 校验商品导入Excel数据
     *
     * @param goodsImportExcel 商品导入Excel数据
     * @return 校验结果
     */
    private static boolean isValidGoods(TGoodsImportExcels goodsImportExcel) {
        return hasLength(goodsImportExcel.getGoodsName())
                && hasLength(goodsImportExcel.getGoodsNo())
                && hasLength(goodsImportExcel.getGoodsBrand())
                && hasLength(goodsImportExcel.getGoodsNature())
                && hasLength(goodsImportExcel.getGoodsType())
                && hasLength(goodsImportExcel.getGoodsRemark())
                && isNotNullAndNonNegative(goodsImportExcel.getGoodsDosage())
                && hasLength(goodsImportExcel.getGoodsContent())
                && hasLength(goodsImportExcel.getGoodsSpecifications())
                && hasLength(goodsImportExcel.getWarehouse())
                && isNotNull(goodsImportExcel.getGeneralManagerPrice())
                && isNotNull(goodsImportExcel.getSalesDirector())
                && isNotNull(goodsImportExcel.getAccountManager())
                && hasLength(goodsImportExcel.getUserPhones());
    }
 
    /**
     * 校验客户导入Excel数据
     *
     * @param customers 客户导入Excel数据
     * @return 校验结果
     */
    private static boolean isValidCustomers(TCustomers customers) {
        return hasLength(customers.getCustomerName())
                && hasLength(customers.getRecipientPhone())
                && hasLength(customers.getCompanyName())
                && hasLength(customers.getRecipientName())
                && hasLength(customers.getSubsidiaryName())
                && hasLength(customers.getRecipientAddress());
    }
 
    private static boolean hasLength(String str) {
        return StringUtils.hasLength(str);
    }
 
    private static boolean isNotNull(Object obj) {
        return Objects.nonNull(obj);
    }
 
    private static boolean isNotNullAndNonNegative(Integer value) {
        return Objects.nonNull(value) && value >= 0;
    }
 
    // 自定义异常类
    class GoodsImportException extends RuntimeException {
        public GoodsImportException(String message) {
            super(message);
        }
    }
}