/*
 * Copyright (c) 2018-2028, AoKunSang All rights reserved.
 * 我问青山何时老，青山问我几时闲，
 * 不是闲人闲不得，能闲必非等闲人。
 */
package org.springblade.core.mp.util;

import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.ibatis.reflection.invoker.Invoker;

/**
 * 业务ID字段对象
 *
 * @author wookvn
 * @datetime 2024-12-24 16:00:15
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BizIdInfo {

    /**
     * 字段名
     */
    private String columnName;

    /**
     * getter方法
     */
    private Invoker bizIdGetterInvoker;

    /**
     * <p>获取bizId的值</p>
     * @author wookvn
     * @datetime 2024-12-24 16:17:25
     * @param entity: （参数说明）
     * @return java.lang.Object
     **/
    public Object getBizId(Object entity) {
        try {
            return bizIdGetterInvoker.invoke(entity, (Object[])null);
        } catch (ReflectiveOperationException var4) {
            throw ExceptionUtils.mpe("Error: Cannot read property in %s.  Cause:", var4, new Object[]{entity.getClass().getSimpleName()});
        }
    }
}
