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