package com.ankaibei.workFlow.webadmin.upms.model;

import com.ankaibei.workFlow.webadmin.upms.model.SysPermCode.SysPermCodeModelMapper;
import com.ankaibei.workFlow.webadmin.upms.vo.SysPermCodeVo;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Generated;

@Generated(
    value = "org.mapstruct.ap.MappingProcessor",
    date = "2023-05-08T14:15:59+0800",
    comments = "version: 1.4.2.Final, compiler: javac, environment: Java 1.8.0_144 (Oracle Corporation)"
)
public class SysPermCode$SysPermCodeModelMapperImpl implements SysPermCodeModelMapper {

    @Override
    public List<SysPermCodeVo> fromModelList(List<SysPermCode> arg0) {
        if ( arg0 == null ) {
            return null;
        }

        List<SysPermCodeVo> list = new ArrayList<SysPermCodeVo>( arg0.size() );
        for ( SysPermCode sysPermCode : arg0 ) {
            list.add( fromModel( sysPermCode ) );
        }

        return list;
    }

    @Override
    public List<SysPermCode> toModelList(List<SysPermCodeVo> arg0) {
        if ( arg0 == null ) {
            return null;
        }

        List<SysPermCode> list = new ArrayList<SysPermCode>( arg0.size() );
        for ( SysPermCodeVo sysPermCodeVo : arg0 ) {
            list.add( toModel( sysPermCodeVo ) );
        }

        return list;
    }

    @Override
    public SysPermCode toModel(SysPermCodeVo sysPermCodeVo) {
        if ( sysPermCodeVo == null ) {
            return null;
        }

        SysPermCode sysPermCode = new SysPermCode();

        sysPermCode.setPermCodeId( sysPermCodeVo.getPermCodeId() );
        sysPermCode.setParentId( sysPermCodeVo.getParentId() );
        sysPermCode.setPermCode( sysPermCodeVo.getPermCode() );
        sysPermCode.setPermCodeType( sysPermCodeVo.getPermCodeType() );
        sysPermCode.setShowName( sysPermCodeVo.getShowName() );
        sysPermCode.setShowOrder( sysPermCodeVo.getShowOrder() );
        sysPermCode.setCreateUserId( sysPermCodeVo.getCreateUserId() );
        sysPermCode.setCreateTime( sysPermCodeVo.getCreateTime() );
        sysPermCode.setUpdateUserId( sysPermCodeVo.getUpdateUserId() );
        sysPermCode.setUpdateTime( sysPermCodeVo.getUpdateTime() );

        sysPermCode.setSysPermCodePermList( mapToBean(sysPermCodeVo.getSysPermCodePermList(), com.ankaibei.workFlow.webadmin.upms.model.SysPermCodePerm.class) );

        return sysPermCode;
    }

    @Override
    public SysPermCodeVo fromModel(SysPermCode sysPermCode) {
        if ( sysPermCode == null ) {
            return null;
        }

        SysPermCodeVo sysPermCodeVo = new SysPermCodeVo();

        sysPermCodeVo.setPermCodeId( sysPermCode.getPermCodeId() );
        sysPermCodeVo.setPermCode( sysPermCode.getPermCode() );
        sysPermCodeVo.setParentId( sysPermCode.getParentId() );
        sysPermCodeVo.setPermCodeType( sysPermCode.getPermCodeType() );
        sysPermCodeVo.setShowName( sysPermCode.getShowName() );
        sysPermCodeVo.setShowOrder( sysPermCode.getShowOrder() );
        sysPermCodeVo.setCreateUserId( sysPermCode.getCreateUserId() );
        sysPermCodeVo.setCreateTime( sysPermCode.getCreateTime() );
        sysPermCodeVo.setUpdateUserId( sysPermCode.getUpdateUserId() );
        sysPermCodeVo.setUpdateTime( sysPermCode.getUpdateTime() );

        sysPermCodeVo.setSysPermCodePermList( beanToMap(sysPermCode.getSysPermCodePermList(), false) );

        return sysPermCodeVo;
    }
}
