package com.hzya.frame.serviceUtil;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.List;


/**
 * @Author lvleigang
 * @Description service 工具类
 * @Date 11:36 上午 2023/3/6
 * @return
 **/
public class ServiceUtil {

    /**
     * @param key        健
     * @param jsonObject json数据
     * @return java.lang.String
     * @Author lvleigang
     * @Description 根据key获取数据jsonObject中的数据，如果没有设置默认值
     * @Date 3:41 下午 2023/2/14
     **/
    protected <T> T getData(String key, JSONObject jsonObject, Class<T> clz) {
        if (checkStr(jsonObject.getString(key))) {
            return jsonObject.getJSONObject(key).toJavaObject(clz);
        }
        return null;
    }

    /**
     * @param key
     * @param object
     * @return com.alibaba.fastjson.JSONObject
     * @Author lvleigang
     * @Description 获取对象转换成jsonobj
     * @Date 11:51 下午 2023/7/10
     **/
    protected JSONObject getstrObj(String key, JSONObject object) {
        if (checkStr(object.getString(key))) {
            return object.getJSONObject(key);
        }
        return new JSONObject();
    }

    /**
     * @param key        健
     * @param jsonObject json数据
     * @return java.lang.String
     * @Author lvleigang
     * @Description 根据key获取数据jsonObject中的数据，如果没有设置默认值
     * @Date 3:41 下午 2023/2/14
     **/
    protected <T> List<T> getListData(String key, JSONObject jsonObject, Class<T> clz) {
        if (checkStr(jsonObject.getString(key))) {
            return JSONArray.parseArray(jsonObject.getString(key), clz);
        }
        return null;
    }

    /**
     * @param str
     * @return void
     * @Author lvleigang
     * @Description 校验字符串
     * @Date 11:41 上午 2022/12/7
     **/
    protected Boolean checkStr(String str) {
        Boolean flag = true;
        if (str == null || "".equals(str)) {
            flag = false;
        }
        return flag;
    }
}
