package cn.ey.biz.module.system.convert.contract;

import cn.ey.biz.common.pojo.PageResult;
import cn.ey.biz.module.system.api.contract.dto.ContractFieldDTO;
import cn.ey.biz.module.system.controller.admin.contract.v2.vo.ContractFieldVO;
import cn.ey.biz.module.system.dal.dataobject.contract.ContractFieldDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import org.springframework.beans.BeanUtils;

import java.util.List;

@Mapper
public interface ContractFieldConvert {

    ContractFieldConvert INSTANCE = Mappers.getMapper(ContractFieldConvert.class);

    ContractFieldDO fieldDo2Vo(ContractFieldVO vo);

    default ContractFieldVO fieldDo2Vo(ContractFieldDO doo) {
        ContractFieldVO vo = new ContractFieldVO();
        BeanUtils.copyProperties(doo, vo);
        vo.setFieldId(doo.getId());
        return vo;
    }

    PageResult<ContractFieldVO> fieldDo2Vo(PageResult<ContractFieldDO> doPage);

    List<ContractFieldDTO> fieldDo2Vo(List<ContractFieldDO> dos);
}
