package bus.controller.biz;

import bus.model.dto.BBusTrackInfoDto;
import bus.model.dto.BBusTrackTreeDto;
import bus.model.dto.page.BBusInfoPageDto;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageSerializable;
import bus.model.dto.BBusInfoDto;
import bus.service.BBusInfoService;
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;
import java.util.List;


/**
 * @Program: bus
 * @Description: 描述
 * @Author: zy
 * @Date: 2025-03-01 10:04:08
 **/
@Slf4j
@CrossOrigin
@RestController
@Api(tags = "车辆接口")
@RequestMapping(value="/bBusInfo")
public class BBusInfoController implements BaseController {

    @Autowired
    private BBusInfoService bBusInfoService;



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

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

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

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

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


}
