feat(REQ-3488): 添加其他服务依赖maokai的枚举类等

This commit is contained in:
zhanghongbo 2025-01-15 10:52:48 +08:00
parent 02ed200b12
commit 87036fe9dd
4 changed files with 258 additions and 0 deletions

View File

@ -0,0 +1,40 @@
package cn.axzo.orgmanax.dto.orguser.enums;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
/**
* @description
* 人员异动场景
* @author luofu
* @version 1.0
* @date 2024/10/24
*/
@Getter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public enum OrgUserChangedScenarioEnum {
JOINED("JOINED", "加入"),
WITHDRAW("WITHDRAW", "离开<单位:离职,项目:退场>"),
LEAVED("LEAVED", "离场"),
CHANGED("CHANGED", "部门岗位变更");
private final String code;
private final String desc;
public static Optional<OrgUserChangedScenarioEnum> codeOf(String code) {
return Arrays.stream(values())
.filter(e -> Objects.equals(code, e.code))
.findFirst();
}
public static OrgUserChangedScenarioEnum codeOfThrowException(String code) {
return codeOf(code)
.orElseThrow(() -> new RuntimeException(String.format("invalid code.[%s]", code)));
}
}

View File

@ -0,0 +1,122 @@
package cn.axzo.orgmanax.dto.orguser.event;
import cn.axzo.orgmanax.dto.orguser.enums.OrgUserChangedScenarioEnum;
import com.alibaba.fastjson.JSON;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @description 用户组织架构信息变更事件 (部门-岗位-角色等)
* @author luofu
* @version 1.0
* @date 2024/10/30
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrgUserChangedEvent implements Serializable {
private static final long serialVersionUID = 6513111764022461738L;
/**
* 自然人id
*/
private Long personId;
/**
* 单位id
*/
private Long ouId;
/**
* 租户id
*/
private Long workspaceId;
/**
* 用户状态
* 1) 在职 5
* 2) 离职 6
* 3) 入场中 0
* 4) 在场 1
* 5) 离场 3
* 6) 已删除 4
*/
private Integer statusCode;
/**
* 异动时间戳
*/
private Long transferTimestamp;
/**
* 人员异动场景
* @see OrgUserChangedScenarioEnum
*/
private String scenarioCode;
/**
* 备注二维码加入 - APP端手机号添加 - CMS端
*/
private String remark;
/**
* 补充信息信息
*/
private SupplementaryInfo supplementaryInfo;
/**
* 操作人的自然人id
*/
private Long operatorId;
@Override
public String toString() {
return JSON.toJSONString(this);
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class SupplementaryInfo implements Serializable{
private static final long serialVersionUID = -8577751204851100329L;
/**
* 部门id列表
*/
private List<Long> orgNodeIds;
/**
* 部门主管标识所在的部门id
*/
private Long majorOrgNodeId;
/**
* 岗位id列表
*/
private List<Long> jobIds;
/**
* 角色id列表
*/
private List<Long> roleIds;
/**
* 直属主管id
*/
private Long directManagerPersonId;
@Override
public String toString() {
return JSON.toJSONString(this);
}
}
}

View File

@ -0,0 +1,69 @@
package cn.axzo.orgmanax.dto.orguser.event;
import com.alibaba.fastjson.JSON;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author luofu
* @version 1.0
* @date 2024/11/5
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrgUserStatusChangedEvent implements Serializable {
private static final long serialVersionUID = 1534318491778930088L;
/**
* 自然人id
*/
private Long personId;
/**
* 单位id
*/
private Long ouId;
/**
* 租户id
*/
private Long workspaceId;
/**
* 顶级部门id
*/
private Long topNodeId;
/**
* 用户状态
* 1) 在职 5
* 2) 离职 6
* 3) 入场中 0
* 4) 在场 1
* 5) 离场 3
* 6) 已删除 4
*/
private Integer statusCode;
/**
* 异动时间戳
*/
private Long transferTimestamp;
/**
* 操作人的id
*/
private Long operatorId;
@Override
public String toString() {
return JSON.toJSONString(this);
}
}

View File

@ -0,0 +1,27 @@
package cn.axzo.orgmanax.dto.project.team.utils;
import cn.hutool.core.util.ObjectUtil;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
@Slf4j
public class WorkTeamFormat {
public static String concatTeamName(String platTeamLeaderName, String categoryStr) {
if(ObjectUtil.isEmpty(platTeamLeaderName)){
return "";
}
String teamLearName = String.format("班组长:%s", platTeamLeaderName);
if(ObjectUtil.isNotEmpty(categoryStr)){
return String.format("%s经营范围%s", teamLearName, categoryStr);
}
return teamLearName;
}
public static String concatTeamName(String platTeamLeaderName, List<String> categoryList) {
return concatTeamName(platTeamLeaderName, String.join("", categoryList));
}
}