package com.grkj.iscs.model.vo.user

import java.io.Serializable

data class UserInfoRespVO(
    val code: Int?,

    val msg: String?,

    val permissions: MutableList<String>?,

    val roles: MutableList<String>?,

    val user: SysUserVO?
) : Serializable {
    data class SysUserVO(
        val userId: Long?,

        val deptId: Long?,

        val userName: String?,

        val nickName: String?,

        val email: String?,

        val phonenumber: String?,

        val sex: String?,

        val avatar: String?,

        val password: String?,

        val salt: String?,

        val status: String?,

        val delFlag: String?,

        val loginIp: String?,

        val loginDate: String?,

        val dept: SysDeptVO?,

        val roles: List<SysRole>?,

        val roleIds: MutableList<Long>?,

        val postIds: MutableList<Long>?,

        val workstationIds: MutableList<Long>?,

        val unitIds: MutableList<Long>?,

        val roleId: Long?,

        val roleKey: String?,

        val unitId: Long?,

        val workstationId: Long?,

        val unitName: String?,

        val roleName: String?,

        val userIds: Set<Long>?,

        val b: Boolean?
    ) : Serializable {
        data class SysRole(
            val roleId: Long?,

            val roleName: String?,

            val roleKey: String?,

            val roleSort: String?,

            val dataScope: String?,

            val marsDataScope: String?,

            val menuCheckStrictly: Boolean?,

            val deptCheckStrictly: Boolean?,

            val status: String?,

            val delFlag: String?,

            val flag: Boolean?,

            val menuIds: List<Long>,

            val deptIds: List<Long>,

            val workstationIds: List<Long>
        ) : Serializable

        data class SysDeptVO(
            val deptId: Long?,

            val parentId: Long?,

            val ancestors: String?,

            val deptName: String?,

            val orderNum: String?,

            val leader: String?,

            val phone: String?,

            val email: String?,

            val status: String?,

            val delFlag: String?,

            val parentName: String?
        ) : Serializable
    }
}