@Component
@Slf4j
public class ManualValidateComponent implements InitializingBean {
    private static SpringValidatorAdapter validator;
    @Autowired
    private SpringValidatorAdapter validatorAdapter;
    /**
     * 预寻仓校验
     *
     * @param object 校验对象
     * @param groups 校验组
     */
    public static void groupsValidate(Object object, Class<?>... groups) {
        Set<ConstraintViolation<Object>> validate = validator.validate(object, groups);
        if (!CollectionUtils.isEmpty(validate)) {
            ConstraintViolation<Object> objectConstraintViolation = validate.stream().findFirst().get();
            String message = objectConstraintViolation.getMessage();
            String errorInfoByNo = ErrorCodeEnums.getErrorInfoByNo(message);
            log.error("校验失败:{} {}", message, errorInfoByNo);
            ErrorCodeEnums errorCodeEnum = ErrorCodeEnums.getErrorCodeEnum(message);
            I18nAssert.isTrue(false, errorCodeEnum);
        }
    }
    @Override
    public void afterPropertiesSet() throws Exception {
        validator = validatorAdapter;
    }
}
@NotBlank(message = "error.order.trans.8029", groups = {
        OrderTransactionAppValidationGroup.SapSdSendOut.class,
        OrderTransactionAppValidationGroup.ExchangeOrder.class,
        OrderTransactionAppValidationGroup.ReturnOrder.class,
        OrderTransactionAppValidationGroup.RefundOrder.class,
        OrderTransactionAppValidationGroup.DebitCreditOrderCreate.class
})
private String orderType;
// 订单基本校验,所有订单类型都校验部分
ManualValidateComponent.groupsValidate(orderHeadDTO, OrderTransactionAppValidationGroup.Base.class);