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.manager.RescueFeeStandardManager;
import com.artfess.rescue.base.model.RescueFeeStandard;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
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 javax.annotation.Resource;
import java.util.Arrays;
import java.util.HashMap;

/**
 * 救援收费标准表 前端控制器
 *
 * @company 阿特菲斯信息技术有限公司
 * @author baseli
 * @since 2025-03-11
 */
@RestController
@RequestMapping("/rescueFeeStandard/v1/")
@Api(tags = "基础信息-救援收费标准")
@ApiGroup(group = {ApiGroupConsts.GROUP_BIZ_RESCUE})
public class RescueFeeStandardController extends BaseController<RescueFeeStandardManager, RescueFeeStandard> {

    @Resource
    private RescueFeeStandardManager rescueFeeStandardManager;

    @RequestMapping(value="updateSnBath",method=RequestMethod.PUT, produces = {"application/json; charset=utf-8" })
    @ApiOperation(value = "根据ID批量修改排序号", httpMethod = "PUT", notes = "根据ID批量修改排序号")
    @ApiImplicitParam(name = "map", value = "key:功能id,value:排序号", required = true)
    public  CommonResult<String> updateSnBath(@RequestBody HashMap<String,Integer> map)  {
        rescueFeeStandardManager.updateSequence(map);
        return new CommonResult<>("修改成功！");
    }

    @RequestMapping(value = "updateFlag", method = RequestMethod.POST, produces = {"application/json; charset=utf-8"})
    @ApiOperation(value = "批量修改启用禁用状态", httpMethod = "POST", notes = "批量修改启用禁用状态")
    public CommonResult<String> updateFlag(@ApiParam(name = "ids", value = "Id集合，以,隔开") @RequestParam String ids,
                                           @ApiParam(name = "flag", value = "有效标志（0：启用，1：禁用）") @RequestParam Integer flag) throws Exception {
        rescueFeeStandardManager.updateFlag(ids, flag);
        return new CommonResult<>(true, "状态修改成功");
    }
//
//    @Override
//    @PostMapping("/")
//    @ApiOperation("添加救援收费标准接口")
//    public CommonResult<String> create(@ApiParam(name = "model", value = "救援收费标准信息") @Validated({AddGroup.class}) @RequestBody RescueFeeStandard t) {
//        boolean result = rescueFeeStandardManager.save(t);
//        if (!result) {
//            return new CommonResult<>(ResponseErrorEnums.FAIL_OPTION, null);
//        }
//        return new CommonResult<>();
//    }
//
//    @Override
//    @PostMapping(value = "/query", produces = {"application/json; charset=utf-8"})
//    @ApiOperation("分页查询结果")
//    public PageList<RescueFeeStandard> query(@ApiParam(name = "queryFilter", value = "分页查询信息") @RequestBody QueryFilter<RescueFeeStandard> queryFilter) {
//        return rescueFeeStandardManager.query(queryFilter);
//    }
//
//    @Override
//    @GetMapping("/{id}")
//    @ApiOperation("根据id查询救援收费标准")
//    public RescueFeeStandard getById(@ApiParam(name = "id", value = "救援收费标准id") @PathVariable String id) {
//        return rescueFeeStandardManager.getById(id);
//    }
//
//    @Override
//    @PutMapping("/")
//    @ApiOperation("更新救援收费标准")
//    public CommonResult<String> updateById(@ApiParam(name = "model", value = "救援收费标准信息") @Validated({UpdateGroup.class}) @RequestBody RescueFeeStandard t) {
//        boolean result = rescueFeeStandardManager.updateById(t);
//        return new CommonResult<>("更新救援收费标准成功");
//    }
//
//    @Override
//    @DeleteMapping("/{id}")
//    @ApiOperation("根据id删除")
//    public CommonResult<String> deleteById(@ApiParam(name = "id", value = "救援收费标准id") @PathVariable String id) {
//        boolean result = rescueFeeStandardManager.removeById(id);
//        return new CommonResult<>("删除救援收费标准成功");
//    }

//    @DeleteMapping("/")
//    @ApiOperation("根据id集合批量删除")
//    public CommonResult<String> deleteByIds(@ApiParam(name = "ids", value = "ID集合，多个使用逗号分割") @RequestParam String ids) {
//        boolean result = rescueFeeStandardManager.removeByIds(Arrays.asList(ids.split(",")));
//        return new CommonResult<>("删除救援收费标准成功");
//    }
}
