package com.jeeplus.echarts.service.mapstruct;

import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jeeplus.database.datamodel.service.dto.DataSetDTO;
import com.jeeplus.echarts.domain.Echarts;
import com.jeeplus.echarts.service.dto.EchartsDTO;
import com.jeeplus.sys.domain.DictValue;
import com.jeeplus.sys.service.dto.DictTypeDTO;
import com.jeeplus.sys.service.dto.DictValueDTO;
import com.jeeplus.sys.service.dto.TenantDTO;
import com.jeeplus.sys.service.dto.UserDTO;
import org.springframework.stereotype.Component;

import javax.annotation.Generated;
import java.util.ArrayList;
import java.util.List;

@Generated(
        value = "org.mapstruct.ap.MappingProcessor",
        date = "2022-08-18T16:46:54+0800",
        comments = "version: 1.4.1.Final, compiler: javac, environment: Java 1.8.0_221 (Oracle Corporation)"
)
@Component
public class EchartsWrapperImpl implements EchartsWrapper {

    @Override
    public DictValue toEntity(DictValueDTO arg0) {
        if ( arg0 == null ) {
            return null;
        }

        DictValue dictValue = new DictValue ( );

        dictValue.setTenantId ( arg0TenantDTOId ( arg0 ) );
        dictValue.setCreateById ( arg0CreateById ( arg0 ) );
        dictValue.setUpdateById ( arg0UpdateById ( arg0 ) );
        dictValue.setId ( arg0.getId ( ) );
        dictValue.setCreateTime ( arg0.getCreateTime ( ) );
        dictValue.setUpdateTime ( arg0.getUpdateTime ( ) );
        dictValue.setDelFlag ( arg0.getDelFlag ( ) );
        dictValue.setLabel ( arg0.getLabel ( ) );
        dictValue.setValue ( arg0.getValue ( ) );
        dictValue.setSort ( arg0.getSort ( ) );

        return dictValue;
    }

    @Override
    public DictValueDTO toDTO(DictValue arg0) {
        if ( arg0 == null ) {
            return null;
        }

        DictTypeDTO dictTypeDTO = null;

        DictValueDTO dictValueDTO = new DictValueDTO ( dictTypeDTO );

        dictValueDTO.setTenantDTO ( dictValueToTenantDTO ( arg0 ) );
        dictValueDTO.setCreateBy ( dictValueToUserDTO ( arg0 ) );
        dictValueDTO.setUpdateBy ( dictValueToUserDTO1 ( arg0 ) );
        dictValueDTO.setId ( arg0.getId ( ) );
        dictValueDTO.setCreateTime ( arg0.getCreateTime ( ) );
        dictValueDTO.setUpdateTime ( arg0.getUpdateTime ( ) );
        dictValueDTO.setDelFlag ( arg0.getDelFlag ( ) );
        dictValueDTO.setLabel ( arg0.getLabel ( ) );
        dictValueDTO.setValue ( arg0.getValue ( ) );
        dictValueDTO.setSort ( arg0.getSort ( ) );

        return dictValueDTO;
    }

    @Override
    public List <DictValue> toEntity(List <DictValueDTO> arg0) {
        if ( arg0 == null ) {
            return null;
        }

        List <DictValue> list = new ArrayList <DictValue> ( arg0.size ( ) );
        for (DictValueDTO dictValueDTO : arg0) {
            list.add ( toEntity ( dictValueDTO ) );
        }

        return list;
    }

    @Override
    public List <DictValueDTO> toDTO(List <DictValue> arg0) {
        if ( arg0 == null ) {
            return null;
        }

        List <DictValueDTO> list = new ArrayList <DictValueDTO> ( arg0.size ( ) );
        for (DictValue dictValue : arg0) {
            list.add ( toDTO ( dictValue ) );
        }

        return list;
    }

    @Override
    public Page <DictValue> toEntity(Page <DictValueDTO> arg0) {
        if ( arg0 == null ) {
            return null;
        }

        Page <DictValue> page = new Page <DictValue> ( );

        page.setPages ( arg0.getPages ( ) );
        page.setRecords ( toEntity ( arg0.getRecords ( ) ) );
        page.setTotal ( arg0.getTotal ( ) );
        page.setSize ( arg0.getSize ( ) );
        page.setCurrent ( arg0.getCurrent ( ) );
        page.setSearchCount ( arg0.isSearchCount ( ) );
        page.setOptimizeCountSql ( arg0.isOptimizeCountSql ( ) );
        page.setHitCount ( arg0.isHitCount ( ) );
        List <OrderItem> list1 = arg0.getOrders ( );
        if ( list1 != null ) {
            page.setOrders ( new ArrayList <OrderItem> ( list1 ) );
        }
        page.setCountId ( arg0.getCountId ( ) );
        page.setMaxLimit ( arg0.getMaxLimit ( ) );

        return page;
    }

    @Override
    public Page <DictValueDTO> toDTO(Page <DictValue> arg0) {
        if ( arg0 == null ) {
            return null;
        }

        Page <DictValueDTO> page = new Page <DictValueDTO> ( );

        page.setPages ( arg0.getPages ( ) );
        page.setRecords ( toDTO ( arg0.getRecords ( ) ) );
        page.setTotal ( arg0.getTotal ( ) );
        page.setSize ( arg0.getSize ( ) );
        page.setCurrent ( arg0.getCurrent ( ) );
        page.setSearchCount ( arg0.isSearchCount ( ) );
        page.setOptimizeCountSql ( arg0.isOptimizeCountSql ( ) );
        page.setHitCount ( arg0.isHitCount ( ) );
        List <OrderItem> list1 = arg0.getOrders ( );
        if ( list1 != null ) {
            page.setOrders ( new ArrayList <OrderItem> ( list1 ) );
        }
        page.setCountId ( arg0.getCountId ( ) );
        page.setMaxLimit ( arg0.getMaxLimit ( ) );

        return page;
    }

    @Override
    public Echarts toEntity(EchartsDTO dto) {
        if ( dto == null ) {
            return null;
        }

        Echarts echarts = new Echarts ( );

        echarts.setDataSetId ( dtoDataSetId ( dto ) );
        echarts.setOptionContent ( dto.getOption ( ) );
        echarts.setCreateById ( dtoCreateById ( dto ) );
        echarts.setUpdateById ( dtoUpdateById ( dto ) );
        echarts.setId ( dto.getId ( ) );
        echarts.setCreateTime ( dto.getCreateTime ( ) );
        echarts.setUpdateTime ( dto.getUpdateTime ( ) );
        echarts.setDelFlag ( dto.getDelFlag ( ) );
        echarts.setName ( dto.getName ( ) );
        echarts.setType ( dto.getType ( ) );
        echarts.setXnames ( dto.getXnames ( ) );
        echarts.setYnames ( dto.getYnames ( ) );

        return echarts;
    }

    @Override
    public EchartsDTO toDTO(Echarts entity) {
        if ( entity == null ) {
            return null;
        }

        EchartsDTO echartsDTO = new EchartsDTO ( );

        echartsDTO.setDataSet ( echartsToDataSetDTO ( entity ) );
        echartsDTO.setCreateBy ( echartsToUserDTO ( entity ) );
        echartsDTO.setUpdateBy ( echartsToUserDTO1 ( entity ) );
        echartsDTO.setOption ( entity.getOptionContent ( ) );
        echartsDTO.setId ( entity.getId ( ) );
        echartsDTO.setCreateTime ( entity.getCreateTime ( ) );
        echartsDTO.setUpdateTime ( entity.getUpdateTime ( ) );
        echartsDTO.setDelFlag ( entity.getDelFlag ( ) );
        echartsDTO.setName ( entity.getName ( ) );
        echartsDTO.setType ( entity.getType ( ) );
        echartsDTO.setXnames ( entity.getXnames ( ) );
        echartsDTO.setYnames ( entity.getYnames ( ) );

        return echartsDTO;
    }

    private String arg0TenantDTOId(DictValueDTO dictValueDTO) {
        if ( dictValueDTO == null ) {
            return null;
        }
        TenantDTO tenantDTO = dictValueDTO.getTenantDTO ( );
        if ( tenantDTO == null ) {
            return null;
        }
        String id = tenantDTO.getId ( );
        if ( id == null ) {
            return null;
        }
        return id;
    }

    private String arg0CreateById(DictValueDTO dictValueDTO) {
        if ( dictValueDTO == null ) {
            return null;
        }
        UserDTO createBy = dictValueDTO.getCreateBy ( );
        if ( createBy == null ) {
            return null;
        }
        String id = createBy.getId ( );
        if ( id == null ) {
            return null;
        }
        return id;
    }

    private String arg0UpdateById(DictValueDTO dictValueDTO) {
        if ( dictValueDTO == null ) {
            return null;
        }
        UserDTO updateBy = dictValueDTO.getUpdateBy ( );
        if ( updateBy == null ) {
            return null;
        }
        String id = updateBy.getId ( );
        if ( id == null ) {
            return null;
        }
        return id;
    }

    protected TenantDTO dictValueToTenantDTO(DictValue dictValue) {
        if ( dictValue == null ) {
            return null;
        }

        TenantDTO tenantDTO = new TenantDTO ( );

        tenantDTO.setId ( dictValue.getTenantId ( ) );

        return tenantDTO;
    }

    protected UserDTO dictValueToUserDTO(DictValue dictValue) {
        if ( dictValue == null ) {
            return null;
        }

        UserDTO userDTO = new UserDTO ( );

        userDTO.setId ( dictValue.getCreateById ( ) );

        return userDTO;
    }

    protected UserDTO dictValueToUserDTO1(DictValue dictValue) {
        if ( dictValue == null ) {
            return null;
        }

        UserDTO userDTO = new UserDTO ( );

        userDTO.setId ( dictValue.getUpdateById ( ) );

        return userDTO;
    }

    private String dtoDataSetId(EchartsDTO echartsDTO) {
        if ( echartsDTO == null ) {
            return null;
        }
        DataSetDTO dataSet = echartsDTO.getDataSet ( );
        if ( dataSet == null ) {
            return null;
        }
        String id = dataSet.getId ( );
        if ( id == null ) {
            return null;
        }
        return id;
    }

    private String dtoCreateById(EchartsDTO echartsDTO) {
        if ( echartsDTO == null ) {
            return null;
        }
        UserDTO createBy = echartsDTO.getCreateBy ( );
        if ( createBy == null ) {
            return null;
        }
        String id = createBy.getId ( );
        if ( id == null ) {
            return null;
        }
        return id;
    }

    private String dtoUpdateById(EchartsDTO echartsDTO) {
        if ( echartsDTO == null ) {
            return null;
        }
        UserDTO updateBy = echartsDTO.getUpdateBy ( );
        if ( updateBy == null ) {
            return null;
        }
        String id = updateBy.getId ( );
        if ( id == null ) {
            return null;
        }
        return id;
    }

    protected DataSetDTO echartsToDataSetDTO(Echarts echarts) {
        if ( echarts == null ) {
            return null;
        }

        DataSetDTO dataSetDTO = new DataSetDTO ( );

        dataSetDTO.setId ( echarts.getDataSetId ( ) );

        return dataSetDTO;
    }

    protected UserDTO echartsToUserDTO(Echarts echarts) {
        if ( echarts == null ) {
            return null;
        }

        UserDTO userDTO = new UserDTO ( );

        userDTO.setId ( echarts.getCreateById ( ) );

        return userDTO;
    }

    protected UserDTO echartsToUserDTO1(Echarts echarts) {
        if ( echarts == null ) {
            return null;
        }

        UserDTO userDTO = new UserDTO ( );

        userDTO.setId ( echarts.getUpdateById ( ) );

        return userDTO;
    }
}
