package com.rongyichuang.employee.resolver;
|
|
import com.rongyichuang.employee.dto.request.EmployeeInput;
|
import com.rongyichuang.employee.dto.response.EmployeeResponse;
|
import com.rongyichuang.employee.service.EmployeeService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.domain.Page;
|
import org.springframework.graphql.data.method.annotation.Argument;
|
import org.springframework.graphql.data.method.annotation.MutationMapping;
|
import org.springframework.graphql.data.method.annotation.QueryMapping;
|
import org.springframework.stereotype.Controller;
|
|
import java.util.List;
|
|
/**
|
* 员工GraphQL解析器
|
*/
|
@Controller
|
public class EmployeeResolver {
|
|
@Autowired
|
private EmployeeService employeeService;
|
|
/**
|
* 查询所有员工列表
|
*/
|
@QueryMapping
|
public List<EmployeeResponse> employees() {
|
return employeeService.findAllEmployees();
|
}
|
|
|
|
/**
|
* 根据名称搜索员工
|
*/
|
@QueryMapping
|
public List<EmployeeResponse> employeesByName(@Argument String name) {
|
return employeeService.searchByName(name);
|
}
|
|
/**
|
* 根据ID获取员工详情
|
*/
|
@QueryMapping
|
public EmployeeResponse employee(@Argument Long id) {
|
return employeeService.findById(id);
|
}
|
|
/**
|
* 保存员工(新增或更新)
|
*/
|
@MutationMapping
|
public EmployeeResponse saveEmployee(@Argument EmployeeInput input) {
|
return employeeService.saveEmployee(input);
|
}
|
|
/**
|
* 删除员工
|
*/
|
@MutationMapping
|
public Boolean deleteEmployee(@Argument Long id) {
|
return employeeService.deleteEmployee(id);
|
}
|
}
|