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 login(@RequestBody EmployeeLoginDTO employeeLoginDTO) { log.info("员工登录:{}", employeeLoginDTO); Employee employee = employeeService.login(employeeLoginDTO); //登录成功后,生成jwt令牌 Map 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 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 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 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(); } }