package com.ema.admin.modules.system.converter;


import com.ema.admin.modules.system.entity.SysRole;
import com.ema.admin.modules.system.entity.SysUser;
import com.ema.admin.modules.system.vo.SysUserInfoVo;
import com.ema.admin.modules.system.vo.SysUserSaveVo;
import com.ema.admin.modules.system.vo.SysUserVo;
import com.ema.common.mapstruct.MyMapStructMapper;
import org.mapstruct.Mapper;

import java.util.List;


@Mapper(componentModel = "spring", uses = MyMapStructMapper.class)
public interface SysUserConverter {

    SysUserVo toSysUserVo(SysUser sysUser);

    SysUser toSysUser(SysUserSaveVo sysUser);

    SysUserInfoVo toSysUserInfoVo(SysUser sysUser);

    default SysUserInfoVo toSysUserInfoVo(SysUser sysUser, List<SysRole> roleList) {
        SysUserInfoVo sysUserInfoVo = toSysUserInfoVo(sysUser);
        sysUserInfoVo.setRoleList(roleList);
        return sysUserInfoVo;
    }
}
