package com.artfess.rescue.base.controller;


import com.artfess.base.annotation.ApiGroup;
import com.artfess.base.constants.ApiGroupConsts;
import com.artfess.base.enums.ResponseErrorEnums;
import com.artfess.base.model.CommonResult;
import com.artfess.base.query.PageList;
import com.artfess.base.query.QueryFilter;
import com.artfess.base.valid.AddGroup;
import com.artfess.base.valid.UpdateGroup;
import com.artfess.rescue.base.model.BizBaseCar;
import com.artfess.rescue.base.vo.TeamInfoVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.artfess.base.controller.BaseController;
import com.artfess.rescue.base.model.BizBaseTeam;
import com.artfess.rescue.base.manager.BizBaseTeamManager;

/**
 * 巡检队伍 前端控制器
 *
 * @company 阿特菲斯信息技术有限公司
 * @author 系统管理员
 * @since 2025-01-14
 */
@RestController
@RequestMapping("/bizBaseTeam/v1/")
@Api(tags = "巡检救援队伍信息")
@ApiGroup(group = {ApiGroupConsts.GROUP_BIZ_RESCUE})
public class BizBaseTeamController extends BaseController<BizBaseTeamManager, BizBaseTeam> {

    @Override
    @PostMapping(value = "/query")
    @ApiOperation(value = "分页查询", httpMethod = "POST", notes = "分页查询")
    public PageList<BizBaseTeam> query(@RequestBody QueryFilter<BizBaseTeam> queryFilter) {
        return baseService.findByPage(queryFilter);
    }

    @Override
    @GetMapping("/{id}")
    @ApiOperation("根据id查询实体")
    public BizBaseTeam getById(@ApiParam(name = "id", value = "实体id") @PathVariable String id) {
        return baseService.findById(id);
    }

    @Override
    @PostMapping("/")
    @ApiOperation("添加实体的接口")
    public CommonResult<String> create(@ApiParam(name = "model", value = "实体信息") @Validated({AddGroup.class}) @RequestBody BizBaseTeam t) {
        baseService.saveInfo(t);
        return new CommonResult<>(true,"添加成功");
    }

    @Override
    @PutMapping("/")
    @ApiOperation("更新实体")
    public CommonResult<String> updateById(@ApiParam(name = "model", value = "实体信息") @Validated({UpdateGroup.class}) @RequestBody BizBaseTeam t) {
        boolean res = baseService.updateInfo(t);
        if (!res) {
            return new CommonResult<>(ResponseErrorEnums.FAIL_OPTION, "更新实体失败");
        }
        return new CommonResult<>("更新实体成功");
    }

    @GetMapping("/getTeamData")
    @ApiOperation("根据id查询实体")
    public CommonResult<TeamInfoVO> getTeamData( @RequestParam("id") String id) {
        TeamInfoVO vo = baseService.findTeamInfoById(id);
        return CommonResult.success(vo,"");
    }


}
