package com.changhu.support.mybatisplus.handler.global.json;

import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
import com.changhu.common.pojo.vo.CreateOrUpdateUser;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import org.apache.ibatis.type.MappedTypes;

/**
 * @author 20252
 * @createTime 2024/11/27 下午3:09
 * @desc CreateOrUpdateUserTypeHandler...
 */
@MappedJdbcTypes(JdbcType.VARCHAR)
@MappedTypes({CreateOrUpdateUser.class})
public class CreateOrUpdateUserTypeHandler extends AbstractJsonTypeHandler<CreateOrUpdateUser> {
    public CreateOrUpdateUserTypeHandler(Class<?> type) {
        super(type);
    }

    @Override
    public CreateOrUpdateUser parse(String json) {
        if (!JSON.isValid(json)) {
            return null;
        }
        return JSON.parseObject(json, CreateOrUpdateUser.class);
    }

    @Override
    public String toJson(CreateOrUpdateUser obj) {
        return JSON.toJSONString(obj);
    }
}