feat:[REQ-3282] 编写岗位相关代码
This commit is contained in:
parent
17f8efb7d7
commit
87e699b183
@ -0,0 +1,22 @@
|
||||
package cn.axzo.orgmanax.api.orgjob.feign;
|
||||
|
||||
import cn.axzo.foundation.result.ApiResult;
|
||||
import cn.axzo.orgmanax.api.orgjob.req.CreateOrgJobReq;
|
||||
import cn.axzo.orgmanax.api.orgjob.req.UpdateOrgJobReq;
|
||||
import cn.axzo.orgmanax.api.orgjob.resp.OrgJobDTO;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
@FeignClient(
|
||||
value = "orgmanax",
|
||||
url = "${axzo.service.orgmanax:http://orgmanax:8080}")
|
||||
public interface OrgJobApi {
|
||||
|
||||
@PostMapping("/api/org/job/create")
|
||||
ApiResult<OrgJobDTO> create(@RequestBody @Validated CreateOrgJobReq req);
|
||||
|
||||
@PostMapping("/api/org/job/update")
|
||||
ApiResult<OrgJobDTO> update(@RequestBody @Validated UpdateOrgJobReq req);
|
||||
}
|
||||
@ -0,0 +1,97 @@
|
||||
package cn.axzo.orgmanax.api.orgjob.req;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@Builder
|
||||
public class CreateOrgJobReq {
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 别名
|
||||
*/
|
||||
private String alias;
|
||||
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 可见性: SHOW-可见,HIDE-隐藏
|
||||
*/
|
||||
private String visible;
|
||||
|
||||
/**
|
||||
* 是否为默认岗的标识: 0-非默认,1-默认
|
||||
*/
|
||||
private Integer defaultFlag;
|
||||
|
||||
/**
|
||||
* 排序字段,目前暂无业务含义
|
||||
*/
|
||||
private Integer priority;
|
||||
|
||||
/**
|
||||
* 岗位类型:SYSTEM - 系统,CUSTOM - 自定义
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 岗位标签:SYSTEM - 系统岗,BUSINESS - 业务岗
|
||||
*/
|
||||
private String flag;
|
||||
|
||||
/**
|
||||
* 单位id,自定义类型时该值才有意义
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 项目id,自定义类型时该值才有意义
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 岗位人数上限
|
||||
*/
|
||||
private Long limitCount;
|
||||
|
||||
/**
|
||||
* 关联身份类型 1-工人,2-班组长,3-从业人员,5-运营人员
|
||||
*/
|
||||
private Integer identityType;
|
||||
|
||||
/**
|
||||
* 默认角色id列表
|
||||
*/
|
||||
private JSONObject defRoleIds;
|
||||
|
||||
/**
|
||||
* 待排除的角色id列表
|
||||
*/
|
||||
private JSONObject excludeRoleIds;
|
||||
|
||||
/**
|
||||
* 扩展字段
|
||||
*/
|
||||
private JSONObject recordExt;
|
||||
|
||||
/**
|
||||
* 变更人的自然人id
|
||||
*/
|
||||
private Long operatorId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,117 @@
|
||||
package cn.axzo.orgmanax.api.orgjob.req;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@Builder
|
||||
public class UpdateOrgJobReq {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 别名
|
||||
*/
|
||||
private String alias;
|
||||
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 可见性: SHOW-可见,HIDE-隐藏
|
||||
*/
|
||||
private String visible;
|
||||
|
||||
/**
|
||||
* 是否为默认岗的标识: 0-非默认,1-默认
|
||||
*/
|
||||
private Integer defaultFlag;
|
||||
|
||||
/**
|
||||
* 排序字段,目前暂无业务含义
|
||||
*/
|
||||
private Integer priority;
|
||||
|
||||
/**
|
||||
* 岗位类型:SYSTEM - 系统,CUSTOM - 自定义
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 岗位标签:SYSTEM - 系统岗,BUSINESS - 业务岗
|
||||
*/
|
||||
private String flag;
|
||||
|
||||
/**
|
||||
* 单位id,自定义类型时该值才有意义
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 项目id,自定义类型时该值才有意义
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 岗位人数上限
|
||||
*/
|
||||
private Long limitCount;
|
||||
|
||||
/**
|
||||
* 关联身份类型 1-工人,2-班组长,3-从业人员,5-运营人员
|
||||
*/
|
||||
private Integer identityType;
|
||||
|
||||
/**
|
||||
* 默认角色id列表
|
||||
*/
|
||||
private JSONObject defRoleIds;
|
||||
|
||||
/**
|
||||
* 待排除的角色id列表
|
||||
*/
|
||||
private JSONObject excludeRoleIds;
|
||||
|
||||
/**
|
||||
* 扩展字段
|
||||
*/
|
||||
private JSONObject recordExt;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createAt;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateAt;
|
||||
|
||||
/**
|
||||
* 变更人的自然人id
|
||||
*/
|
||||
private Long operatorId;
|
||||
|
||||
/**
|
||||
* 逻辑删除标识(0:未删除,其它:已删除)
|
||||
*/
|
||||
private Long isDelete;
|
||||
|
||||
}
|
||||
@ -0,0 +1,111 @@
|
||||
package cn.axzo.orgmanax.api.orgjob.resp;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class OrgJobDTO {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 别名
|
||||
*/
|
||||
private String alias;
|
||||
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 可见性: SHOW-可见,HIDE-隐藏
|
||||
*/
|
||||
private String visible;
|
||||
|
||||
/**
|
||||
* 是否为默认岗的标识: 0-非默认,1-默认
|
||||
*/
|
||||
private Integer defaultFlag;
|
||||
|
||||
/**
|
||||
* 排序字段,目前暂无业务含义
|
||||
*/
|
||||
private Integer priority;
|
||||
|
||||
/**
|
||||
* 岗位类型:SYSTEM - 系统,CUSTOM - 自定义
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 岗位标签:SYSTEM - 系统岗,BUSINESS - 业务岗
|
||||
*/
|
||||
private String flag;
|
||||
|
||||
/**
|
||||
* 单位id,自定义类型时该值才有意义
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 项目id,自定义类型时该值才有意义
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 岗位人数上限
|
||||
*/
|
||||
private Long limitCount;
|
||||
|
||||
/**
|
||||
* 关联身份类型 1-工人,2-班组长,3-从业人员,5-运营人员
|
||||
*/
|
||||
private Integer identityType;
|
||||
|
||||
/**
|
||||
* 默认角色id列表
|
||||
*/
|
||||
private JSONObject defRoleIds;
|
||||
|
||||
/**
|
||||
* 待排除的角色id列表
|
||||
*/
|
||||
private JSONObject excludeRoleIds;
|
||||
|
||||
/**
|
||||
* 扩展字段
|
||||
*/
|
||||
private JSONObject recordExt;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createAt;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateAt;
|
||||
|
||||
/**
|
||||
* 变更人的自然人id
|
||||
*/
|
||||
private Long operatorId;
|
||||
|
||||
/**
|
||||
* 逻辑删除标识(0:未删除,其它:已删除)
|
||||
*/
|
||||
private Long isDelete;
|
||||
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
package cn.axzo.orgmanax.infra.dao.orgjob.dao;
|
||||
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJob;
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.mapper.OrgJobMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public class OrgJobDao extends ServiceImpl<OrgJobMapper, OrgJob> {
|
||||
}
|
||||
@ -0,0 +1,131 @@
|
||||
package cn.axzo.orgmanax.infra.dao.orgjob.entity;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 组织岗位表(OrgJob)表实体类
|
||||
*
|
||||
* @author makejava
|
||||
* @since 2024-12-13 13:59:04
|
||||
*/
|
||||
@TableName(value = "org_job")
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@ToString(callSuper = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class OrgJob implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 别名
|
||||
*/
|
||||
private String alias;
|
||||
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 可见性: SHOW-可见,HIDE-隐藏
|
||||
*/
|
||||
private String visible;
|
||||
|
||||
/**
|
||||
* 是否为默认岗的标识: 0-非默认,1-默认
|
||||
*/
|
||||
private Integer defaultFlag;
|
||||
|
||||
/**
|
||||
* 排序字段,目前暂无业务含义
|
||||
*/
|
||||
private Integer priority;
|
||||
|
||||
/**
|
||||
* 岗位类型:SYSTEM - 系统,CUSTOM - 自定义
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 岗位标签:SYSTEM - 系统岗,BUSINESS - 业务岗
|
||||
*/
|
||||
private String flag;
|
||||
|
||||
/**
|
||||
* 单位id,自定义类型时该值才有意义
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 项目id,自定义类型时该值才有意义
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 岗位人数上限
|
||||
*/
|
||||
private Long limitCount;
|
||||
|
||||
/**
|
||||
* 关联身份类型 1-工人,2-班组长,3-从业人员,5-运营人员
|
||||
*/
|
||||
private Integer identityType;
|
||||
|
||||
/**
|
||||
* 默认角色id列表
|
||||
*/
|
||||
private JSONObject defRoleIds;
|
||||
|
||||
/**
|
||||
* 待排除的角色id列表
|
||||
*/
|
||||
private JSONObject excludeRoleIds;
|
||||
|
||||
/**
|
||||
* 扩展字段
|
||||
*/
|
||||
private JSONObject recordExt;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createAt;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateAt;
|
||||
|
||||
/**
|
||||
* 变更人的自然人id
|
||||
*/
|
||||
private Long operatorId;
|
||||
|
||||
/**
|
||||
* 逻辑删除标识(0:未删除,其它:已删除)
|
||||
*/
|
||||
private Long isDelete;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,9 @@
|
||||
package cn.axzo.orgmanax.infra.dao.orgjob.mapper;
|
||||
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJob;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface OrgJobMapper extends BaseMapper<OrgJob> {
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package cn.axzo.orgmanax.infra.dao.orgjob.repository;
|
||||
|
||||
import cn.axzo.foundation.dao.support.wrapper.CriteriaField;
|
||||
import cn.axzo.foundation.dao.support.wrapper.Operator;
|
||||
import cn.axzo.foundation.page.IPageReq;
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJob;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
public interface OrgJobQueryRepository {
|
||||
|
||||
PageResp<OrgJob> page(ListReq req);
|
||||
|
||||
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@SuperBuilder
|
||||
class ListReq implements IPageReq {
|
||||
|
||||
@CriteriaField
|
||||
private Long id;
|
||||
@CriteriaField(field = "id", operator = Operator.IN)
|
||||
private Long parentId;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
package cn.axzo.orgmanax.infra.dao.orgjob.repository;
|
||||
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJob;
|
||||
import cn.axzo.orgmanax.infra.dao.unit.entity.OrganizationalUnit;
|
||||
|
||||
public interface OrgJobUpsertRepository {
|
||||
|
||||
/**
|
||||
* 创建单位
|
||||
* @param orgJob
|
||||
*/
|
||||
void save(OrgJob orgJob);
|
||||
|
||||
/**
|
||||
* 更新单位
|
||||
* @param orgJob
|
||||
*/
|
||||
void update(OrgJob orgJob);
|
||||
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
package cn.axzo.orgmanax.infra.dao.orgjob.repository.impl;
|
||||
|
||||
import cn.axzo.foundation.dao.support.converter.PageConverter;
|
||||
import cn.axzo.foundation.dao.support.mysql.QueryWrapperHelper;
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.dao.OrgJobDao;
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJob;
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobQueryRepository;
|
||||
import cn.axzo.orgmanax.infra.dao.unit.entity.OrganizationalUnit;
|
||||
import cn.axzo.orgmanax.infra.dao.unit.repository.UnitQueryRepository;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@Repository
|
||||
public class OrgJobQueryRepositoryImpl implements OrgJobQueryRepository {
|
||||
|
||||
|
||||
private final OrgJobDao orgJobDao;
|
||||
|
||||
@Override
|
||||
public PageResp<OrgJob> page(ListReq req) {
|
||||
IPage<OrgJob> page = PageConverter.toMybatis(req, OrgJob.class);
|
||||
QueryWrapper<OrgJob> wrapper = QueryWrapperHelper.fromBean(req, OrgJob.class);
|
||||
IPage<OrgJob> results = orgJobDao.page(page, wrapper)
|
||||
.convert(e -> BeanUtil.toBean(e, OrgJob.class));
|
||||
PageResp<OrgJob> resp = PageConverter.toResp(results);
|
||||
List<OrgJob> records = resp.getData();
|
||||
if (CollUtil.isEmpty(records)) {
|
||||
return resp;
|
||||
}
|
||||
return resp;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
package cn.axzo.orgmanax.infra.dao.orgjob.repository.impl;
|
||||
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.dao.OrgJobDao;
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJob;
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobQueryRepository;
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobUpsertRepository;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@Repository
|
||||
public class OrgJobUpsertRepositoryImpl implements OrgJobUpsertRepository {
|
||||
|
||||
private final OrgJobDao orgJobDao;
|
||||
|
||||
@Override
|
||||
public void save(OrgJob orgJob) {
|
||||
orgJobDao.save(orgJob);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(OrgJob orgJob) {
|
||||
orgJobDao.updateById(orgJob);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package cn.axzo.orgmanax.server.orgjob.controller;
|
||||
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.foundation.result.ApiResult;
|
||||
import cn.axzo.orgmanax.api.node.feign.OrgNodeApi;
|
||||
import cn.axzo.orgmanax.api.node.req.ListNodeReq;
|
||||
import cn.axzo.orgmanax.api.node.req.NodeProcessReq;
|
||||
import cn.axzo.orgmanax.api.node.resp.OrgNodeDTO;
|
||||
import cn.axzo.orgmanax.api.orgjob.feign.OrgJobApi;
|
||||
import cn.axzo.orgmanax.api.orgjob.req.CreateOrgJobReq;
|
||||
import cn.axzo.orgmanax.api.orgjob.req.UpdateOrgJobReq;
|
||||
import cn.axzo.orgmanax.api.orgjob.resp.OrgJobDTO;
|
||||
import cn.axzo.orgmanax.server.orgjob.service.OrgJobService;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@RequestMapping
|
||||
@RequiredArgsConstructor
|
||||
public class OrgJobController implements OrgJobApi {
|
||||
|
||||
private final OrgJobService orgJobService;
|
||||
|
||||
@Override
|
||||
public ApiResult<OrgJobDTO> create(CreateOrgJobReq req) {
|
||||
return ApiResult.success(orgJobService.create(req));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<OrgJobDTO> update(UpdateOrgJobReq req) {
|
||||
return ApiResult.success(orgJobService.update(req));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package cn.axzo.orgmanax.server.orgjob.foundation;
|
||||
|
||||
import cn.axzo.orgmanax.api.orgjob.resp.OrgJobDTO;
|
||||
import cn.axzo.orgmanax.server.orgjob.foundation.dto.OrgJobCreator;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public interface OrgJobFoundationService {
|
||||
|
||||
/**
|
||||
* 创建
|
||||
* @param creator
|
||||
* @return
|
||||
*/
|
||||
OrgJobDTO create(OrgJobCreator creator);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
* @param creator
|
||||
* @return
|
||||
*/
|
||||
OrgJobDTO update(OrgJobCreator creator);
|
||||
}
|
||||
@ -0,0 +1,127 @@
|
||||
package cn.axzo.orgmanax.server.orgjob.foundation.dto;
|
||||
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJob;
|
||||
import cn.axzo.orgmanax.infra.dao.unit.entity.OrganizationalUnit;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class OrgJobCreator {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 别名
|
||||
*/
|
||||
private String alias;
|
||||
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 可见性: SHOW-可见,HIDE-隐藏
|
||||
*/
|
||||
private String visible;
|
||||
|
||||
/**
|
||||
* 是否为默认岗的标识: 0-非默认,1-默认
|
||||
*/
|
||||
private Integer defaultFlag;
|
||||
|
||||
/**
|
||||
* 排序字段,目前暂无业务含义
|
||||
*/
|
||||
private Integer priority;
|
||||
|
||||
/**
|
||||
* 岗位类型:SYSTEM - 系统,CUSTOM - 自定义
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 岗位标签:SYSTEM - 系统岗,BUSINESS - 业务岗
|
||||
*/
|
||||
private String flag;
|
||||
|
||||
/**
|
||||
* 单位id,自定义类型时该值才有意义
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 项目id,自定义类型时该值才有意义
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 岗位人数上限
|
||||
*/
|
||||
private Long limitCount;
|
||||
|
||||
/**
|
||||
* 关联身份类型 1-工人,2-班组长,3-从业人员,5-运营人员
|
||||
*/
|
||||
private Integer identityType;
|
||||
|
||||
/**
|
||||
* 默认角色id列表
|
||||
*/
|
||||
private JSONObject defRoleIds;
|
||||
|
||||
/**
|
||||
* 待排除的角色id列表
|
||||
*/
|
||||
private JSONObject excludeRoleIds;
|
||||
|
||||
/**
|
||||
* 扩展字段
|
||||
*/
|
||||
private JSONObject recordExt;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createAt;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateAt;
|
||||
|
||||
/**
|
||||
* 变更人的自然人id
|
||||
*/
|
||||
private Long operatorId;
|
||||
|
||||
/**
|
||||
* 构建实体
|
||||
* @return
|
||||
*/
|
||||
public OrgJob toEntity() {
|
||||
OrgJob orgJob = BeanUtil.copyProperties(this, OrgJob.class);
|
||||
return orgJob;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package cn.axzo.orgmanax.server.orgjob.foundation.impl;
|
||||
|
||||
import cn.axzo.orgmanax.api.orgjob.resp.OrgJobDTO;
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.dao.OrgJobDao;
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJob;
|
||||
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobUpsertRepository;
|
||||
import cn.axzo.orgmanax.server.orgjob.foundation.OrgJobFoundationService;
|
||||
import cn.axzo.orgmanax.server.orgjob.foundation.dto.OrgJobCreator;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class OrgJobFoundationServiceImpl implements OrgJobFoundationService {
|
||||
|
||||
private final OrgJobUpsertRepository orgJobUpsertRepository;
|
||||
|
||||
@Override
|
||||
public OrgJobDTO create(OrgJobCreator creator) {
|
||||
OrgJob entity = creator.toEntity();
|
||||
orgJobUpsertRepository.save(entity);
|
||||
return BeanUtil.copyProperties(creator, OrgJobDTO.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrgJobDTO update(OrgJobCreator creator) {
|
||||
OrgJob entity = creator.toEntity();
|
||||
orgJobUpsertRepository.update(entity);
|
||||
return BeanUtil.copyProperties(creator, OrgJobDTO.class);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package cn.axzo.orgmanax.server.orgjob.service;
|
||||
|
||||
import cn.axzo.orgmanax.api.node.resp.OrgNodeDTO;
|
||||
import cn.axzo.orgmanax.api.orgjob.req.CreateOrgJobReq;
|
||||
import cn.axzo.orgmanax.api.orgjob.req.UpdateOrgJobReq;
|
||||
import cn.axzo.orgmanax.api.orgjob.resp.OrgJobDTO;
|
||||
|
||||
public interface OrgJobService {
|
||||
|
||||
/**
|
||||
* 创建岗位
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
OrgJobDTO create(CreateOrgJobReq req);
|
||||
|
||||
/**
|
||||
* 更新岗位
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
OrgJobDTO update(UpdateOrgJobReq req);
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package cn.axzo.orgmanax.server.orgjob.service.impl;
|
||||
|
||||
import cn.axzo.orgmanax.api.orgjob.req.CreateOrgJobReq;
|
||||
import cn.axzo.orgmanax.api.orgjob.req.UpdateOrgJobReq;
|
||||
import cn.axzo.orgmanax.api.orgjob.resp.OrgJobDTO;
|
||||
import cn.axzo.orgmanax.server.orgjob.foundation.OrgJobFoundationService;
|
||||
import cn.axzo.orgmanax.server.orgjob.foundation.dto.OrgJobCreator;
|
||||
import cn.axzo.orgmanax.server.orgjob.service.OrgJobService;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class OrgJobServiceImpl implements OrgJobService {
|
||||
|
||||
private OrgJobFoundationService foundationService;
|
||||
|
||||
@Override
|
||||
public OrgJobDTO create(CreateOrgJobReq req) {
|
||||
OrgJobCreator creator = BeanUtil.copyProperties(req, OrgJobCreator.class);
|
||||
return foundationService.create(creator);
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrgJobDTO update(UpdateOrgJobReq req) {
|
||||
OrgJobCreator creator = BeanUtil.copyProperties(req, OrgJobCreator.class);
|
||||
return foundationService.update(creator);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user