package cn.hanghui.outapi.platform.tenant.typehandle;

import cn.hanghui.outapi.platform.tenant.entity.dto.ManualInIdCardAuthDto;
import cn.hanghui.outapi.platform.tenant.entity.dto.ZoloConfigDto;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import org.apache.ibatis.type.MappedTypes;

/**
 * @author shisl
 * @package cn.hanghui.outapi.platform.tenant.typehandle
 * @class manualInIdCardAuthHandler
 * @date 2024/3/15 上午9:31
 * @description
 */
@MappedTypes({Object.class})
@MappedJdbcTypes({JdbcType.VARCHAR})
public class ManualInIdCardAuthHandler extends AbstractJsonTypeHandler<ManualInIdCardAuthDto> {

    protected ManualInIdCardAuthDto parse(String json) {
        if(StrUtil.isBlank(json)){
            return null;
        }
        // 这里进行了json解析，同样在这里也可以进行字段查询后的处理，如对象内部的手机号字段的加密展示等
        return JSON.parseObject(json, ManualInIdCardAuthDto.class);
    }

    @Override
    protected String toJson(ManualInIdCardAuthDto obj) {
        if(ObjectUtil.isNull(obj)){
            return "";
        }
        return JSON.toJSONString(obj);
    }


}
