package com.persagy.server.models.requests

import com.persagy.database.SPageQueryInfo
import com.persagy.service.models.enums.SResponseType
import com.persagy.service.models.responses.SBaseResponse
import io.swagger.annotations.ApiModel
import io.swagger.annotations.ApiModelProperty
import java.io.Serializable

/**
 * 查询请求应答对象基类
 *
 * @author  庞利祥(sybotan@126.com)
 */
@ApiModel(description = "查询请求应答对象基类")
open class RSQueryResponse<ENTITY: Serializable>(result: SResponseType = SResponseType.success, message: String = "")
    : SBaseResponse(result, message) {
    /** 符合条件的总记录数 */
    @ApiModelProperty(value = "符合条件的总记录数")
    var total: Long? = null

    /** 查询到的数据列表 */
    @ApiModelProperty(value = "查询到的数据列表")
    var content: List<ENTITY>? = null

    /**
     * 子构造函数
     *
     * @param   info    分页查询信息
     */
    constructor(info: SPageQueryInfo<ENTITY>): this(SResponseType.success, "") {
        this.total = info.total
        this.content = info.content
    } // Function constructor()
} // Class SQueryResponse