feat: 职位管理,增删改查功能

This commit is contained in:
wangjx 2025-02-21 13:45:11 +08:00
parent 9a5057e47d
commit a65317e080
4 changed files with 216 additions and 0 deletions

View File

@ -0,0 +1,64 @@
package com.rsjst.hcm.recruit.api.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("职位")
@TableName("position_management")
public class RecruitPositionPojo {
// 这个用uuid自动生成了
@ApiModelProperty("id")
String id;
// 工作名称
@ApiModelProperty("工作名称")
String jobName;
// 工作内容
@ApiModelProperty("工作内容")
String jobContent;
// 岗位描述
@ApiModelProperty("岗位描述")
String positionDescription;
// 岗位地点
@ApiModelProperty("岗位地点")
String positionLocation;
// 招聘状态
@ApiModelProperty("招聘状态")
Integer recruitmentStatus;
// 薪资详情
@ApiModelProperty("薪资详情")
String salaryDetails;
// 经验年限
@ApiModelProperty("经验年限")
String experienceYears;
// 学历
@ApiModelProperty("学历")
String education;
// 公司名称
@ApiModelProperty("公司名称")
String companyName;
// 企业联系人
@ApiModelProperty("企业联系人")
String enterpriseContactPerson;
// 企业联系人号码
@ApiModelProperty("企业联系人号码")
String enterprisePhone;
// 附件
@ApiModelProperty("附件")
String files;
}

View File

@ -0,0 +1,107 @@
package com.rsjst.hcm.recruit.biz.controller;
import cn.zgfxrc.boot.common.core.entity.interfaces.AddGroup;
import cn.zgfxrc.boot.common.core.entity.interfaces.DelGroup;
import cn.zgfxrc.boot.common.core.entity.interfaces.EditGroup;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.rsjst.hcm.recruit.api.entity.RecruitPositionPojo;
import com.rsjst.hcm.recruit.biz.service.RecruitPositionService;
import com.seepine.secret.annotation.Log;
import com.seepine.secret.annotation.Permission;
import com.seepine.wrap.WrapException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import java.util.List;
import lombok.AllArgsConstructor;
import org.springframework.lang.Nullable;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@Api(tags = "职位管理")
@RequestMapping("recruit/position")
@AllArgsConstructor
public class RecruitPositionController {
RecruitPositionService service;
/**
* 分页查询
*
* @param page 分页对象
* @param entity 实体类
* @return IPage
*/
@PostMapping("page/res")
@Permission("recruit_position_view")
public IPage<RecruitPositionPojo> pageRes(
Page<RecruitPositionPojo> page, @RequestBody RecruitPositionPojo entity) {
return service.pageRes(page, entity);
}
/**
* 分页查询
*
* @param entity 实体类
* @return List
*/
@ApiOperation("获取数组")
@PostMapping("list")
@Permission("recruit_position_view")
public List<RecruitPositionPojo> list(@RequestBody @Nullable RecruitPositionPojo entity) {
LambdaQueryWrapper<RecruitPositionPojo> wrapper = Wrappers.lambdaQuery(entity);
return service.list(wrapper);
}
/**
* 新增
*
* @param entity 实体类
*/
@Log("新增")
@ApiOperation("新增")
@PostMapping("add")
@Permission("recruit_position_add")
public void save(@RequestBody @Validated(AddGroup.class) RecruitPositionPojo entity) {
if (!service.save(entity)) {
throw new WrapException("保存失败");
}
}
/**
* 修改
*
* @param entity 实体类
*/
@Log("修改")
@ApiOperation("修改")
@PostMapping("edit")
@Permission("recruit_position_edit")
public void updateById(@RequestBody @Validated(EditGroup.class) RecruitPositionPojo entity) {
if (!service.updateById(entity)) {
throw new WrapException("修改失败");
}
}
/**
* 通过id删除
*
* @param entity 实体类
*/
@Log("删除")
@ApiOperation("根据id删除")
@PostMapping("del")
@Permission("recruit_position_del")
public void removeById(
@ApiParam("主键") @RequestBody @Validated(DelGroup.class) RecruitPositionPojo entity) {
if (!service.removeById(entity.getId())) {
throw new WrapException("删除失败");
}
}
}

View File

@ -0,0 +1,8 @@
package com.rsjst.hcm.recruit.biz.mapper;
import cn.zgfxrc.boot.common.mybatis.base.MpBaseMapper;
import com.rsjst.hcm.recruit.api.entity.RecruitPositionPojo;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface RecruitPositionMapper extends MpBaseMapper<RecruitPositionPojo> {}

View File

@ -0,0 +1,37 @@
package com.rsjst.hcm.recruit.biz.service;
import cn.zgfxrc.boot.upms.api.feign.RemoteUserService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.rsjst.hcm.recruit.api.entity.RecruitPositionPojo;
import com.rsjst.hcm.recruit.biz.mapper.RecruitPositionMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@AllArgsConstructor
public class RecruitPositionService
extends ServiceImpl<RecruitPositionMapper, RecruitPositionPojo> {
private final RemoteUserService remoteUserService;
public IPage<RecruitPositionPojo> pageRes(
Page<RecruitPositionPojo> page, RecruitPositionPojo entity) {
LambdaQueryWrapper<RecruitPositionPojo> wrapper = Wrappers.lambdaQuery(entity);
return super.page(page, wrapper);
}
@Override
public boolean updateById(RecruitPositionPojo entity) {
return super.update(
entity,
Wrappers.<RecruitPositionPojo>lambdaUpdate()
.eq(RecruitPositionPojo::getId, entity.getId())
// 重写updateById实现附件为null时也更新数据库
.set(RecruitPositionPojo::getFiles, entity.getFiles()));
}
}