Merge remote-tracking branch 'origin/feature/REQ-3282' into feature/REQ-3282
# Conflicts: # orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/orgjob/repository/OrgJobQueryRepository.java
This commit is contained in:
commit
dfc0b93b93
@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@ -12,7 +13,7 @@ import java.util.Date;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class OrgNodeDTO implements Serializable {
|
public class OrgNodeDTO implements Serializable {
|
||||||
|
|
||||||
protected Long id;
|
protected Long id;
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import cn.axzo.foundation.page.PageResp;
|
|||||||
import cn.axzo.foundation.result.ApiResult;
|
import cn.axzo.foundation.result.ApiResult;
|
||||||
import cn.axzo.orgmanax.api.nodeuser.req.ListNodeUserReq;
|
import cn.axzo.orgmanax.api.nodeuser.req.ListNodeUserReq;
|
||||||
import cn.axzo.orgmanax.api.nodeuser.req.ProcessNodeUserReq;
|
import cn.axzo.orgmanax.api.nodeuser.req.ProcessNodeUserReq;
|
||||||
import cn.axzo.orgmanax.api.nodeuser.resp.OrgNodeUserDTO;
|
import cn.axzo.orgmanax.api.nodeuser.resp.NodeUserDTO;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
@ -40,6 +40,6 @@ public interface OrgNodeUserApi {
|
|||||||
* @see ListNodeUserReq#getPageSize()
|
* @see ListNodeUserReq#getPageSize()
|
||||||
*/
|
*/
|
||||||
@PostMapping("/api/node-user/list")
|
@PostMapping("/api/node-user/list")
|
||||||
ApiResult<PageResp<OrgNodeUserDTO>> list(@RequestBody @Validated ListNodeUserReq req);
|
ApiResult<PageResp<NodeUserDTO>> list(@RequestBody @Validated ListNodeUserReq req);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,45 @@
|
|||||||
|
package cn.axzo.orgmanax.api.nodeuser.req;
|
||||||
|
|
||||||
|
import lombok.AccessLevel;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
public class DistinctRule implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 如果指定了该值,根据distinctKeys做去重处理
|
||||||
|
*/
|
||||||
|
private Collection<String> distinctByFields;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合并规则,1 = 保留第一个,2 = 保留最后一个,默认为2。
|
||||||
|
*
|
||||||
|
* @see MergeType
|
||||||
|
*/
|
||||||
|
private Integer mergeType;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
||||||
|
public enum MergeType {
|
||||||
|
FIRST(1, "保留第一个"), LAST(2, "保留最后一个");
|
||||||
|
private final Integer value;
|
||||||
|
private final String desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getMergeType() {
|
||||||
|
// 不指定,取最后一个
|
||||||
|
return ObjectUtils.firstNonNull(mergeType, MergeType.LAST.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
package cn.axzo.orgmanax.api.nodeuser.req;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
public class IdentityPair {
|
||||||
|
private Long identityId;
|
||||||
|
private Integer identityType;
|
||||||
|
}
|
||||||
@ -3,11 +3,15 @@ package cn.axzo.orgmanax.api.nodeuser.req;
|
|||||||
import cn.axzo.foundation.dao.support.wrapper.CriteriaField;
|
import cn.axzo.foundation.dao.support.wrapper.CriteriaField;
|
||||||
import cn.axzo.foundation.dao.support.wrapper.Operator;
|
import cn.axzo.foundation.dao.support.wrapper.Operator;
|
||||||
import cn.axzo.foundation.page.PageReqV2;
|
import cn.axzo.foundation.page.PageReqV2;
|
||||||
import lombok.*;
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.experimental.SuperBuilder;
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@ -18,8 +22,10 @@ public class ListNodeUserReq extends PageReqV2 {
|
|||||||
|
|
||||||
@CriteriaField
|
@CriteriaField
|
||||||
private Long id;
|
private Long id;
|
||||||
|
@CriteriaField(field = "id", operator = Operator.GT)
|
||||||
|
private Long idGt;
|
||||||
@CriteriaField(field = "id", operator = Operator.IN)
|
@CriteriaField(field = "id", operator = Operator.IN)
|
||||||
private Set<Long> ids;
|
private Collection<Long> ids;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* identity_id
|
* identity_id
|
||||||
@ -27,7 +33,7 @@ public class ListNodeUserReq extends PageReqV2 {
|
|||||||
@CriteriaField
|
@CriteriaField
|
||||||
private Long identityId;
|
private Long identityId;
|
||||||
@CriteriaField(field = "identityId", operator = Operator.IN)
|
@CriteriaField(field = "identityId", operator = Operator.IN)
|
||||||
private Set<Long> identityIds;
|
private Collection<Long> identityIds;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 身份类型 0-无效类型, 1-工人, 2-班组长, 3-从业人员, 4-政务人员,5-运营人员
|
* 身份类型 0-无效类型, 1-工人, 2-班组长, 3-从业人员, 4-政务人员,5-运营人员
|
||||||
@ -35,7 +41,7 @@ public class ListNodeUserReq extends PageReqV2 {
|
|||||||
@CriteriaField
|
@CriteriaField
|
||||||
private Integer identityType;
|
private Integer identityType;
|
||||||
@CriteriaField(field = "identityType", operator = Operator.IN)
|
@CriteriaField(field = "identityType", operator = Operator.IN)
|
||||||
private Set<Integer> identityTypes;
|
private Collection<Integer> identityTypes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自然人id
|
* 自然人id
|
||||||
@ -43,13 +49,17 @@ public class ListNodeUserReq extends PageReqV2 {
|
|||||||
@CriteriaField
|
@CriteriaField
|
||||||
private Long personId;
|
private Long personId;
|
||||||
@CriteriaField(field = "personId", operator = Operator.IN)
|
@CriteriaField(field = "personId", operator = Operator.IN)
|
||||||
private Set<Long> personIds;
|
private Collection<Long> personIds;
|
||||||
|
@CriteriaField(field = "personId", operator = Operator.NOT_IN)
|
||||||
|
private Collection<Long> excludePersonIds;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 主电话
|
* 主电话
|
||||||
*/
|
*/
|
||||||
@CriteriaField
|
@CriteriaField
|
||||||
private String phone;
|
private String phone;
|
||||||
|
@CriteriaField(field = "phone", operator = Operator.NOT_IN)
|
||||||
|
private Collection<String> phones;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 名字
|
* 名字
|
||||||
@ -65,7 +75,7 @@ public class ListNodeUserReq extends PageReqV2 {
|
|||||||
@CriteriaField
|
@CriteriaField
|
||||||
private String idNumber;
|
private String idNumber;
|
||||||
@CriteriaField(field = "idNumber", operator = Operator.IN)
|
@CriteriaField(field = "idNumber", operator = Operator.IN)
|
||||||
private Set<String> idNumbers;
|
private Collection<String> idNumbers;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 单位id
|
* 单位id
|
||||||
@ -73,7 +83,7 @@ public class ListNodeUserReq extends PageReqV2 {
|
|||||||
@CriteriaField
|
@CriteriaField
|
||||||
private Long organizationalUnitId;
|
private Long organizationalUnitId;
|
||||||
@CriteriaField(field = "organizationalUnitId", operator = Operator.IN)
|
@CriteriaField(field = "organizationalUnitId", operator = Operator.IN)
|
||||||
private Set<Long> organizationalUnitIds;
|
private Collection<Long> organizationalUnitIds;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 组织节点id
|
* 组织节点id
|
||||||
@ -81,7 +91,9 @@ public class ListNodeUserReq extends PageReqV2 {
|
|||||||
@CriteriaField
|
@CriteriaField
|
||||||
private Long organizationalNodeId;
|
private Long organizationalNodeId;
|
||||||
@CriteriaField(field = "organizationalNodeId", operator = Operator.IN)
|
@CriteriaField(field = "organizationalNodeId", operator = Operator.IN)
|
||||||
private Set<Long> organizationalNodeIds;
|
private Collection<Long> organizationalNodeIds;
|
||||||
|
@CriteriaField(field = "organizationalNodeId", operator = Operator.NOT_IN)
|
||||||
|
private Collection<Long> excludeOrganizationalNodeIds;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 顶级节点id
|
* 顶级节点id
|
||||||
@ -89,7 +101,9 @@ public class ListNodeUserReq extends PageReqV2 {
|
|||||||
@CriteriaField
|
@CriteriaField
|
||||||
private Long topNodeId;
|
private Long topNodeId;
|
||||||
@CriteriaField(field = "topNodeId", operator = Operator.IN)
|
@CriteriaField(field = "topNodeId", operator = Operator.IN)
|
||||||
private Set<Long> topNodeIds;
|
private Collection<Long> topNodeIds;
|
||||||
|
@CriteriaField(field = "topNodeId", operator = Operator.GT)
|
||||||
|
private Long topNodeIdGt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 部门管理员 1是 0否
|
* 部门管理员 1是 0否
|
||||||
@ -103,7 +117,7 @@ public class ListNodeUserReq extends PageReqV2 {
|
|||||||
@CriteriaField
|
@CriteriaField
|
||||||
private Long organizationalJobId;
|
private Long organizationalJobId;
|
||||||
@CriteriaField(field = "organizationalJobId", operator = Operator.IN)
|
@CriteriaField(field = "organizationalJobId", operator = Operator.IN)
|
||||||
private Set<Long> organizationalJobIds;
|
private Collection<Long> organizationalJobIds;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工作台ID
|
* 工作台ID
|
||||||
@ -111,7 +125,7 @@ public class ListNodeUserReq extends PageReqV2 {
|
|||||||
@CriteriaField
|
@CriteriaField
|
||||||
private Long workspaceId;
|
private Long workspaceId;
|
||||||
@CriteriaField(field = "workspaceId", operator = Operator.IN)
|
@CriteriaField(field = "workspaceId", operator = Operator.IN)
|
||||||
private Long workspaceIds;
|
private Collection<Long> workspaceIds;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 0:普通岗位、1:主岗位
|
* 0:普通岗位、1:主岗位
|
||||||
@ -136,6 +150,8 @@ public class ListNodeUserReq extends PageReqV2 {
|
|||||||
*/
|
*/
|
||||||
@CriteriaField
|
@CriteriaField
|
||||||
private Long syncDataId;
|
private Long syncDataId;
|
||||||
|
@CriteriaField(field = "syncDataId", operator = Operator.IN)
|
||||||
|
private List<Long> syncDataIds;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工号
|
* 工号
|
||||||
@ -146,18 +162,200 @@ public class ListNodeUserReq extends PageReqV2 {
|
|||||||
@CriteriaField
|
@CriteriaField
|
||||||
private Integer activeFlag;
|
private Integer activeFlag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入职时间,大于等于
|
||||||
|
*/
|
||||||
|
@CriteriaField(field = "joinAt", operator = Operator.GE)
|
||||||
|
private Date joinAtGe;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入职时间,小于等于
|
||||||
|
*/
|
||||||
|
@CriteriaField(field = "joinAt", operator = Operator.LE)
|
||||||
|
private Date joinAtLe;
|
||||||
|
/**
|
||||||
|
* 离职时间,大于等于
|
||||||
|
*/
|
||||||
|
@CriteriaField(field = "leaveAt", operator = Operator.GE)
|
||||||
|
private Date leaveAtGe;
|
||||||
|
/**
|
||||||
|
* 离职时间,小于等于
|
||||||
|
*/
|
||||||
|
@CriteriaField(field = "leaveAt", operator = Operator.LE)
|
||||||
|
private Date leaveAtLe;
|
||||||
|
/**
|
||||||
|
* 更新时间,大于等于
|
||||||
|
*/
|
||||||
|
@CriteriaField(field = "updateAt", operator = Operator.GE)
|
||||||
|
private Date updateAtGe;
|
||||||
|
/**
|
||||||
|
* 更新时间,小于等于
|
||||||
|
*/
|
||||||
|
@CriteriaField(field = "updateAt", operator = Operator.LE)
|
||||||
|
private Date updateAtLe;
|
||||||
|
|
||||||
|
|
||||||
|
// ~ 需特殊实现的查询字段。(非CriteriaField直接可查询的字段)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* leaderPersonId. 根据personId=leaderPersonId and manager = true,查询node。然后查询整个node下面的人
|
||||||
|
*/
|
||||||
|
@CriteriaField(ignore = true) // TODO: 待实现
|
||||||
|
private Long leaderPersonId;
|
||||||
|
/**
|
||||||
|
* 下属personId,根据personId=subordinatePersonId,查询到node,然后返回node的manager。
|
||||||
|
*/
|
||||||
@CriteriaField(ignore = true)
|
@CriteriaField(ignore = true)
|
||||||
private Boolean needNode;
|
private Long subordinatePersonId; // TODO: 待实现
|
||||||
|
// 岗位code
|
||||||
|
@CriteriaField(ignore = true)
|
||||||
|
private String organizationalJobCode; // TODO: 待实现
|
||||||
|
|
||||||
@CriteriaField(ignore = true)
|
@CriteriaField(ignore = true)
|
||||||
@Builder.Default
|
private Collection<String> organizationalJobCodes; // TODO: 待实现
|
||||||
Integer page = 1;
|
@CriteriaField(ignore = true)
|
||||||
|
private String organizationalJobName; // TODO: 待实现
|
||||||
|
@CriteriaField(ignore = true)
|
||||||
|
private String organizationalJobNameLike; // TODO: 待实现
|
||||||
|
@CriteriaField(ignore = true)
|
||||||
|
private Boolean onlyHasJob; // TODO: 待实现
|
||||||
|
|
||||||
|
@CriteriaField(ignore = true)
|
||||||
|
private Collection<IdentityPair> identityPairs; // TODO: 待实现
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 最大支持1000条数据,不支持单页超过1000的查询,接入方按需分页
|
* 查询返回数据包含,逻辑删除数据,即查询未删除和已删除的数据。
|
||||||
*/
|
*/
|
||||||
@Builder.Default
|
|
||||||
@CriteriaField(ignore = true)
|
@CriteriaField(ignore = true)
|
||||||
Integer pageSize = 1000;
|
private Boolean includeDeleted; // TODO: 待实现
|
||||||
|
/**
|
||||||
|
* 仅查询已删除的数据
|
||||||
|
*/
|
||||||
@CriteriaField(ignore = true)
|
@CriteriaField(ignore = true)
|
||||||
List<String> sort;
|
private Boolean deletedOnly; // TODO: 待实现
|
||||||
|
|
||||||
|
@CriteriaField(ignore = true)
|
||||||
|
private Integer nodeState; // TODO: 待实现
|
||||||
|
|
||||||
|
// ~ 后置过滤的字段
|
||||||
|
/**
|
||||||
|
* 包含的单位类型
|
||||||
|
*/
|
||||||
|
private Collection<Integer> filterIncludeUnitTypes; // TODO: 待实现
|
||||||
|
/**
|
||||||
|
* 排除的单位类型
|
||||||
|
*/
|
||||||
|
private Collection<Integer> filterExcludeUnitTypes; // TODO: 待实现
|
||||||
|
private Integer filterIncludeWorkspaceType; // TODO: 待实现
|
||||||
|
/**
|
||||||
|
* 包含的协作类型
|
||||||
|
*/
|
||||||
|
private Integer filterIncludeCooperateType; // TODO: 待实现
|
||||||
|
private Collection<Integer> filterIncludeCooperateTypes; // TODO: 待实现
|
||||||
|
private Collection<Integer> filterExcludeCooperateTypes; // TODO: 待实现
|
||||||
|
/**
|
||||||
|
* 是否只返回顶级节点
|
||||||
|
*/
|
||||||
|
private Boolean filterTopNodeOnly; // TODO: 待实现
|
||||||
|
/**
|
||||||
|
* 返回directManager不为空的
|
||||||
|
*/
|
||||||
|
private Boolean filterDirectManagerNotNull; // TODO: 待实现
|
||||||
|
/**
|
||||||
|
* 数据权限
|
||||||
|
*/
|
||||||
|
private String dataPermissionCacheKey; // TODO: 待实现
|
||||||
|
|
||||||
|
/**
|
||||||
|
* orgUserStatus
|
||||||
|
*/
|
||||||
|
private Collection<String> orgUserStatus; // TODO: 待实现
|
||||||
|
|
||||||
|
// ~ 不同部门类型的nodeUser的差异化查询字段。如 项目内工人 的 项目班组id,平台班组id等。 start
|
||||||
|
private Long platTeamId; // TODO: 待实现
|
||||||
|
private Long projectTeamId; // TODO: 待实现
|
||||||
|
private Collection<Long> projectTeamIds; // TODO: 待实现
|
||||||
|
private Long projectWorkerId; // TODO: 待实现
|
||||||
|
private Long projectGroupId; // TODO: 待实现
|
||||||
|
/**
|
||||||
|
* 状态:1未激活 2、已激活 3、施工中 4、已退场
|
||||||
|
*/
|
||||||
|
private Collection<Integer> projectWorkerStatuses; // TODO: 待实现
|
||||||
|
// ~ 不同部门类型的nodeUser的差异化查询字段。如 项目内工人 的 项目班组id,平台班组id等。 end
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据顶级节点查人,指定该值为true了,会根据nodeUser查询topNodeId,然后根据topNodeId进一步查询人员
|
||||||
|
* 即:nodeUser.topNodeId 作为参数。之前的nodeId参数不再使用
|
||||||
|
*/
|
||||||
|
private Boolean findByTopNodeId; // TODO: 待实现
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 去重规则,如果指定该值,会按照去重规则进行去重。
|
||||||
|
* 使用该参数,会影响分页准确性。不建议分页时使用(先查询分页数据,再去重)。
|
||||||
|
*/
|
||||||
|
private DistinctRule distinctRule; // TODO: 待实现
|
||||||
|
|
||||||
|
// 指定聚合信息
|
||||||
|
/**
|
||||||
|
* 聚合信息needs
|
||||||
|
*/
|
||||||
|
@CriteriaField(ignore = true)
|
||||||
|
private Needs needs;
|
||||||
|
|
||||||
|
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
public static class Needs {
|
||||||
|
|
||||||
|
// ~ 指定聚合返回字段
|
||||||
|
/**
|
||||||
|
* 是否返回单位信息
|
||||||
|
*/
|
||||||
|
private Boolean unit;
|
||||||
|
/**
|
||||||
|
* 是否返回部门信息
|
||||||
|
*/
|
||||||
|
private Boolean node;
|
||||||
|
/**
|
||||||
|
* 返回node and path
|
||||||
|
*/
|
||||||
|
private Boolean nodeAndPath;
|
||||||
|
/**
|
||||||
|
* 返回参与项目数量
|
||||||
|
*/
|
||||||
|
private Boolean projectOrgCnt;
|
||||||
|
/**
|
||||||
|
* 是否返回岗位信息
|
||||||
|
*/
|
||||||
|
private Boolean job;
|
||||||
|
/**
|
||||||
|
* 是否岗位组信息,对应返回字段里面的organizationalJobWorkspaceType
|
||||||
|
*/
|
||||||
|
private Boolean jobGroup;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否查询下级组织人员。所在节点的下级节点的
|
||||||
|
*/
|
||||||
|
private Boolean childNodeUser;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否查询下属。(directManagerPersonId等于自己的)
|
||||||
|
*/
|
||||||
|
private Boolean subordinate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否需要角色信息
|
||||||
|
*/
|
||||||
|
private Boolean role;
|
||||||
|
/**
|
||||||
|
* 是否需要部门及父级部门信息,默认不返回
|
||||||
|
*/
|
||||||
|
private Boolean ancestorNode;
|
||||||
|
|
||||||
|
private Boolean cooperateShip;
|
||||||
|
|
||||||
|
private Boolean personProfile;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,11 +1,13 @@
|
|||||||
package cn.axzo.orgmanax.api.nodeuser.resp;
|
package cn.axzo.orgmanax.api.nodeuser.resp;
|
||||||
|
|
||||||
import cn.axzo.orgmanax.api.node.resp.OrgNodeDTO;
|
import cn.axzo.orgmanax.api.node.resp.OrgNodeDTO;
|
||||||
|
import cn.axzo.orgmanax.api.orgjob.resp.OrgJobDTO;
|
||||||
|
import cn.axzo.orgmanax.api.unit.resp.OrgUnitDTO;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@ -13,8 +15,8 @@ import java.util.Date;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class OrgNodeUserDTO implements Serializable {
|
public class NodeUserDTO implements Serializable {
|
||||||
|
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@ -138,6 +140,13 @@ public class OrgNodeUserDTO implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private Integer activeFlag;
|
private Integer activeFlag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部门人员信息,json,不同部门类型的部门用户,格式不一。
|
||||||
|
*/
|
||||||
|
private JSONObject profile;
|
||||||
|
|
||||||
// ~ 聚合信息
|
// ~ 聚合信息
|
||||||
private OrgNodeDTO node;
|
private OrgNodeDTO node;
|
||||||
|
private OrgUnitDTO unit;
|
||||||
|
private OrgJobDTO job;
|
||||||
}
|
}
|
||||||
@ -2,12 +2,8 @@ package cn.axzo.orgmanax.api.orguser.feign;
|
|||||||
|
|
||||||
import cn.axzo.foundation.page.PageResp;
|
import cn.axzo.foundation.page.PageResp;
|
||||||
import cn.axzo.foundation.result.ApiResult;
|
import cn.axzo.foundation.result.ApiResult;
|
||||||
import cn.axzo.orgmanax.api.nodeuser.req.ListNodeUserReq;
|
|
||||||
import cn.axzo.orgmanax.api.nodeuser.req.ProcessNodeUserReq;
|
|
||||||
import cn.axzo.orgmanax.api.nodeuser.resp.OrgNodeUserDTO;
|
|
||||||
import cn.axzo.orgmanax.api.orguser.req.ListOrgUserReq;
|
import cn.axzo.orgmanax.api.orguser.req.ListOrgUserReq;
|
||||||
import cn.axzo.orgmanax.api.orguser.resp.OrgUserDTO;
|
import cn.axzo.orgmanax.api.orguser.resp.OrgUserDTO;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
|||||||
@ -9,6 +9,13 @@ import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListTeamCa
|
|||||||
import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListTeamCategoryTreeByCodesReq;
|
import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListTeamCategoryTreeByCodesReq;
|
||||||
import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionProfessionResp;
|
import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionProfessionResp;
|
||||||
import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionTeamCategoryResp;
|
import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionTeamCategoryResp;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
|
import com.google.common.collect.ImmutableMap;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -71,12 +78,26 @@ public interface DataCollectionDictInfoClient {
|
|||||||
List<DataCollectionListSkillLabelByCodesResp> listSkillLabelByCodes(List<String> codes);
|
List<DataCollectionListSkillLabelByCodesResp> listSkillLabelByCodes(List<String> codes);
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Stream.of("one", "two", "three", "four")
|
|
||||||
.filter(e -> e.length() > 3)
|
ImmutableList<ImmutableMap<String, String>> immutableMaps = ImmutableList.of(
|
||||||
.peek(e -> System.out.println("Filtered value: " + e))
|
ImmutableMap.of("amt", "1", "tot", "13"),
|
||||||
.map(String::toUpperCase)
|
ImmutableMap.of("amt", "2", "tot", "23"),
|
||||||
.peek(e -> System.out.println("Mapped value: " + e))
|
ImmutableMap.of("amt", "3", "tot", "33"),
|
||||||
.collect(Collectors.toList());
|
ImmutableMap.of("amt", "4", "tot", "43")
|
||||||
|
);
|
||||||
|
|
||||||
|
List<Amtot> amtots = JSON.parseArray(JSON.toJSONString(immutableMaps), Amtot.class);
|
||||||
|
|
||||||
|
System.out.println(JSON.toJSONString(amtots));
|
||||||
|
}
|
||||||
|
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@Data
|
||||||
|
class Amtot{
|
||||||
|
private String amt;
|
||||||
|
private String tot;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,8 @@ import cn.axzo.foundation.page.PageResp;
|
|||||||
import cn.axzo.orgmanax.api.nodeuser.req.ListNodeUserReq;
|
import cn.axzo.orgmanax.api.nodeuser.req.ListNodeUserReq;
|
||||||
import cn.axzo.orgmanax.infra.dao.node.repository.NodeQueryRepository;
|
import cn.axzo.orgmanax.infra.dao.node.repository.NodeQueryRepository;
|
||||||
import cn.axzo.orgmanax.infra.dao.nodeuser.entity.OrganizationalNodeUser;
|
import cn.axzo.orgmanax.infra.dao.nodeuser.entity.OrganizationalNodeUser;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobQueryRepository;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.unit.repository.UnitQueryRepository;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
@ -57,11 +59,25 @@ public interface NodeUserQueryRepository {
|
|||||||
@SuperBuilder
|
@SuperBuilder
|
||||||
class NodeUserResp extends OrganizationalNodeUser {
|
class NodeUserResp extends OrganizationalNodeUser {
|
||||||
/**
|
/**
|
||||||
* 查询参数指定 needNode = true,才会返回
|
* 查询参数指定 needs.node = true,才会返回
|
||||||
*
|
*
|
||||||
* @see ListNodeUserReq#getNeedNode()
|
* @see ListNodeUserReq.Needs#getNode()
|
||||||
*/
|
*/
|
||||||
private NodeQueryRepository.NodeResp nodeResp;
|
private NodeQueryRepository.NodeResp node;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询参数指定 needs.unit = true,才会返回
|
||||||
|
*
|
||||||
|
* @see ListNodeUserReq.Needs#getUnit()
|
||||||
|
*/
|
||||||
|
private UnitQueryRepository.UnitResp unit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询参数指定 needs.job = true,才会返回
|
||||||
|
*
|
||||||
|
* @see ListNodeUserReq.Needs#getJob()
|
||||||
|
*/
|
||||||
|
private OrgJobQueryRepository.JobResp job;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,6 +9,8 @@ import cn.axzo.orgmanax.infra.dao.node.repository.NodeQueryRepository;
|
|||||||
import cn.axzo.orgmanax.infra.dao.nodeuser.dao.NodeUserDao;
|
import cn.axzo.orgmanax.infra.dao.nodeuser.dao.NodeUserDao;
|
||||||
import cn.axzo.orgmanax.infra.dao.nodeuser.entity.OrganizationalNodeUser;
|
import cn.axzo.orgmanax.infra.dao.nodeuser.entity.OrganizationalNodeUser;
|
||||||
import cn.axzo.orgmanax.infra.dao.nodeuser.repository.NodeUserQueryRepository;
|
import cn.axzo.orgmanax.infra.dao.nodeuser.repository.NodeUserQueryRepository;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobQueryRepository;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.unit.repository.UnitQueryRepository;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.BooleanUtil;
|
import cn.hutool.core.util.BooleanUtil;
|
||||||
@ -31,11 +33,15 @@ public class NodeUserQueryRepositoryImpl implements NodeUserQueryRepository {
|
|||||||
|
|
||||||
private final NodeUserDao nodeUserDao;
|
private final NodeUserDao nodeUserDao;
|
||||||
private final NodeQueryRepository nodeQueryRepository;
|
private final NodeQueryRepository nodeQueryRepository;
|
||||||
|
private final OrgJobQueryRepository jobQueryRepository;
|
||||||
|
private final UnitQueryRepository unitQueryRepository;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResp<NodeUserResp> page(ListNodeUserReq req) {
|
public PageResp<NodeUserResp> page(ListNodeUserReq req) {
|
||||||
IPage<OrganizationalNodeUser> page = PageConverter.toMybatis(req, OrganizationalNodeUser.class);
|
IPage<OrganizationalNodeUser> page = PageConverter.toMybatis(req, OrganizationalNodeUser.class);
|
||||||
QueryWrapper<OrganizationalNodeUser> wrapper = QueryWrapperHelper.fromBean(req, OrganizationalNodeUser.class);
|
QueryWrapper<OrganizationalNodeUser> wrapper = QueryWrapperHelper.fromBean(req, OrganizationalNodeUser.class);
|
||||||
|
// 查询参数过滤
|
||||||
|
|
||||||
IPage<NodeUserResp> results = nodeUserDao.page(page, wrapper)
|
IPage<NodeUserResp> results = nodeUserDao.page(page, wrapper)
|
||||||
.convert(e -> BeanUtil.toBean(e, NodeUserResp.class));
|
.convert(e -> BeanUtil.toBean(e, NodeUserResp.class));
|
||||||
PageResp<NodeUserResp> resp = PageConverter.toResp(results);
|
PageResp<NodeUserResp> resp = PageConverter.toResp(results);
|
||||||
@ -44,16 +50,47 @@ public class NodeUserQueryRepositoryImpl implements NodeUserQueryRepository {
|
|||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
|
|
||||||
// assemble node
|
// assembles
|
||||||
assembleNode(req, records);
|
assembleNode(req, records);
|
||||||
|
assembleJob(req, records);
|
||||||
|
assembleUnit(req, records);
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assembleNode(ListNodeUserReq req, List<NodeUserResp> records) {
|
private void assembleUnit(ListNodeUserReq req, List<NodeUserResp> records) {
|
||||||
if (CollUtil.isEmpty(records)) {
|
if (CollUtil.isEmpty(records) || req.getNeeds() == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!BooleanUtil.isTrue(req.getNeedNode())) {
|
if (!BooleanUtil.isTrue(req.getNeeds().getUnit())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Set<Long> unitIds = records.stream().map(NodeUserResp::getOrganizationalUnitId).collect(Collectors.toSet());
|
||||||
|
Map<Long, UnitQueryRepository.UnitResp> unitsById = unitQueryRepository.list(UnitQueryRepository.ListReq.builder()
|
||||||
|
.ids(unitIds)
|
||||||
|
.build()).stream().collect(Collectors.toMap(UnitQueryRepository.UnitResp::getId, Function.identity()));
|
||||||
|
records.forEach(r -> r.setUnit(unitsById.get(r.getOrganizationalUnitId())));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void assembleJob(ListNodeUserReq req, List<NodeUserResp> records) {
|
||||||
|
if (CollUtil.isEmpty(records) || req.getNeeds() == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!BooleanUtil.isTrue(req.getNeeds().getJob())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Set<Long> jobIds = records.stream().map(NodeUserResp::getOrganizationalJobId).collect(Collectors.toSet());
|
||||||
|
// assemble job
|
||||||
|
Map<Long, OrgJobQueryRepository.JobResp> jobsById = jobQueryRepository.page(OrgJobQueryRepository.ListReq.builder()
|
||||||
|
.ids(jobIds)
|
||||||
|
.build()).getData().stream().collect(Collectors.toMap(OrgJobQueryRepository.JobResp::getId, Function.identity()));
|
||||||
|
records.forEach(r -> r.setJob(jobsById.get(r.getOrganizationalJobId())));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void assembleNode(ListNodeUserReq req, List<NodeUserResp> records) {
|
||||||
|
if (CollUtil.isEmpty(records) || req.getNeeds() == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!BooleanUtil.isTrue(req.getNeeds().getNode())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Set<Long> nodeIds = records.stream().map(NodeUserResp::getOrganizationalNodeId).collect(Collectors.toSet());
|
Set<Long> nodeIds = records.stream().map(NodeUserResp::getOrganizationalNodeId).collect(Collectors.toSet());
|
||||||
@ -62,7 +99,7 @@ public class NodeUserQueryRepositoryImpl implements NodeUserQueryRepository {
|
|||||||
.ids(nodeIds)
|
.ids(nodeIds)
|
||||||
.build()).stream().collect(Collectors.toMap(NodeQueryRepository.NodeResp::getId, Function.identity()));
|
.build()).stream().collect(Collectors.toMap(NodeQueryRepository.NodeResp::getId, Function.identity()));
|
||||||
|
|
||||||
records.forEach(r -> r.setNodeResp(nodesById.get(r.getOrganizationalNodeId())));
|
records.forEach(r -> r.setNode(nodesById.get(r.getOrganizationalNodeId())));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
|||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
@ -23,7 +24,7 @@ import java.io.Serializable;
|
|||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
public class OrgJob implements Serializable {
|
public class OrgJob implements Serializable {
|
||||||
|
|||||||
@ -18,14 +18,12 @@ import java.util.Collections;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
public interface OrgJobQueryRepository {
|
public interface OrgJobQueryRepository {
|
||||||
|
|
||||||
/**
|
|
||||||
* 分页查询
|
PageResp<JobResp> page(ListReq req);
|
||||||
* @param req
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
PageResp<OrgJob> page(ListReq req);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 列表查询
|
* 列表查询
|
||||||
@ -33,7 +31,7 @@ public interface OrgJobQueryRepository {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
default List<OrgJob> list(ListReq req) {
|
default List<OrgJob> list(ListReq req) {
|
||||||
PageResp<OrgJob> page = page(req);
|
PageResp<JobResp> page = page(req);
|
||||||
if (page == null) {
|
if (page == null) {
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
@ -59,5 +57,13 @@ public interface OrgJobQueryRepository {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
class JobResp extends OrgJob {
|
||||||
|
private String other;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import cn.axzo.foundation.result.ApiResult;
|
|||||||
import cn.axzo.orgmanax.api.nodeuser.feign.OrgNodeUserApi;
|
import cn.axzo.orgmanax.api.nodeuser.feign.OrgNodeUserApi;
|
||||||
import cn.axzo.orgmanax.api.nodeuser.req.ListNodeUserReq;
|
import cn.axzo.orgmanax.api.nodeuser.req.ListNodeUserReq;
|
||||||
import cn.axzo.orgmanax.api.nodeuser.req.ProcessNodeUserReq;
|
import cn.axzo.orgmanax.api.nodeuser.req.ProcessNodeUserReq;
|
||||||
import cn.axzo.orgmanax.api.nodeuser.resp.OrgNodeUserDTO;
|
import cn.axzo.orgmanax.api.nodeuser.resp.NodeUserDTO;
|
||||||
import cn.axzo.orgmanax.server.nodeuser.service.NodeUserService;
|
import cn.axzo.orgmanax.server.nodeuser.service.NodeUserService;
|
||||||
import cn.axzo.orgmanax.server.nodeuser.service.processor.NodeUserProcessor;
|
import cn.axzo.orgmanax.server.nodeuser.service.processor.NodeUserProcessor;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
@ -43,7 +43,7 @@ public class NodeUserController implements OrgNodeUserApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResult<PageResp<OrgNodeUserDTO>> list(ListNodeUserReq req) {
|
public ApiResult<PageResp<NodeUserDTO>> list(ListNodeUserReq req) {
|
||||||
return ApiResult.success(nodeUserService.page(req));
|
return ApiResult.success(nodeUserService.page(req));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,14 +2,11 @@ package cn.axzo.orgmanax.server.nodeuser.service;
|
|||||||
|
|
||||||
import cn.axzo.foundation.exception.Axssert;
|
import cn.axzo.foundation.exception.Axssert;
|
||||||
import cn.axzo.foundation.page.PageResp;
|
import cn.axzo.foundation.page.PageResp;
|
||||||
import cn.axzo.orgmanax.api.node.req.ListNodeReq;
|
|
||||||
import cn.axzo.orgmanax.api.node.req.ProcessNodeReq;
|
import cn.axzo.orgmanax.api.node.req.ProcessNodeReq;
|
||||||
import cn.axzo.orgmanax.api.node.resp.OrgNodeDTO;
|
|
||||||
import cn.axzo.orgmanax.api.nodeuser.req.ListNodeUserReq;
|
import cn.axzo.orgmanax.api.nodeuser.req.ListNodeUserReq;
|
||||||
import cn.axzo.orgmanax.api.nodeuser.req.ProcessNodeUserReq;
|
import cn.axzo.orgmanax.api.nodeuser.req.ProcessNodeUserReq;
|
||||||
import cn.axzo.orgmanax.api.nodeuser.resp.OrgNodeUserDTO;
|
import cn.axzo.orgmanax.api.nodeuser.resp.NodeUserDTO;
|
||||||
import cn.axzo.orgmanax.common.config.BizResultCode;
|
import cn.axzo.orgmanax.common.config.BizResultCode;
|
||||||
import cn.axzo.orgmanax.server.node.service.processor.NodeProcessor;
|
|
||||||
import cn.axzo.orgmanax.server.nodeuser.service.processor.NodeUserProcessor;
|
import cn.axzo.orgmanax.server.nodeuser.service.processor.NodeUserProcessor;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
@ -23,9 +20,9 @@ public interface NodeUserService {
|
|||||||
|
|
||||||
NodeUserProcessor.ProcessResult process(ProcessNodeUserReq req);
|
NodeUserProcessor.ProcessResult process(ProcessNodeUserReq req);
|
||||||
|
|
||||||
PageResp<OrgNodeUserDTO> page(ListNodeUserReq req);
|
PageResp<NodeUserDTO> page(ListNodeUserReq req);
|
||||||
|
|
||||||
default List<OrgNodeUserDTO> list(ListNodeUserReq req) {
|
default List<NodeUserDTO> list(ListNodeUserReq req) {
|
||||||
return page(req).getData();
|
return page(req).getData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -4,19 +4,19 @@ import cn.axzo.foundation.exception.Axssert;
|
|||||||
import cn.axzo.foundation.page.PageResp;
|
import cn.axzo.foundation.page.PageResp;
|
||||||
import cn.axzo.orgmanax.api.nodeuser.req.ListNodeUserReq;
|
import cn.axzo.orgmanax.api.nodeuser.req.ListNodeUserReq;
|
||||||
import cn.axzo.orgmanax.api.nodeuser.req.ProcessNodeUserReq;
|
import cn.axzo.orgmanax.api.nodeuser.req.ProcessNodeUserReq;
|
||||||
import cn.axzo.orgmanax.api.nodeuser.resp.OrgNodeUserDTO;
|
import cn.axzo.orgmanax.api.nodeuser.resp.NodeUserDTO;
|
||||||
import cn.axzo.orgmanax.common.config.BizResultCode;
|
import cn.axzo.orgmanax.common.config.BizResultCode;
|
||||||
import cn.axzo.orgmanax.infra.dao.nodeuser.repository.NodeUserQueryRepository;
|
import cn.axzo.orgmanax.infra.dao.nodeuser.repository.NodeUserQueryRepository;
|
||||||
import cn.axzo.orgmanax.server.nodeuser.service.NodeUserService;
|
import cn.axzo.orgmanax.server.nodeuser.service.NodeUserService;
|
||||||
import cn.axzo.orgmanax.server.nodeuser.service.processor.NodeUserProcessor;
|
import cn.axzo.orgmanax.server.nodeuser.service.processor.NodeUserProcessor;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@ -49,9 +49,9 @@ public class NodeUserServiceImpl implements NodeUserService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResp<OrgNodeUserDTO> page(ListNodeUserReq req) {
|
public PageResp<NodeUserDTO> page(ListNodeUserReq req) {
|
||||||
PageResp<NodeUserQueryRepository.NodeUserResp> page = nodeUserQueryRepository.page(req);
|
PageResp<NodeUserQueryRepository.NodeUserResp> page = nodeUserQueryRepository.page(req);
|
||||||
List<OrgNodeUserDTO> records = page.getData().stream().map(e -> BeanUtil.toBean(e, OrgNodeUserDTO.class)).collect(Collectors.toList());
|
List<NodeUserDTO> records = BeanUtil.copyToList(CollUtil.emptyIfNull(page.getData()), NodeUserDTO.class);
|
||||||
// assemble data if needed
|
// assemble data if needed
|
||||||
return new PageResp<>(page.getTotal(), page.getSize(), page.getCurrent(), records);
|
return new PageResp<>(page.getTotal(), page.getSize(), page.getCurrent(), records);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,7 +19,7 @@ public class DevApplication {
|
|||||||
public static final String DEFAULT_DIR = "cn.axzo.orgmanax";
|
public static final String DEFAULT_DIR = "cn.axzo.orgmanax";
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
// System.setProperty("rocket.consumer.listeners.disable", "true");
|
System.setProperty("rocket.consumer.listeners.disable", "true");
|
||||||
System.setProperty("spring.profiles.active","dev");
|
System.setProperty("spring.profiles.active","dev");
|
||||||
System.setProperty("NACOS_HOST","https://dev-nacos.axzo.cn");
|
System.setProperty("NACOS_HOST","https://dev-nacos.axzo.cn");
|
||||||
System.setProperty("NACOS_PORT","443");
|
System.setProperty("NACOS_PORT","443");
|
||||||
@ -32,6 +32,7 @@ public class DevApplication {
|
|||||||
System.setProperty("spring.redis.password","!rHV2!fctYtV4vF");
|
System.setProperty("spring.redis.password","!rHV2!fctYtV4vF");
|
||||||
System.setProperty("xxl.job.admin.addresses","http://dev-xxl-job.axzo.cn/xxl-job-admin");
|
System.setProperty("xxl.job.admin.addresses","http://dev-xxl-job.axzo.cn/xxl-job-admin");
|
||||||
System.setProperty("rocketmq.name-server", "172.16.2.82:9876");
|
System.setProperty("rocketmq.name-server", "172.16.2.82:9876");
|
||||||
|
System.setProperty("logback.path", "/tmp");
|
||||||
SpringApplication application = new SpringApplication(DevApplication.class);
|
SpringApplication application = new SpringApplication(DevApplication.class);
|
||||||
ConfigurableApplicationContext run = application.run(args);
|
ConfigurableApplicationContext run = application.run(args);
|
||||||
Environment env = run.getEnvironment();
|
Environment env = run.getEnvironment();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user