package bus.controller.biz;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageSerializable;
import bus.model.dto.BCourseInfoDto;
import bus.model.dto.page.BCourseInfoPageDto;
import bus.model.vo.BCourseInfoVo;
import bus.service.BCourseInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.qzwisdom.qzframework.core.tool.base.controller.BaseController;

import javax.validation.Valid;


/**
 * @Program: bus
 * @Description: 描述
 * @Author: zy
 * @Date: 2025-03-02 19:53:47
 **/
@Slf4j
@CrossOrigin
@RestController
@Api(tags = "路线接口")
@RequestMapping(value="/bCourseInfo")
public class BCourseInfoController implements BaseController {

    @Autowired
    private BCourseInfoService bCourseInfoService;



    /**
     * 详情
     * @param id
     * @return
     */
    @ApiOperation("详情")
    @GetMapping(value = "getDetailById")
    public BCourseInfoDto getDetailById(@RequestParam String id){
        return bCourseInfoService.getDetailById(id);
    }

	/**
     * 保存
     * @param dto
     * @return
     */
    @ApiOperation("保存")
    @PostMapping(value = "save")
    public String save(@RequestBody @Valid BCourseInfoDto dto){
		bCourseInfoService.save(dto);
        return "保存成功";
    }

    /**
    * 列表
    * @param dto
    * @return
    */
    @ApiOperation("列表")
    @PostMapping(value = "list")
    public PageSerializable<BCourseInfoVo> list(@RequestBody BCourseInfoPageDto dto){
       PageHelper.startPage(dto.getPageNum(),dto.getPageSize());
       return new PageSerializable<>(bCourseInfoService.list(dto));
    }

	/**
     * 修改
     * @param dto
     * @return
     */
    @ApiOperation("修改")
    @PostMapping(value = "update")
    public String update(@RequestBody @Valid  BCourseInfoDto dto){
		bCourseInfoService.update(dto);
        return "修改成功";
    }

	/**
     * 删除
     * @param id
     * @return
     */
    @ApiOperation("删除路线")
    @GetMapping(value = "deleteById")
    public String deleteById(@RequestParam String id){
		bCourseInfoService.delete(id);
        return "删除成功";
    }

}
