package com.java110.api.controller.component;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.java110.api.controller.Result;
|
import com.java110.dto.org.JobRank;
|
import com.java110.intf.user.JobRankService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
|
/**
|
* 职级管理控制器
|
* 提供 RESTful 风格的增删改查接口
|
*/
|
@RestController
|
@RequestMapping("/api/jobRank")
|
public class JobRankController {
|
|
@Autowired
|
private JobRankService jobRankService;
|
|
/**
|
* 新增职级
|
*/
|
@PostMapping
|
public Result add(@RequestBody JobRank jobRank) {
|
boolean save = jobRankService.save(jobRank);
|
return save ? Result.success("新增成功") : Result.error("新增失败");
|
}
|
|
/**
|
* 修改职级
|
*/
|
@PutMapping
|
public Result update(@RequestBody JobRank jobRank) {
|
if (jobRank.getId() == null) {
|
return Result.error("ID不能为空");
|
}
|
boolean update = jobRankService.updateById(jobRank);
|
return update ? Result.success("修改成功") : Result.error("修改失败");
|
}
|
|
/**
|
* 删除职级(物理删除,逻辑删除可修改为更新 is_active 状态)
|
*/
|
@DeleteMapping("/{id}")
|
public Result delete(@PathVariable Integer id) {
|
boolean remove = jobRankService.removeById(id);
|
return remove ? Result.success("删除成功") : Result.error("删除失败");
|
}
|
|
/**
|
* 逻辑删除(将状态改为无效)
|
*/
|
@PutMapping("/disable/{id}")
|
public Result disable(@PathVariable Integer id) {
|
JobRank jobRank = new JobRank();
|
jobRank.setId(id);
|
jobRank.setIsActive(0); // 0 表示无效
|
boolean update = jobRankService.updateById(jobRank);
|
return update ? Result.success("禁用成功") : Result.error("禁用失败");
|
}
|
|
/**
|
* 根据ID查询职级
|
*/
|
@GetMapping("/{id}")
|
public Result getById(@PathVariable Integer id) {
|
JobRank jobRank = jobRankService.getById(id);
|
return jobRank != null ? Result.success(jobRank) : Result.error("数据不存在");
|
}
|
|
/**
|
* 按组织编码查询职级列表
|
*/
|
@GetMapping("/org/{orgCode}")
|
public Result getByOrgCode(@PathVariable String orgCode) {
|
List<JobRank> list = jobRankService.getByOrgCode(orgCode);
|
return Result.success(list);
|
}
|
|
/**
|
* 分页查询所有职级
|
* 示例:/api/jobRank?pageNum=1&pageSize=10
|
*/
|
@GetMapping
|
public Result page(
|
@RequestParam(defaultValue = "1") Integer pageNum,
|
@RequestParam(defaultValue = "10") Integer pageSize
|
) {
|
IPage<JobRank> page = new Page<>(pageNum, pageSize);
|
IPage<JobRank> resultPage = jobRankService.page(page);
|
return Result.success(resultPage);
|
}
|
}
|