package com.nbclass.activity.controller.casesfirst;

import com.github.pagehelper.PageInfo;
import com.nbclass.activity.model.*;
import com.nbclass.activity.service.CaseTypeService;
import com.nbclass.vo.base.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 案例web前台
 * @author gao
 * @datetime 2021年10月12日
 */
@RestController
@RequestMapping("/caseType")
public class CaseTypeController {

    @Autowired
    private CaseTypeService caseTypeService;

    /**
     * 数据字典(案例类型、案例用途、创意形式、节日事件)列表查询
     * @return
     */
    @GetMapping("/getTypeCase")
    public Result getTypeCase(Integer dictId){
        List<DataDictItem> list = caseTypeService.getTypeCase(dictId);
        return Result.success(list);
    }

    /**
     * 字典值类型列表查询
     * @return
     */
    @GetMapping("/getDictionariesType")
    public Result getDictionariesType(){
        List<DataDict> list = caseTypeService.getDictionariesType();
        return Result.success(list);
    }

    /**
     * 案例库列表
     * @param page
     * @param pageSize
     * @return
     */
    @GetMapping("/getListCase")
    public Result getListCase(Integer page,Integer pageSize){
        PageInfo<Content> list = caseTypeService.getListCase(page,pageSize);
        return Result.success(list);
    }

    /**
     *  案例搜索框
     * @param parameter 任意参数（案例标签，案例标题，案例编号）
     * @param dictItemId 案例类型id
     * @return
     */
    @GetMapping("/getSearchCase")
    public Result getSearchCase(String parameter,Integer dictItemId,Integer page,Integer pageSize){
        PageInfo<Content> list = caseTypeService.getSearchCase(parameter,dictItemId,page,pageSize);
        return Result.success(list);
    }

    /**
     * 获取案例标签
     * @param contentId 案例id
     * @return
     */
    @GetMapping("/getContentTags")
    public Result getContentTags(Integer contentId){
        ContentTags contentTags = caseTypeService.getContentTags(contentId);
        return Result.success(contentTags);
    }


}
