121 lines
3.4 KiB
Java
121 lines
3.4 KiB
Java
package com.sky.controller.admin;
|
||
|
||
import com.sky.constant.JwtClaimsConstant;
|
||
import com.sky.dto.EmployeeDTO;
|
||
import com.sky.dto.EmployeeLoginDTO;
|
||
import com.sky.dto.EmployeePageQueryDTO;
|
||
import com.sky.dto.StartOrStopDTO;
|
||
import com.sky.entity.Employee;
|
||
import com.sky.properties.JwtProperties;
|
||
import com.sky.result.PageResult;
|
||
import com.sky.result.Result;
|
||
import com.sky.service.EmployeeService;
|
||
import com.sky.utils.JwtUtil;
|
||
import com.sky.vo.EmployeeLoginVO;
|
||
import io.swagger.annotations.ApiOperation;
|
||
import lombok.extern.slf4j.Slf4j;
|
||
import org.springframework.beans.factory.annotation.Autowired;
|
||
import org.springframework.web.bind.annotation.*;
|
||
|
||
import java.util.HashMap;
|
||
import java.util.Map;
|
||
|
||
/**
|
||
* 员工管理
|
||
*/
|
||
@RestController
|
||
@RequestMapping("/admin/employee")
|
||
@Slf4j
|
||
public class EmployeeController {
|
||
|
||
@Autowired
|
||
private EmployeeService employeeService;
|
||
@Autowired
|
||
private JwtProperties jwtProperties;
|
||
|
||
/**
|
||
* 登录
|
||
*
|
||
* @param employeeLoginDTO
|
||
* @return
|
||
*/
|
||
@PostMapping("/login")
|
||
public Result<EmployeeLoginVO> login(@RequestBody EmployeeLoginDTO employeeLoginDTO) {
|
||
log.info("员工登录:{}", employeeLoginDTO);
|
||
|
||
Employee employee = employeeService.login(employeeLoginDTO);
|
||
|
||
//登录成功后,生成jwt令牌
|
||
Map<String, Object> claims = new HashMap<>();
|
||
claims.put(JwtClaimsConstant.EMP_ID, employee.getId());
|
||
String token = JwtUtil.createJWT(
|
||
jwtProperties.getAdminSecretKey(),
|
||
jwtProperties.getAdminTtl(),
|
||
claims);
|
||
|
||
EmployeeLoginVO employeeLoginVO = EmployeeLoginVO.builder()
|
||
.id(employee.getId())
|
||
.userName(employee.getUsername())
|
||
.name(employee.getName())
|
||
.token(token)
|
||
.build();
|
||
|
||
return Result.success(employeeLoginVO);
|
||
}
|
||
|
||
/**
|
||
* 退出
|
||
*
|
||
* @return
|
||
*/
|
||
@PostMapping("/logout")
|
||
public Result<String> logout() {
|
||
return Result.success();
|
||
}
|
||
|
||
/**
|
||
* 新增员工
|
||
*/
|
||
@PostMapping
|
||
@ApiOperation("新增员工")
|
||
public Result save(@RequestBody EmployeeDTO employeeDTO){
|
||
log.info("新增员工:{}",employeeDTO);
|
||
employeeService.save(employeeDTO);
|
||
return Result.success();
|
||
}
|
||
/**
|
||
* 分页查询
|
||
*/
|
||
@GetMapping("/page")
|
||
@ApiOperation("分页查询")
|
||
public Result<PageResult> list(EmployeePageQueryDTO employeePageQueryDTO){
|
||
log.info("分页查询:{}",employeePageQueryDTO);
|
||
PageResult pageResult=employeeService.pageQuery(employeePageQueryDTO);
|
||
return Result.success(pageResult);
|
||
}
|
||
/**
|
||
* 禁用/启动员工
|
||
*/
|
||
@PutMapping("/status")
|
||
@ApiOperation("禁用/启用")
|
||
public Result startOrStop(@RequestBody StartOrStopDTO startOrStopDTO){
|
||
employeeService.startOrStop(startOrStopDTO);
|
||
return Result.success();
|
||
}
|
||
/**
|
||
* 查询用户id信息
|
||
*/
|
||
@GetMapping("/{id}")
|
||
@ApiOperation("查询用户信息")
|
||
public Result<Employee> queryById(@PathVariable Integer id){
|
||
Employee employee=employeeService.queryById(id);
|
||
return Result.success(employee);
|
||
}
|
||
@PutMapping
|
||
@ApiOperation("修改用户信息")
|
||
public Result update(@RequestBody EmployeeDTO employeeDTO){
|
||
employeeService.update(employeeDTO);
|
||
return Result.success();
|
||
}
|
||
}
|