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

import com.ankaibei.workFlow.common.core.base.mapper.BaseModelMapper;
import com.ankaibei.workFlow.webadmin.upms.model.SysPost;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;

/**
 * 岗位list返回VO对象。
 *
 * @author Buzhanyi
 * @date 2022-09-25
 */
@ApiModel("岗位VO")
@Data
public class SysPostReposVo {


    private String id;


    private String name;

    @Mapper
    public interface SysPostModelMapper extends BaseModelMapper<SysPostVo, SysPost> {
        /**
         * 转换Vo对象到实体对象。
         *
         * @param sysPostVo 域对象。
         * @return 实体对象。
         */
        @Mapping(target = "sysDeptPost", expression = "java(mapToBean(sysPostVo.getSysDeptPost(), com.ankaibei.workFlow.webadmin.upms.model.SysDeptPost.class))")
        @Override
        SysPost toModel(SysPostVo sysPostVo);

        /**
         * 转换实体对象到VO对象。
         *
         * @param sysPost 实体对象。
         * @return 域对象。
         */
        @Mapping(target = "sysDeptPost", expression = "java(beanToMap(sysPost.getSysDeptPost(), false))")
        @Override
        SysPostVo fromModel(SysPost sysPost);
    }

    public static final SysPost.SysPostModelMapper INSTANCE = Mappers.getMapper(SysPost.SysPostModelMapper.class);
}
