package bus.controller.biz;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageSerializable;
import bus.model.dto.BNoticeInfoDto;
import bus.model.dto.page.BNoticeInfoPageDto;
import bus.model.vo.BNoticeInfoVo;
import bus.service.BNoticeInfoService;
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.web.bind.annotation.*;
import com.qzwisdom.qzframework.core.tool.base.controller.BaseController;

import javax.validation.Valid;


/**
 * @Program: bus
 * @Description: 描述
 * @Author: zy
 * @Date: 2025-03-01 10:21:43
 **/
@Slf4j
@CrossOrigin
@RestController
@Api(tags = "公告接口")
@RequestMapping(value="/bNoticeInfo")
public class BNoticeInfoController implements BaseController {

    @Autowired
    private BNoticeInfoService bNoticeInfoService;



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

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

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

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

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

}
