package com.ruoyi.common.utils;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * JSON序列化、反序列化工具类
 */
public class JsonUtils {

    /**
     * 转为BigDecimal
     * @param value
     * @return
     */
    public static BigDecimal getBigDecimal(Object value) {
        if (value == null) {
            return null;
        }
        if (value instanceof BigDecimal) {
            return (BigDecimal) value;
        }
        try {
            return new BigDecimal(value.toString());
        } catch (Exception e) {
            return null;
        }
    }

    /**
     * 转为 Integer
     * @param value
     * @return
     */
    public static Integer getInteger(Object value) {
        if (value == null) {
            return null;
        }
        if (value instanceof Integer) {
            return (Integer) value;
        }
        try {
            return Integer.valueOf(value.toString());
        } catch (Exception e) {
            return null;
        }
    }

    /**
     * 转为 LocalDateTime
     * @param value
     * @return
     */
    public static LocalDateTime getLocalDatetime(Object value) {
        if (value == null) {
            return null;
        }
        if (value instanceof LocalDateTime) {
            return (LocalDateTime) value;
        }
        try {
            return DateUtils.toLocalDate(value.toString(), DateUtils.YYYY_MM_DD_HH_MM_SS);
        } catch (Exception e) {
            return null;
        }
    }


    
}
