package com.persagy.server.controllers

import com.persagy.base.extensions.toJson
import com.persagy.server.models.objects.FloorCompon
import com.persagy.server.service.objects.FloorService
import com.persagy.service.models.requests.SQueryRequest
import com.persagy.service.models.responses.SQueryResponse
import io.swagger.annotations.Api
import io.swagger.annotations.ApiOperation
import org.slf4j.LoggerFactory
import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController

/**
 * 楼层数据接口
 */
@Api(tags = ["楼层相关接口"])
@RestController
@RequestMapping("/floor")
class FloorController {
    companion object {
        // 日志
        private val logger = LoggerFactory.getLogger(FloorController::class.java)
    } // Companion object

    /**
     * 查询楼层信息
     *
     * @param   request     查询信息条件
     * @return              查询结果
     */
    @ApiOperation(value = "查询楼层信息，以及使用同一个模型文件处理情况", notes = "级联对象：建筑（building）、项目（project）、楼层贯通关系（floorThroughList）")
    @PostMapping(value = ["/query"])
    fun query(@RequestBody request: SQueryRequest): SQueryResponse<FloorCompon> {
        logger.debug("floorQuery =${request.toJson()}")
        return FloorService.queryFloor(request)
    } // Function query()

} // Class FloorController