package jnpf.personnels.controller.web.rule;

import jnpf.base.ActionResult;
import jnpf.model.personnels.dto.range.FtbRangeConfigDTO;
import jnpf.model.personnels.dto.range.FtbRangeDiyQueryDTO;
import jnpf.model.personnels.vo.range.FtbRangeConfigDIYVO;
import jnpf.model.personnels.vo.range.FtbRangeConfigVO;
import jnpf.personnels.FtbPersonnelsInfoConfigApi;
import jnpf.personnels.service.FtbPersonnlesInfoConfigService;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

/**
 * web人事范围区间配置
 *
 * @author peng.hao
 */
@RestController
@RequestMapping("/web/range-config")
public class FtbPersonnlesInfoConfigController implements FtbPersonnelsInfoConfigApi {

    @Resource
    private FtbPersonnlesInfoConfigService personnlesInfoConfigService;

    /**
     * 查询是平均范围配置  还是自定义配置
     * @param type 1 年龄 2 薪资 3 工龄
     * @return 配置类型 1平均 2自定义
     */
    @GetMapping("/query-type")
    @Override
    public ActionResult<Integer> queryType(@RequestParam("type") Integer type) {
        return ActionResult.success(personnlesInfoConfigService.queryType(type));
    }


    /**
     * 查询平均区间配置范围
     * @param type 1 年龄 2 薪资 3 工龄
     */
    @GetMapping("/query-info")
    @Override
    public ActionResult<FtbRangeConfigVO> queryInfo(@RequestParam("type") Integer type) {
        return ActionResult.success(personnlesInfoConfigService.queryInfo(type));
    }
    /**
     * 查询自定义区间配置范围
     *
     * @param type 1 年龄 2 薪资 3 工龄
     */
    @GetMapping("/query-info-diy")
    @Override
    public ActionResult<List<FtbRangeConfigDIYVO>> queryDiyInfo(@RequestParam("type")Integer type) {
        return ActionResult.success(personnlesInfoConfigService.queryDiyInfo(type));
    }
    /**
     * 平均编辑区间配置
     */
    @PutMapping("/update-info")
    public ActionResult<Boolean> updateInfo(@RequestBody FtbRangeConfigDTO dto) {
        personnlesInfoConfigService.updateInfo(dto);
        return ActionResult.success();
    }
    /**
     * 按自定义范围配置
     */
    @PutMapping("/update-diy-info")
    public ActionResult<Boolean> updateDiyInfo(@RequestBody FtbRangeDiyQueryDTO dto) {
        personnlesInfoConfigService.updateDiyInfo(dto);
        return ActionResult.success();
    }
}
