package com.tanpu.feo.feojob.controller;

import com.fengwenyi.api.result.ResultTemplate;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.tanpu.feo.feojob.dto.DepartmentEmployeeDTO;
import com.tanpu.feo.feojob.service.DepartmentEmployeeService;
import com.tanpu.feo.feojob.web.dto.PageHelperDTO;
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.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 部门员工关系表 Controller
 *
 * @author zejia zj wu 2021年05月18日
 * @version 1.0
 */
@RestController
@Api(tags = "部门员工关系表")
@RequestMapping(value = "v1/departmentEmployee")
@Slf4j
public class DepartmentEmployeeController {

	@Autowired
	private DepartmentEmployeeService departmentEmployeeService;



	/**
     * 按主键查询部门员工关系表
     *
     * @return
     * @updateRecord - 初次创建
     * @version 1.0 (2021年05月18日)
     * @author zejia zj wu
     */
	@RequestMapping(value = "/select/{id}", method = RequestMethod.GET)
	@ApiOperation(value = "按主键查询部门员工关系表")
	public ResultTemplate<DepartmentEmployeeDTO> selectDepartmentEmployeeById(@PathVariable String id) {
		return ResultTemplate.success(departmentEmployeeService.selectById(id));
	}

	/**
     * 根据条件分页查询全部部门员工关系表
     *
     * @return
     * @updateRecord - 初次创建
     * @version 1.0 (2021年05月18日)
     * @author zejia zj wu
     */
	@RequestMapping(value = "/pageList", method = RequestMethod.POST)
	@ApiOperation(value = "根据条件分页查询全部部门员工关系表")
	public ResultTemplate<PageHelperDTO<DepartmentEmployeeDTO>> pageList(@RequestBody @Validated DepartmentEmployeeDTO departmentEmployeeDTO) throws IllegalAccessException {
		Page<DepartmentEmployeeDTO> page = PageHelper.startPage(departmentEmployeeDTO.getPageNum(), departmentEmployeeDTO.getPageSize());
		List<DepartmentEmployeeDTO> departmentEmployeeDtoList = departmentEmployeeService.selectListByObject(departmentEmployeeDTO);
		return ResultTemplate.success(new PageHelperDTO<>(page, departmentEmployeeDtoList));
	}
}