package com.jojubanking.boot.module.infra.convert.test;

import com.jojubanking.boot.framework.common.pojo.PageResult;
import com.jojubanking.boot.module.infra.controller.admin.test.vo.TestDemoCreateReqVO;
import com.jojubanking.boot.module.infra.controller.admin.test.vo.TestDemoExcelVO;
import com.jojubanking.boot.module.infra.controller.admin.test.vo.TestDemoRespVO;
import com.jojubanking.boot.module.infra.controller.admin.test.vo.TestDemoUpdateReqVO;
import com.jojubanking.boot.module.infra.dal.dataobject.test.TestDemoDO;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Generated;

@Generated(
    value = "org.mapstruct.ap.MappingProcessor",
    date = "2025-12-05T11:31:57+0800",
    comments = "version: 1.4.1.Final, compiler: javac, environment: Java 1.8.0_201 (Oracle Corporation)"
)
public class TestDemoConvertImpl implements TestDemoConvert {

    @Override
    public TestDemoDO convert(TestDemoCreateReqVO bean) {
        if ( bean == null ) {
            return null;
        }

        TestDemoDO testDemoDO = new TestDemoDO();

        testDemoDO.setName( bean.getName() );
        testDemoDO.setStatus( bean.getStatus() );
        testDemoDO.setType( bean.getType() );
        testDemoDO.setCategory( bean.getCategory() );
        testDemoDO.setRemark( bean.getRemark() );

        return testDemoDO;
    }

    @Override
    public TestDemoDO convert(TestDemoUpdateReqVO bean) {
        if ( bean == null ) {
            return null;
        }

        TestDemoDO testDemoDO = new TestDemoDO();

        testDemoDO.setId( bean.getId() );
        testDemoDO.setName( bean.getName() );
        testDemoDO.setStatus( bean.getStatus() );
        testDemoDO.setType( bean.getType() );
        testDemoDO.setCategory( bean.getCategory() );
        testDemoDO.setRemark( bean.getRemark() );

        return testDemoDO;
    }

    @Override
    public TestDemoRespVO convert(TestDemoDO bean) {
        if ( bean == null ) {
            return null;
        }

        TestDemoRespVO testDemoRespVO = new TestDemoRespVO();

        testDemoRespVO.setName( bean.getName() );
        testDemoRespVO.setStatus( bean.getStatus() );
        testDemoRespVO.setType( bean.getType() );
        testDemoRespVO.setCategory( bean.getCategory() );
        testDemoRespVO.setRemark( bean.getRemark() );
        testDemoRespVO.setId( bean.getId() );
        testDemoRespVO.setCreateTime( bean.getCreateTime() );

        return testDemoRespVO;
    }

    @Override
    public List<TestDemoRespVO> convertList(List<TestDemoDO> list) {
        if ( list == null ) {
            return null;
        }

        List<TestDemoRespVO> list1 = new ArrayList<TestDemoRespVO>( list.size() );
        for ( TestDemoDO testDemoDO : list ) {
            list1.add( convert( testDemoDO ) );
        }

        return list1;
    }

    @Override
    public PageResult<TestDemoRespVO> convertPage(PageResult<TestDemoDO> page) {
        if ( page == null ) {
            return null;
        }

        PageResult<TestDemoRespVO> pageResult = new PageResult<TestDemoRespVO>();

        pageResult.setList( convertList( page.getList() ) );
        pageResult.setTotal( page.getTotal() );

        return pageResult;
    }

    @Override
    public List<TestDemoExcelVO> convertList02(List<TestDemoDO> list) {
        if ( list == null ) {
            return null;
        }

        List<TestDemoExcelVO> list1 = new ArrayList<TestDemoExcelVO>( list.size() );
        for ( TestDemoDO testDemoDO : list ) {
            list1.add( testDemoDOToTestDemoExcelVO( testDemoDO ) );
        }

        return list1;
    }

    protected TestDemoExcelVO testDemoDOToTestDemoExcelVO(TestDemoDO testDemoDO) {
        if ( testDemoDO == null ) {
            return null;
        }

        TestDemoExcelVO testDemoExcelVO = new TestDemoExcelVO();

        testDemoExcelVO.setId( testDemoDO.getId() );
        testDemoExcelVO.setName( testDemoDO.getName() );
        testDemoExcelVO.setStatus( testDemoDO.getStatus() );
        testDemoExcelVO.setType( testDemoDO.getType() );
        testDemoExcelVO.setCategory( testDemoDO.getCategory() );
        testDemoExcelVO.setRemark( testDemoDO.getRemark() );
        testDemoExcelVO.setCreateTime( testDemoDO.getCreateTime() );

        return testDemoExcelVO;
    }
}
