package com.bonus.material.home.controller;

import com.bonus.common.biz.domain.TypeInfo;
import com.bonus.common.biz.domain.vo.AreaVo;
import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.device.domain.vo.DevInfoVo;
import com.bonus.material.home.service.MaTypeInfoSevice;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
 * 首页搜索分类
 * @author ma_sh
 */
@Api(value = "搜索分类",tags = {"搜索分类"})
@RestController
@RequestMapping("/maType")
public class MaTypeInfoController extends BaseController {

    @Resource
    private MaTypeInfoSevice maTypeInfoSevice;

    /**
     * 搜索分类
     * @return
     */
    @ApiOperation("首页搜索分类树")
    @GetMapping("/getEquipmentType")
    public AjaxResult getEquipmentType(TypeInfo typeInfo) {
        return maTypeInfoSevice.getMaTypeInfoList(typeInfo);
    }

    /**
     * 装备共享页面之一级设备类型
     * @param typeInfo
     * @return
     */
    @ApiOperation("装备共享页面之一级设备类型")
    @GetMapping("/getTypeList")
    public AjaxResult getTypeList(TypeInfo typeInfo) {
        List<TypeInfo> list = maTypeInfoSevice.getTypeList(typeInfo);
        return AjaxResult.success(list);
    }


    /**
     * 装备共享页面之一级设备类型
     * @param typeInfo
     * @return
     */
    @ApiOperation("装备共享页面之一级设备类型")
    @GetMapping("/getToolTypeList")
    public AjaxResult getToolTypeList(TypeInfo typeInfo) {
        List<TypeInfo> list = maTypeInfoSevice.getToolTypeList(typeInfo);
        return AjaxResult.success(list);
    }

    /**
     * 首页搜索热搜装备
     * @param devInfoVo
     * @return
     */
    @ApiOperation("首页搜索热搜装备")
    @GetMapping("/getHotSearch")
    public AjaxResult getHotSearch(DevInfoVo devInfoVo) {
        List<DevInfoVo> list = maTypeInfoSevice.getHotSearch(devInfoVo);
        return AjaxResult.success(list);
    }

    /**
     * 租用需求大厅区域
     * @param areaVo
     * @return
     */
    @ApiOperation("租赁需求大厅区域")
    @GetMapping("/getArea")
    public AjaxResult getArea(AreaVo areaVo) {
        List<AreaVo> list = maTypeInfoSevice.getArea(areaVo);
        return AjaxResult.success(list);
    }

}
