Merge branch 'release-20241030' into 'master'
feat(REQ-3010): SaasPositionEnum调整 See merge request universal/infrastructure/backend/tyr!278
This commit is contained in:
commit
7ef955f06e
2
pom.xml
2
pom.xml
@ -15,8 +15,8 @@
|
||||
<name>tyr</name>
|
||||
|
||||
<modules>
|
||||
<module>tyr-server</module>
|
||||
<module>tyr-api</module>
|
||||
<module>tyr-server</module>
|
||||
</modules>
|
||||
|
||||
<properties>
|
||||
|
||||
@ -32,6 +32,10 @@
|
||||
<artifactId>dao-support-lib</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.axzo.basics</groupId>
|
||||
<artifactId>basics-profiles-common</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cn.axzo.maokai</groupId>
|
||||
|
||||
@ -0,0 +1,184 @@
|
||||
package cn.axzo.tyr.client.common;
|
||||
|
||||
import cn.axzo.basics.common.constant.enums.OrganizationalNodeTypeEnum;
|
||||
import cn.axzo.basics.common.constant.enums.OrganizationalUnitTypeEnum;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class SaasRoleFits {
|
||||
private static Map<Long, OrganizationalUnitTypeEnum> ouTypeMap = new HashMap<>();
|
||||
private static Map<Integer, Long> ouTypeValueToBitMap = new HashMap<>();
|
||||
static {
|
||||
ouTypeMap.put(1L, OrganizationalUnitTypeEnum.PRIMARY_CONTRACTING_UNIT); //总包
|
||||
ouTypeMap.put(2L, OrganizationalUnitTypeEnum.CONSTRUCTION_UNIT); //建设单位
|
||||
ouTypeMap.put(4L, OrganizationalUnitTypeEnum.SUPERVISION_UNIT); //监理单位
|
||||
ouTypeMap.put(8L, OrganizationalUnitTypeEnum.LABOR_SUBCONTRACTING); //劳务分包
|
||||
ouTypeMap.put(16L, OrganizationalUnitTypeEnum.PROFESSIONAL_SUBCONTRACTING); //专业分包
|
||||
ouTypeMap.put(32L, OrganizationalUnitTypeEnum.PROJECT_OUT_TEAM); //平台班组
|
||||
ouTypeMap.put(64L, OrganizationalUnitTypeEnum.AXZ_PLATFORM); //平台班组
|
||||
|
||||
for(Entry<Long, OrganizationalUnitTypeEnum> e : ouTypeMap.entrySet())
|
||||
ouTypeValueToBitMap.put(e.getValue().getValue(), e.getKey());
|
||||
}
|
||||
|
||||
static Map<Long, OrganizationalNodeTypeEnum> ouNodeTypeMap = new HashMap<>();
|
||||
private static Map<Integer, Long> ouNodeTypeValueToBitMap = new HashMap<>();
|
||||
static {
|
||||
ouNodeTypeMap.put(1L, OrganizationalNodeTypeEnum.DEPARTMENT); // 部门
|
||||
ouNodeTypeMap.put(2L, OrganizationalNodeTypeEnum.TEAM); //班组
|
||||
ouNodeTypeMap.put(3L, OrganizationalNodeTypeEnum.GROUP); // 小组
|
||||
ouNodeTypeMap.put(4L, OrganizationalNodeTypeEnum.PROJECT_TEAM); // 项目内班组
|
||||
ouNodeTypeMap.put(5L, OrganizationalNodeTypeEnum.PROJECT_GROUP); // 项目内小组
|
||||
|
||||
for(Entry<Long, OrganizationalNodeTypeEnum> e : ouNodeTypeMap.entrySet())
|
||||
ouNodeTypeValueToBitMap.put(e.getValue().getValue(), e.getKey());
|
||||
}
|
||||
|
||||
public static List<OrganizationalUnitTypeEnum> splitToFitOuTypeEnums(Long fitOuType) {
|
||||
if (isZero(fitOuType)) {
|
||||
return new ArrayList<>(ouTypeMap.values());
|
||||
}
|
||||
List<OrganizationalUnitTypeEnum> list = toListByCheckBit(fitOuType, ouTypeMap);
|
||||
return list;
|
||||
}
|
||||
|
||||
public static List<Integer> splitToFitOuTypeValues(Long fitOuType) {
|
||||
if (isZero(fitOuType)) {
|
||||
return ouTypeMap.values().stream().map(OrganizationalUnitTypeEnum::getValue)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
List<OrganizationalUnitTypeEnum> list = toListByCheckBit(fitOuType, ouTypeMap);
|
||||
return list.stream().map(OrganizationalUnitTypeEnum::getValue).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public static List<Integer> splitToFitOuNodeTypeValues(Long fitOuNodeType) {
|
||||
if (isZero(fitOuNodeType)) {
|
||||
return ouNodeTypeMap.values().stream().map(OrganizationalNodeTypeEnum::getValue)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
List<OrganizationalNodeTypeEnum> list = toListByCheckBit(fitOuNodeType, ouNodeTypeMap);
|
||||
return list.stream().map(OrganizationalNodeTypeEnum::getValue).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public static List<OrganizationalNodeTypeEnum> splitToFitOuNodeTypeEnums(Long fitOuNodeType) {
|
||||
if (isZero(fitOuNodeType)) {
|
||||
return new ArrayList<>(ouNodeTypeMap.values());
|
||||
}
|
||||
List<OrganizationalNodeTypeEnum> list = toListByCheckBit(fitOuNodeType, ouNodeTypeMap);
|
||||
return list;
|
||||
}
|
||||
|
||||
public static Long concatFitOuTypeByList(List<OrganizationalUnitTypeEnum> fitOuTypeList) {
|
||||
if (CollectionUtils.isEmpty(fitOuTypeList)) {
|
||||
return Long.valueOf(OrganizationalUnitTypeEnum.ALL_TYPE.getBitValue());
|
||||
}
|
||||
Set<OrganizationalUnitTypeEnum> set = new HashSet<>(fitOuTypeList);
|
||||
Long result = 0L;
|
||||
for (OrganizationalUnitTypeEnum type : set) {
|
||||
result += ouTypeValueToBitMap.get(type.getValue());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Long concatFitOuNodeTypeByList(List<OrganizationalNodeTypeEnum> fitOuNodeTypeList) {
|
||||
if (CollectionUtils.isEmpty(fitOuNodeTypeList)) {
|
||||
return Long.valueOf(OrganizationalNodeTypeEnum.ALL_TYPE.getBitValue());
|
||||
}
|
||||
Set<OrganizationalNodeTypeEnum> set = new HashSet<>(fitOuNodeTypeList);
|
||||
Long result = 0L;
|
||||
for (OrganizationalNodeTypeEnum type : set) {
|
||||
result += ouNodeTypeValueToBitMap.get(type.getValue());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Long concatFitOuTypeByValues(List<Integer> fitOuTypeList) {
|
||||
if (CollectionUtils.isEmpty(fitOuTypeList)) {
|
||||
return Long.valueOf(OrganizationalUnitTypeEnum.ALL_TYPE.getBitValue());
|
||||
}
|
||||
Set<Integer> set = new HashSet<>(fitOuTypeList);
|
||||
Long result = 0L;
|
||||
for(Integer type : set) {
|
||||
result |= ouTypeValueToBitMap.get(type);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Long concatFitOuNodeTypeByValues(List<Integer> fitOuNodeTypeList) {
|
||||
if (CollectionUtils.isEmpty(fitOuNodeTypeList)) {
|
||||
return Long.valueOf(OrganizationalNodeTypeEnum.ALL_TYPE.getBitValue());
|
||||
}
|
||||
Set<Integer> set = new HashSet<>(fitOuNodeTypeList);
|
||||
Long result = 0L;
|
||||
for (Integer type : set) {
|
||||
result |= ouNodeTypeValueToBitMap.get(type);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static boolean isFitOuType(Long fitOuTypeBit, Integer ouType) {
|
||||
if (fitOuTypeBit == null || fitOuTypeBit == 0 || fitOuTypeBit == 65535L) {
|
||||
return true;
|
||||
}
|
||||
Long bit = ouTypeValueToBitMap.get(ouType);
|
||||
long result = bit & fitOuTypeBit;
|
||||
return result > 0;
|
||||
}
|
||||
|
||||
public static boolean isFitOuNodeType(Long fitOuNodeTypeBit, Integer ouNodeType) {
|
||||
if (fitOuNodeTypeBit == null || fitOuNodeTypeBit == 0 || fitOuNodeTypeBit == 65535L) {
|
||||
return true;
|
||||
}
|
||||
Long bit = ouNodeTypeValueToBitMap.get(ouNodeType);
|
||||
long result = bit & fitOuNodeTypeBit;
|
||||
return result > 0;
|
||||
}
|
||||
|
||||
///以下是工具函数
|
||||
|
||||
private static boolean isZero(Long l) {
|
||||
if (l == null) {
|
||||
return true;
|
||||
}
|
||||
if (l == 0L) {
|
||||
return true;
|
||||
}
|
||||
if (l == 65535L) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private static <T> List<T> toListByCheckBit(Long fitOuType, Map<Long, T> map) {
|
||||
if(fitOuType == null || fitOuType == 0L)
|
||||
return Collections.emptyList();
|
||||
|
||||
List<T> list = new ArrayList<>();
|
||||
for(Long key : map.keySet()) {
|
||||
long result = fitOuType & key;
|
||||
if(result > 0L) {
|
||||
list.add(map.get(key));
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
List<Integer> list = SaasRoleFits.splitToFitOuTypeValues(1+2+4L);
|
||||
System.out.println(list);
|
||||
Long value = SaasRoleFits.concatFitOuNodeTypeByValues(list);
|
||||
System.out.println(value);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
package cn.axzo.tyr.client.common.enums;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author cn
|
||||
* @version 1.0
|
||||
* @description
|
||||
* @date 2022/5/18 14:57
|
||||
*
|
||||
* @deprecated 这个类只用在历史代码迁移上,新的业务里不要用这个。
|
||||
* 因为一个Feature可能不只是属于一个产品类型。就像一个Feature不只是属于一个产品板块一样。
|
||||
* 这种单一化的判断会引来新的BUG。
|
||||
*
|
||||
*/
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
@Deprecated
|
||||
public enum ProductTypeEnum {
|
||||
|
||||
/**
|
||||
* 总包企业产品
|
||||
*/
|
||||
PT_ENT_ZB(1, "PT_ENT_ZB"), //原来叫CEMS,但这个名字跟terminal搅在一起了,所以重新做了枚举值来区分
|
||||
/**
|
||||
* 总包项目产品
|
||||
*/
|
||||
PT_PROJ(2, "PT_PROJ"), //原来叫PMS,但这个名字跟terminal搅在一起了,所以重新做了枚举值来区分
|
||||
PT_OMS(6, "PT_OMS") //
|
||||
;
|
||||
|
||||
//TODO:以后增加其他的产品类型 -- 3:政企产品 4:分包企业产品 5:班组产品
|
||||
|
||||
|
||||
@EnumValue
|
||||
private final Integer code;
|
||||
private final String name;
|
||||
}
|
||||
@ -11,12 +11,12 @@ import lombok.Getter;
|
||||
* @date 2022/7/4 10:51
|
||||
*/
|
||||
public enum SaasPositionEnum {
|
||||
PLAT_TEAM_OWNER("plat_teamowner", "平台级班组长"),
|
||||
PLAT_ACTING_MONITOR("plat_actingmonitor", "班组管理员"),
|
||||
PLAT_GROUP_LEADER("plat_groupleader", "平台级小组长"),
|
||||
WORKSPACE_TEAM_OWNER("workspace_teamowner", "工作台级班组长"),
|
||||
WORKSPACE_ACTING_MONITOR("workspace_actingmonitor", "工作台级代班长"),
|
||||
WORKSPACE_GROUP_LEADER("workspace_groupleader", "工作台级小组长"),;
|
||||
PLAT_TEAM_OWNER("plat_teamowner", "平台级班组长", 8),
|
||||
PLAT_ACTING_MONITOR("plat_actingmonitor", "班组管理员", 8),
|
||||
PLAT_GROUP_LEADER("plat_groupleader", "平台级小组长", 8),
|
||||
WORKSPACE_TEAM_OWNER("workspace_teamowner", "工作台级班组长", 9),
|
||||
WORKSPACE_ACTING_MONITOR("workspace_actingmonitor", "工作台级代班长", 9),
|
||||
WORKSPACE_GROUP_LEADER("workspace_groupleader", "工作台级小组长", 9),;
|
||||
|
||||
@Getter
|
||||
@EnumValue
|
||||
@ -26,9 +26,13 @@ public enum SaasPositionEnum {
|
||||
@Getter
|
||||
private final String desc;
|
||||
|
||||
SaasPositionEnum(String value, String desc) {
|
||||
@Getter
|
||||
private final Integer productUnitType;
|
||||
|
||||
SaasPositionEnum(String value, String desc, Integer productUnitType) {
|
||||
this.code = value;
|
||||
this.desc = desc;
|
||||
this.productUnitType = productUnitType;
|
||||
}
|
||||
|
||||
public static SaasPositionEnum getValueByCode(String code) {
|
||||
|
||||
@ -12,10 +12,13 @@ import cn.axzo.tyr.client.model.product.ProductSearchListReq;
|
||||
import cn.axzo.tyr.client.model.product.ProductSearchPageReq;
|
||||
import cn.axzo.tyr.client.model.product.ProductUpdateReq;
|
||||
import cn.axzo.tyr.client.model.product.ProductVO;
|
||||
import cn.axzo.tyr.client.model.req.ProductQueryReq;
|
||||
import cn.axzo.tyr.client.model.req.ProductSaveReq;
|
||||
import cn.axzo.tyr.client.model.req.UpdateProductStatusReq;
|
||||
import cn.axzo.tyr.client.model.res.GovernmentTerminalResp;
|
||||
import cn.axzo.tyr.client.model.res.ProductQueryResp;
|
||||
import cn.axzo.tyr.client.model.res.WorkspaceProductResp;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
@ -25,6 +28,7 @@ import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -174,4 +178,20 @@ public interface ProductApi {
|
||||
*/
|
||||
@PostMapping("api/auth/product/getDetail")
|
||||
ApiResult<ProductVO> getDetail(@Validated @RequestBody ProductDetailReq req);
|
||||
|
||||
/**
|
||||
* 获取产品列表
|
||||
*/
|
||||
@PostMapping("api/product/listWithOutDelete")
|
||||
CommonResponse<List<ProductQueryResp>> listWithOutDelete(@RequestBody @Valid ProductQueryReq req);
|
||||
|
||||
/**
|
||||
* 用于创建/获取OMS的产品使用
|
||||
* 主要用于OMS第一次创建服务包时进行数据处理使用
|
||||
*
|
||||
* 首先会获取OMS类型的基础产品,获取成功就直接返回
|
||||
* 未获取到会直接创建一个类型是OMS的产品,默认选中所有的OMS类型菜单
|
||||
*/
|
||||
@PostMapping("api/product/createOrGetOmsProduct")
|
||||
CommonResponse<Long> createOrGetOmsProduct();
|
||||
}
|
||||
|
||||
@ -0,0 +1,27 @@
|
||||
package cn.axzo.tyr.client.feign;
|
||||
|
||||
import cn.axzo.tyr.client.model.permission.IdentityAndAccountResp;
|
||||
import cn.axzo.tyr.client.model.permission.IdentityKey;
|
||||
import cn.axzo.tyr.client.model.permission.QueryIdentityByPermissionReq;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/6/9 14:40
|
||||
* @description : 权限-与人相关
|
||||
*/
|
||||
@FeignClient(name = "tyr", url = "${axzo.service.tyr:http://tyr:8080}")
|
||||
public interface SaasAuthApi {
|
||||
|
||||
@PostMapping("api/feature/findIdentityKeysByParams")
|
||||
CommonResponse<List<IdentityKey>> findIdentityKeysByParams(@RequestBody @Valid QueryIdentityByPermissionReq req);
|
||||
|
||||
@PostMapping("api/feature/findIdentityAndAccountInfosByParams")
|
||||
CommonResponse<List<IdentityAndAccountResp>> findIdentityAndAccountInfosByParams(@RequestBody @Valid QueryIdentityByPermissionReq req);
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
package cn.axzo.tyr.client.feign;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.model.permission.ApplicationFeatureRes;
|
||||
import cn.axzo.tyr.client.model.permission.GetInfoByMicroAppItemIdReq;
|
||||
import cn.axzo.tyr.client.model.permission.SaasFeatureRes;
|
||||
import cn.axzo.tyr.client.model.req.GetByIdsReq;
|
||||
import cn.axzo.tyr.client.model.req.ListAllFeatureByTerminalReq;
|
||||
import cn.axzo.tyr.client.model.res.SaasFeatureBO;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author cn
|
||||
* @version 1.0
|
||||
* @description
|
||||
* @date 11/23/2022 11:06 AM
|
||||
*/
|
||||
@FeignClient(name = "tyr", url = "${axzo.service.tyr:http://tyr:8080}")
|
||||
public interface SaasFeatureApi {
|
||||
|
||||
/**
|
||||
* 获取所有原生和小程序 (只取第二级数据 防止菜单配置错误 如下 (模块-小程序-小程序))
|
||||
*/
|
||||
@PostMapping("/api/app/application/feature")
|
||||
CommonResponse<List<ApplicationFeatureRes>> getAppApplicationFeature(@RequestBody List<String> terminals);
|
||||
|
||||
@PostMapping("/api/saasFeature/getInfoByMicroAppItemId")
|
||||
ApiResult<List<SaasFeatureRes>> getInfoByMicroAppItemId(@RequestBody GetInfoByMicroAppItemIdReq req);
|
||||
|
||||
@PostMapping("/api/saasFeature/getByIds")
|
||||
ApiResult<List<SaasFeatureBO>> getByIds(@RequestBody GetByIdsReq req);
|
||||
|
||||
@PostMapping("/api/saasFeature/listAllFeatureByTerminal")
|
||||
ApiResult<List<SaasFeatureBO>> listAllFeatureByTerminal(@RequestBody ListAllFeatureByTerminalReq req);
|
||||
}
|
||||
@ -2,7 +2,11 @@ package cn.axzo.tyr.client.feign;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiPageResult;
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.model.permission.ListByWorkspaceIdAndOuIdReq;
|
||||
import cn.axzo.tyr.client.model.permission.ListFeatureIdByGroupIdsReq;
|
||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||
import cn.axzo.tyr.client.model.res.SaasPermissionGroupRes;
|
||||
import cn.axzo.tyr.client.model.res.SaasPgroupPermissionRelationRes;
|
||||
import cn.axzo.tyr.client.model.vo.DeletePermissionGroupVO;
|
||||
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
||||
import cn.axzo.tyr.client.model.vo.SaveOrUpdatePermissionGroupVO;
|
||||
@ -52,4 +56,10 @@ public interface SaasPermissionGroupApi {
|
||||
|
||||
@PostMapping("/api/saasPermissionGoup/deletePermissionGroupSpecial")
|
||||
ApiResult<Void> deletePermissionGroupSpecial(@RequestBody @Valid DeletePermissionGroupVO group);
|
||||
|
||||
@PostMapping("/api/saasPermissionGoup/listByWorkspaceIdAndOuId")
|
||||
ApiResult<List<SaasPermissionGroupRes>> listByWorkspaceIdAndOuId(@RequestBody @Valid ListByWorkspaceIdAndOuIdReq group);
|
||||
|
||||
@PostMapping("/api/saasPermissionGoup/listFeatureIdByGroupIds")
|
||||
ApiResult<List<SaasPgroupPermissionRelationRes>> listFeatureIdByGroupIds(@RequestBody @Valid ListFeatureIdByGroupIdsReq group);
|
||||
}
|
||||
|
||||
@ -0,0 +1,26 @@
|
||||
package cn.axzo.tyr.client.feign;
|
||||
|
||||
import cn.axzo.tyr.client.model.permission.SaasPositionTemplateExBO;
|
||||
import cn.axzo.tyr.client.model.permission.SaasPositionTemplateReq;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 职位模板、职位模板的权限树相关的API
|
||||
**/
|
||||
@FeignClient(name = "tyr", url = "${axzo.service.tyr:http://tyr:8080}")
|
||||
public interface SaasPositionTemplateApi {
|
||||
|
||||
/**
|
||||
* 查询 职位,权限集分类,权限集
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("api/saas/positionTemplate/list")
|
||||
CommonResponse<List<SaasPositionTemplateExBO>> findPositionTemplateWithPermissionGroup(@RequestBody SaasPositionTemplateReq req);
|
||||
|
||||
}
|
||||
@ -0,0 +1,65 @@
|
||||
package cn.axzo.tyr.client.feign;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import cn.axzo.tyr.client.model.permission.IdentityAndAccountResp;
|
||||
import cn.axzo.tyr.client.model.permission.SaasUserRoleExBO;
|
||||
import cn.axzo.tyr.client.model.permission.WorkspaceGrantAdminRoleByPhoneReq;
|
||||
import cn.axzo.tyr.client.model.permission.WorkspaceGrantAdminRoleReq;
|
||||
import cn.axzo.tyr.client.model.req.ListUserRoleByParams;
|
||||
import cn.axzo.tyr.client.model.req.QuerySuperAdminReq;
|
||||
import cn.axzo.tyr.client.model.req.UpdateUserJobReq;
|
||||
import cn.axzo.tyr.client.model.res.SuperAminInfoResp;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 2022-06-13,高伟、陈亮、谭杰,评审了此API
|
||||
*
|
||||
* @author : liuchuntao
|
||||
* @description : saas角色处理
|
||||
*/
|
||||
@FeignClient(name = "tyr", url = "${axzo.service.tyr:http://tyr:8080}")
|
||||
@Validated
|
||||
public interface SaasRoleApi {
|
||||
|
||||
/**
|
||||
* workpaceId + ownerOuId + roleId + identifyId 赋予角色(支持角色赋予的同时 角色创建)
|
||||
* work for: 组织 + 服务包
|
||||
*/
|
||||
@PostMapping("api/saas/role/grantAdminRole")
|
||||
CommonResponse<Boolean> grantAdminRole(@RequestBody @Valid List<WorkspaceGrantAdminRoleReq> req);
|
||||
|
||||
/**
|
||||
* workpaceId + ownerOuId + roleId + 手机号 + 姓名 赋予角色(支持角色赋予的同时 角色创建)
|
||||
* work for: 组织 + 服务包
|
||||
*/
|
||||
@PostMapping("api/saas/role/grantAdminRoleByPhone")
|
||||
CommonResponse<List<IdentityAndAccountResp>> grantAdminRoleByPhone(@RequestBody @Valid List<WorkspaceGrantAdminRoleByPhoneReq> req);
|
||||
|
||||
@PostMapping("api/saas/role/user/update")
|
||||
CommonResponse<Boolean> updateUserRole(@RequestBody @Valid UpdateUserJobReq req);
|
||||
|
||||
/**
|
||||
* @param adminReqs
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("api/saas/role/batchFindSuperAdmin")
|
||||
CommonResponse<List<SuperAminInfoResp>> batchFindSuperAdmin(@RequestBody @Valid List<QuerySuperAdminReq> adminReqs);
|
||||
|
||||
/**
|
||||
* 根据 工作台id + 单位id 查询已关联的人员列表 work for: 工作流
|
||||
*/
|
||||
@PostMapping("api/saas/role/findSuperAdmin")
|
||||
CommonResponse<SuperAminInfoResp> findSuperAdmin(@RequestBody @Valid QuerySuperAdminReq req);
|
||||
|
||||
@PostMapping("api/saas/role/listUserRoleExByParams")
|
||||
CommonResponse<List<SaasUserRoleExBO>> getUserRoleExListMapByIdentityIdAndWorkspaceId(@RequestBody @Valid ListUserRoleByParams req);
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package cn.axzo.tyr.client.feign;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.model.req.GetByIdsReq;
|
||||
import cn.axzo.tyr.client.model.req.WorkspaceUpdateUserRoleDTO;
|
||||
import cn.axzo.tyr.client.model.res.SaasFeatureBO;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@FeignClient(name = "tyr", url = "${axzo.service.tyr:http://tyr:8080}")
|
||||
public interface SaasRoleUserRelationApi {
|
||||
|
||||
/**
|
||||
* 用户帐户注销
|
||||
*/
|
||||
@PostMapping("api/roleUserRelation/deleteByPersonId")
|
||||
CommonResponse<Boolean> deleteByPersonId(@RequestParam("personId") Long personId);
|
||||
|
||||
@PostMapping("/api/roleUserRelation/updateWorkspaceUserRoles")
|
||||
ApiResult<Boolean> updateWorkspaceUserRoles(@RequestBody WorkspaceUpdateUserRoleDTO req);
|
||||
}
|
||||
@ -3,6 +3,7 @@ package cn.axzo.tyr.client.feign;
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.framework.domain.web.result.ApiPageResult;
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.model.permission.BaseIdentityReq;
|
||||
import cn.axzo.tyr.client.model.roleuser.RoleUserUpdateReq;
|
||||
import cn.axzo.tyr.client.model.roleuser.dto.GetUserAutoOwnRoleResp;
|
||||
import cn.axzo.tyr.client.model.roleuser.dto.GetUserFeatureResourceIdsResp;
|
||||
@ -22,6 +23,16 @@ import cn.axzo.tyr.client.model.roleuser.req.RoleUserReq;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.SuperAdminParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.WorkerManagerRoleUserReq;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.AutoOwnRoleUserReq;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.CreateSuperAdminRoleParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.GantOrUnGantaWorkerLeaderRoleReq;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.GetUserAutoOwnRoleReq;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.GetUserFeatureResourceIdsReq;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.ListRoleUserRelationParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.RoleUserParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.RoleUserReq;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.SuperAdminParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.WorkerManagerRoleUserReq;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@ -157,4 +168,7 @@ public interface TyrSaasRoleUserApi {
|
||||
*/
|
||||
@PostMapping("/api/roleUserRelation/temporarily/page")
|
||||
ApiResult<PageResp<SaasRoleUserRelationDTO>> pageRoleUserRelation(@RequestBody @Valid PageRoleUserRelationReq param);
|
||||
|
||||
@PostMapping("/api/saas-role-user/batch-update-identity-by-id")
|
||||
ApiResult<Void> updateIdentityId(@RequestBody @Valid List<BaseIdentityReq> req);
|
||||
}
|
||||
|
||||
@ -0,0 +1,28 @@
|
||||
package cn.axzo.tyr.client.model.enums;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum FeatureTypeEnum {
|
||||
|
||||
/**
|
||||
* 0.模块 1.菜单 2页面 3功能
|
||||
*/
|
||||
/**
|
||||
* 枚举值
|
||||
*/
|
||||
MODEL(0,"模块"),
|
||||
MENU(1,"菜单"),
|
||||
PAGE(2,"2页面"),
|
||||
FEATURE(3,"页面元素");
|
||||
|
||||
@EnumValue
|
||||
@JsonValue //标记json返回的值
|
||||
public final Integer code;
|
||||
|
||||
public final String name;
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
package cn.axzo.tyr.client.model.enums;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author tanjie@axzo.cn
|
||||
* @date 2022/10/10 10:50
|
||||
*/
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
public enum SaasJobTypeEnum {
|
||||
//主岗
|
||||
MASTER_JOB(1,"岗位"),
|
||||
//兼岗
|
||||
SLAVE_JOB(2,"协助岗位");
|
||||
@EnumValue
|
||||
@JsonValue
|
||||
private Integer value;
|
||||
private String desc;
|
||||
|
||||
|
||||
SaasJobTypeEnum(Integer value, String desc) {
|
||||
this.value = value;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
@JsonCreator(mode = JsonCreator.Mode.DELEGATING)
|
||||
public static SaasJobTypeEnum create(Integer value){
|
||||
return match(value);
|
||||
}
|
||||
|
||||
public static SaasJobTypeEnum match(Integer saasJobType) {
|
||||
return Arrays.stream(values()).filter(e -> e.getValue().equals(saasJobType)).findFirst().get();
|
||||
}
|
||||
|
||||
public boolean isMaster() {
|
||||
return value.equals(MASTER_JOB.getValue());
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,53 @@
|
||||
package cn.axzo.tyr.client.model.enums;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 在 3A 里面这个类的 code 值可以直接对应到 workspaceType
|
||||
*
|
||||
* 尽量不用枚举的文字,用数字就好。
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Getter
|
||||
public enum WorkspaceTypeWithLegacyEnum {
|
||||
|
||||
/**
|
||||
* 枚举值
|
||||
*/
|
||||
ENT_SPACE(1, "CEMS"),
|
||||
PROJ_SPACE(2, "CMS"),
|
||||
OMS_SPACE(6, "OMS");
|
||||
|
||||
@EnumValue
|
||||
@JsonValue //标记json返回的值
|
||||
private final Integer code;
|
||||
|
||||
private final String name;
|
||||
|
||||
|
||||
WorkspaceTypeWithLegacyEnum(Integer code, String name) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
private static Map<Integer, WorkspaceTypeWithLegacyEnum> map = null;
|
||||
|
||||
public static WorkspaceTypeWithLegacyEnum getByCode(Integer code) {
|
||||
if (map == null) {
|
||||
map = Arrays.stream(values()).collect(Collectors.toMap(WorkspaceTypeWithLegacyEnum::getCode, Function.identity()));
|
||||
}
|
||||
return map.get(code);
|
||||
}
|
||||
|
||||
public boolean isCmsProject() {
|
||||
return this.equals(WorkspaceTypeWithLegacyEnum.PROJ_SPACE);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/5/11 14:09
|
||||
* @description : 账户绑定自然人
|
||||
*/
|
||||
@Data
|
||||
public class AccountBindPersonReq {
|
||||
|
||||
/**
|
||||
* 账户Id
|
||||
*/
|
||||
private Long accountId;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 自然人Id
|
||||
*/
|
||||
@NotNull(message = "自然人Id不能为空")
|
||||
private Long naturalPersonId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,64 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ApplicationFeatureRes {
|
||||
|
||||
/**
|
||||
* 菜单id
|
||||
*/
|
||||
private Long featureId;
|
||||
|
||||
/**
|
||||
* 菜单名称
|
||||
*/
|
||||
private String featureName;
|
||||
|
||||
/**
|
||||
* 父节点菜单id
|
||||
*/
|
||||
private Long parentFeatureId;
|
||||
|
||||
/**
|
||||
* 父节点菜单名称
|
||||
*/
|
||||
private String parentFeatureName;
|
||||
|
||||
/**
|
||||
* 图标名(原生使用)
|
||||
* 小程序使用自己配置中的图标
|
||||
*/
|
||||
private String icon;
|
||||
|
||||
/**
|
||||
* 1:cms 2:小程序 4:原生 如果菜单同时又对应app上展示 则填写对应linkUrl 和linkExt
|
||||
*/
|
||||
private Integer linkType;
|
||||
|
||||
/**
|
||||
* 小程序id(小程序使用 关联micro_app_item id)
|
||||
*/
|
||||
private String microAppItemId;
|
||||
|
||||
/**
|
||||
* 路由地址(小程序使用)
|
||||
*/
|
||||
private String linkUrl;
|
||||
|
||||
/**
|
||||
* 扩展字段(原生使用)
|
||||
*/
|
||||
private String linkExt;
|
||||
|
||||
/**
|
||||
* 端
|
||||
*/
|
||||
private String terminal;
|
||||
}
|
||||
@ -0,0 +1,57 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/6/14 18:37
|
||||
* @description : 获取权限信息基础参数
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class BaseAuthorizationReq {
|
||||
|
||||
/**
|
||||
* 身份Id
|
||||
*/
|
||||
private Long identityId;
|
||||
|
||||
/**
|
||||
* 身份类型
|
||||
*/
|
||||
private IdentityType identityType;
|
||||
private Integer identityTypeInt;
|
||||
|
||||
public Integer getIdentityTypeInt() {
|
||||
if (identityType == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return identityType.getCode();
|
||||
}
|
||||
|
||||
/**
|
||||
* 工作台Id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 单位Id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 指定端的权限
|
||||
*/
|
||||
private String terminal;
|
||||
|
||||
|
||||
private Integer ouType;
|
||||
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/6/5 10:53
|
||||
* @description : 账号合并身份信息
|
||||
*/
|
||||
@Data
|
||||
public class BaseIdentityReq {
|
||||
|
||||
/**
|
||||
* 原身份Id
|
||||
*/
|
||||
private Long oldIdentityId;
|
||||
|
||||
/**
|
||||
* 新身份Id
|
||||
*/
|
||||
private Long newIdentityId;
|
||||
|
||||
/**
|
||||
* 身份类型
|
||||
*/
|
||||
private Integer identityType;
|
||||
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class CommonUserReq {
|
||||
|
||||
/**
|
||||
* 身份Id
|
||||
*/
|
||||
private Long identityId;
|
||||
|
||||
/**
|
||||
* 身份类型
|
||||
*/
|
||||
private IdentityType identityType;
|
||||
|
||||
/**
|
||||
* 指定端的权限
|
||||
*/
|
||||
private String terminal;
|
||||
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 这个类只有两个字段 。如果需要增加字段的,请写新类继承它
|
||||
*/
|
||||
@Data
|
||||
public class CommonWorkspaceIdAndOuIdReq {
|
||||
|
||||
/**
|
||||
* 工作台id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 单位id : 非必填
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
// 这个类只有两个字段 。如果需要增加字段的,请写新类继承它
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
/**
|
||||
*/
|
||||
@Data
|
||||
public class CreatePermissionGroupReq{
|
||||
|
||||
/**
|
||||
* 权限集名称
|
||||
*/
|
||||
@NotBlank(message = "权限集名称不能为空")
|
||||
@Length(max = 20, message = "权限集名称不能超过20个字符")
|
||||
private String name;
|
||||
/**
|
||||
* 权限集的具体权限对应的功能id 列表
|
||||
*/
|
||||
@NotEmpty(message = "权限集不能为空")
|
||||
private List<Long> featureIds;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String description;
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author: wangli
|
||||
* @date: 2022/5/27 15:42
|
||||
*/
|
||||
@Data
|
||||
public class CreateResRoleDTO {
|
||||
|
||||
/**
|
||||
* 工作台ID
|
||||
*/
|
||||
private Long workspaceId;
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/5/19 15:35
|
||||
* @description :
|
||||
*/
|
||||
@Data
|
||||
public class CreateRoleReq {
|
||||
|
||||
@NotNull(message = "身份Id不能为空")
|
||||
private Long identityId;
|
||||
|
||||
@NotNull(message = "身份类型不能为空")
|
||||
private Long identityType;
|
||||
/**
|
||||
* 自然人Id
|
||||
*/
|
||||
@NotNull(message = "自然人Id不能为空")
|
||||
private Long naturalPersonId;
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@NotNull(message = "手机号不能为空")
|
||||
private String phone;
|
||||
|
||||
@NotEmpty(message = "角色Id集合不能为空")
|
||||
private List<Long> roleIds;
|
||||
|
||||
|
||||
@NotNull(message = "工作台Id不能为空")
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 单位Id
|
||||
*/
|
||||
@NotNull(message = "单位Id不能为空")
|
||||
private Long organizationalUnitId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/5/27 18:26
|
||||
* @description :
|
||||
*/
|
||||
@Data
|
||||
public class CreateWorkspaceAdminDto {
|
||||
|
||||
/**
|
||||
* 身份Id
|
||||
*/
|
||||
private Long identityId;
|
||||
|
||||
/**
|
||||
* 身份类型
|
||||
*/
|
||||
private Integer identityType;
|
||||
|
||||
|
||||
/**
|
||||
* 工作台Id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
|
||||
/**
|
||||
* 单位Id
|
||||
*/
|
||||
private Long ouId;
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author zhangPeng
|
||||
* @description
|
||||
* @date 2021/1/26 17:22
|
||||
*/
|
||||
@Data
|
||||
public class DecodeQrCodeBo {
|
||||
|
||||
/**
|
||||
* 目标值 - 类型不同值不同
|
||||
*/
|
||||
private String value;
|
||||
|
||||
/**
|
||||
* 类型 - personal(个人信息) - team(班组) - http(三方地址)
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 属于那一个平台的二维码
|
||||
*/
|
||||
private String terminal;
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*/
|
||||
@Data
|
||||
public class DeletePermissionGroupReq {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 权限集描述
|
||||
*/
|
||||
private String description;
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*/
|
||||
@Data
|
||||
public class DeleteRoleOfUserReq {
|
||||
|
||||
/**
|
||||
* 用户角色关联关系的主键集合
|
||||
*/
|
||||
private List<Long> ids;
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class FeatureByIdentityResp {
|
||||
|
||||
private Long identityId;
|
||||
|
||||
private IdentityType identityType;
|
||||
|
||||
private List<String> featureCodes;
|
||||
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class FeatureIdAndFeaturePathBO {
|
||||
|
||||
/**
|
||||
* 菜单id
|
||||
*/
|
||||
private Long featureId;
|
||||
|
||||
/**
|
||||
* 菜单表path字段
|
||||
*/
|
||||
private String featurePath;
|
||||
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* @author: cl
|
||||
* @description: 授权功能请求实体
|
||||
* @date: 2022-06-17
|
||||
**/
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
@ToString
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class FeatureItemResp {
|
||||
|
||||
/**
|
||||
* 是否授权
|
||||
*/
|
||||
private Boolean isGrant;
|
||||
|
||||
/**
|
||||
* 功能编码
|
||||
*/
|
||||
private String featureCode;
|
||||
|
||||
/**
|
||||
* 功能名称
|
||||
*/
|
||||
private String featureName;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.FieldDefaults;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @author cn
|
||||
* @version 1.0
|
||||
* @description
|
||||
* @date 2022/8/15 19:58
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString(callSuper = true)
|
||||
@FieldDefaults(level = AccessLevel.PRIVATE)
|
||||
public class FeaturePermissionReq {
|
||||
/**
|
||||
* 工作台id
|
||||
*/
|
||||
@NotNull
|
||||
@Min(value = 1)
|
||||
Long workspaceId;
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull
|
||||
@Min(value = 1)
|
||||
Long ouId;
|
||||
/**
|
||||
* 指定端的权限
|
||||
*/
|
||||
String terminal;
|
||||
@NotNull
|
||||
@Min(value = 1)
|
||||
Long identityId;
|
||||
@NotNull
|
||||
@Min(value = 0)
|
||||
Integer identityType;
|
||||
|
||||
public IdentityType getIdentityTypeEnum() {
|
||||
return IdentityType.getIdentityType(identityType);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.FieldDefaults;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author cn
|
||||
* @version 1.0
|
||||
* @description
|
||||
* @date 11/23/2022 11:18 AM
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString(callSuper = true)
|
||||
@FieldDefaults(level = AccessLevel.PRIVATE)
|
||||
public class FeaturePermissionRes {
|
||||
boolean superAdmin = false;
|
||||
Set<String> permissionCodes;
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/6/14 18:37
|
||||
* @description : 获取权限信息基础参数
|
||||
*/
|
||||
@Data
|
||||
public class FilterFeatureTreeReq {
|
||||
|
||||
/**
|
||||
* 身份Id
|
||||
*/
|
||||
private Long identityId;
|
||||
|
||||
private IdentityType identityType;
|
||||
|
||||
/**
|
||||
* 工作台Id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 单位Id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 指定端的权限
|
||||
*/
|
||||
private String terminal;
|
||||
|
||||
/**
|
||||
* FeatureType: 类型 0.模块 1.菜单 2页面 3功能
|
||||
* 此字段=0,只返回模块,=1,返回到菜单级,=2,返回到页面级,=3,到功能级。
|
||||
* 此字段默认到功能级, (会做为递归的深度限制)
|
||||
*------
|
||||
*/
|
||||
private Integer limitFeatureTypeLevel = 3;
|
||||
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.common.page.PageRequest;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/5/21 15:35
|
||||
* @description :获取角色列表
|
||||
*/
|
||||
@Data
|
||||
public class FindUserWorkspaceRoleReq extends PageRequest {
|
||||
|
||||
/**
|
||||
* 关键字:暂定角色名称
|
||||
*/
|
||||
private String keyWords;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.common.page.PageRequest;
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class GargantuanRoleQueryReq extends PageRequest {
|
||||
|
||||
private String roleNameLike;
|
||||
|
||||
private String userNameLike;
|
||||
|
||||
private String workspaceType;
|
||||
|
||||
private Long workspaceId;
|
||||
|
||||
private Long ownerOuId;
|
||||
|
||||
private IdentityType identityType;
|
||||
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class GetInfoByMicroAppItemIdReq {
|
||||
|
||||
private List<Long> appItemId;
|
||||
}
|
||||
@ -0,0 +1,69 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.common.constant.enums.OrganizationalUnitTypeEnum;
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class GrantAgencyAdminRoleDTO {
|
||||
|
||||
/**
|
||||
* 工作台id,与context校验
|
||||
*/
|
||||
@NotNull(message = "工作台Id不能为空")
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 单位id : 必填
|
||||
*/
|
||||
@NotNull(message = "单位Id不能为空")
|
||||
private Long ouId;
|
||||
|
||||
public OrganizationalUnitTypeEnum getOrganizationalUnitTypeEnum() {
|
||||
return OrganizationalUnitTypeEnum.getByType(organizationalUnitType);
|
||||
}
|
||||
|
||||
/**
|
||||
* 单位类型
|
||||
*/
|
||||
@NotNull(message = "单位类型不能为空")
|
||||
@Min(value = 1)
|
||||
private Integer organizationalUnitType;
|
||||
|
||||
/**
|
||||
* 被赋予角色的人的身份类型
|
||||
*/
|
||||
@NotNull(message = "身份类型不能为空")
|
||||
private IdentityType identityType;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@NotBlank(message = "手机号不能为空")
|
||||
private String phoneNo;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
@NotBlank(message = "用户名不能为空")
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 之前的所有RoleId都被更新
|
||||
*/
|
||||
@NotEmpty(message = "角色列表不能为空")
|
||||
private List<Long> updateRoleIds;
|
||||
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*/
|
||||
@Data
|
||||
public class GrantRoleToUserReq extends CommonWorkspaceIdAndOuIdReq {
|
||||
private List<Long> roleIds;
|
||||
|
||||
/**
|
||||
* 身份Id
|
||||
*/
|
||||
private Long identityId;
|
||||
/**
|
||||
* 身份类型 1:工人 2:从业人员 3:班组长 4:运营人员 5:政务人员
|
||||
*/
|
||||
private Integer identityType;
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* @author: cl
|
||||
* @description: 授权功能返回实体
|
||||
* @date: 2022-06-17
|
||||
**/
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
@ToString
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class GroupPermissionResp {
|
||||
|
||||
/**
|
||||
* 是否授权
|
||||
*/
|
||||
private Boolean isGrant;
|
||||
|
||||
/**
|
||||
* 功能编码
|
||||
*/
|
||||
private String groupPermissionId;
|
||||
|
||||
/**
|
||||
* 功能名称
|
||||
*/
|
||||
private String groupPermissionName;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import cn.axzo.trade.datasecurity.core.annotation.CryptField;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/5/11 11:20
|
||||
* @description :
|
||||
*/
|
||||
@Data
|
||||
public class IdentityAndAccountDTO {
|
||||
|
||||
/**
|
||||
* 身份Id
|
||||
*/
|
||||
private Long identityId;
|
||||
|
||||
/**
|
||||
* 身份类型
|
||||
*/
|
||||
private IdentityType identityType;
|
||||
|
||||
/**
|
||||
* 账户Id
|
||||
*/
|
||||
private Long accountId;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@CryptField
|
||||
private String phone;
|
||||
|
||||
|
||||
/**
|
||||
* 真实姓名
|
||||
*/
|
||||
private String realName;
|
||||
|
||||
|
||||
/**
|
||||
* 自然人Id
|
||||
*/
|
||||
private Long naturalPersonId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/5/11 11:20
|
||||
* @description :
|
||||
*/
|
||||
@Data
|
||||
public class IdentityAndAccountResp implements Serializable {
|
||||
|
||||
/**
|
||||
* 身份Id
|
||||
*/
|
||||
private Long identityId;
|
||||
|
||||
/**
|
||||
* 身份类型
|
||||
*/
|
||||
private IdentityType identityType;
|
||||
|
||||
/**
|
||||
* 账户Id
|
||||
*
|
||||
* @deprecated 此字段业务中不要使用,全部用身份id来处理业务
|
||||
*/
|
||||
@Deprecated
|
||||
private Long accountId;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 真实姓名
|
||||
*/
|
||||
private String realName;
|
||||
|
||||
/**
|
||||
* 自然人Id
|
||||
*/
|
||||
private Long naturalPersonId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
public class IdentityKey {
|
||||
|
||||
private Long identityId;
|
||||
|
||||
private IdentityType identityType;
|
||||
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.FieldDefaults;
|
||||
|
||||
/**
|
||||
* @author cn
|
||||
* @version 1.0
|
||||
* @description
|
||||
* @date 2022/10/12 15:23
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@FieldDefaults(level = AccessLevel.PRIVATE)
|
||||
public class JobDto {
|
||||
|
||||
/**
|
||||
* 岗位id
|
||||
*/
|
||||
Long jobId;
|
||||
/**
|
||||
* 岗位code
|
||||
*/
|
||||
String jobCode;
|
||||
/**
|
||||
* 岗位名字
|
||||
*/
|
||||
String jobName;
|
||||
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* @author: cl
|
||||
* @description: 企业班组响应
|
||||
* @date: 2022-06-17
|
||||
**/
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
@ToString
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class LeaderResp {
|
||||
|
||||
/**
|
||||
* 身份ID
|
||||
*/
|
||||
private Long identityId;
|
||||
|
||||
private IdentityType identityType;
|
||||
|
||||
/**
|
||||
* 角色名称
|
||||
*/
|
||||
private String roleName;
|
||||
/**
|
||||
*角色ID
|
||||
*/
|
||||
private Long roleId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ListByWorkspaceIdAndOuIdReq {
|
||||
|
||||
private Long workspaceId;
|
||||
|
||||
private Long ouId;
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ListFeatureIdByGroupIdsReq {
|
||||
|
||||
private List<Long> groupIds;
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author cn
|
||||
* @version 1.0
|
||||
* @description
|
||||
* @date 2022/10/13 16:54
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
public class ListRoleReq {
|
||||
@NotNull
|
||||
@Min(value = 0)
|
||||
private Long workspaceId;
|
||||
@NotEmpty
|
||||
private Set<Long> roleIds;
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* @author cn
|
||||
* @version 1.0
|
||||
* @description
|
||||
* @date 2022/10/13 16:54
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@EqualsAndHashCode
|
||||
public class ListRoleRes {
|
||||
private Long roleId;
|
||||
private String jobCode;
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author cn
|
||||
* @version 1.0
|
||||
* @description
|
||||
* @date 2022/10/14 11:52
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
public class ListUserRoleReq {
|
||||
@NotNull
|
||||
@Min(value = 0)
|
||||
private Long workspaceId;
|
||||
private Long ouId;
|
||||
@NotEmpty
|
||||
private Set<String> roleCodes;
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.common.manager.auth.base.UserContext;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @ClassName LoginLogSaveDTO
|
||||
* @Author zhangran
|
||||
* @Date 2022/6/11 18:14
|
||||
**/
|
||||
@Data
|
||||
public class LoginLogSaveDTO {
|
||||
|
||||
/**
|
||||
* m账号
|
||||
*/
|
||||
private String account;
|
||||
|
||||
/**
|
||||
* 登录状态:1-成功;2-失败
|
||||
*/
|
||||
private Integer loginStatus;
|
||||
/**
|
||||
* 错误原因
|
||||
*/
|
||||
private String failReason;
|
||||
/**
|
||||
* 平台
|
||||
*/
|
||||
private String terminal;
|
||||
|
||||
private UserContext userContext;
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author zhangPeng
|
||||
* @description
|
||||
* @date 2021/1/26 17:16
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class LoginSuccessBo {
|
||||
private String accessToken;
|
||||
/**
|
||||
* 终端
|
||||
*/
|
||||
private String terminal;
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/6/5 10:50
|
||||
* @description :账号合并Req
|
||||
*/
|
||||
@Data
|
||||
public class MergeAccountReq {
|
||||
|
||||
/**
|
||||
* 原自然人Id
|
||||
*/
|
||||
private Long oldPerSonId;
|
||||
|
||||
|
||||
/**
|
||||
* 新自然人Id
|
||||
*/
|
||||
private Long newPerSonId;
|
||||
|
||||
|
||||
/**
|
||||
* 身份列表
|
||||
*/
|
||||
private List<BaseIdentityReq> baseIdentity;
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author haiyangjin
|
||||
* @date 2023/8/23
|
||||
*/
|
||||
@Data
|
||||
public class MoveFeatureReq {
|
||||
// @NotEmpty(message = "featureCode 不能为空")
|
||||
private String featureCode;
|
||||
|
||||
private String moveToFeatureCode;
|
||||
|
||||
private Long id;
|
||||
|
||||
private Long moveToId;
|
||||
|
||||
private String token;
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class NativeFeatureResp {
|
||||
|
||||
/*
|
||||
* 企业端菜单id
|
||||
*/
|
||||
private Long entFeatureId;
|
||||
|
||||
/*
|
||||
* 项目端菜单id
|
||||
*/
|
||||
private Long projFeatureId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,79 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.common.page.PageRequest;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/6/28 20:08
|
||||
* @description : 操作日志请求参数
|
||||
*/
|
||||
@Data
|
||||
public class OperateLogQueryReq extends PageRequest {
|
||||
|
||||
/**
|
||||
* 调用方服务名
|
||||
*/
|
||||
private String serviceName;
|
||||
|
||||
/**
|
||||
* 操作人
|
||||
*/
|
||||
private String operateUserName;
|
||||
|
||||
/**
|
||||
* 事件类型
|
||||
*/
|
||||
private List<String> featureCodes;
|
||||
|
||||
/**
|
||||
* 功能name
|
||||
*/
|
||||
private String featureName;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date startTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date endTime;
|
||||
|
||||
/**
|
||||
* 工作台Id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 单位Id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 身份Id
|
||||
*/
|
||||
private Long identityId;
|
||||
|
||||
/**
|
||||
* 身份类型
|
||||
*/
|
||||
private Integer identityType;
|
||||
|
||||
/**
|
||||
* 操作类型 1:add 2:add_batch 3:update 4:update_batch 5:delete 6:delete_batch
|
||||
*/
|
||||
private Integer operateType;
|
||||
|
||||
/**
|
||||
* 操作表名
|
||||
*/
|
||||
private String operateTable;
|
||||
}
|
||||
@ -0,0 +1,51 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/6/28 20:08
|
||||
* @description : 操作日志响应
|
||||
*/
|
||||
@Data
|
||||
public class OperateLogQueryResp {
|
||||
|
||||
/**
|
||||
* 操作人
|
||||
*/
|
||||
private String operateUserName;
|
||||
|
||||
/**
|
||||
* 事件类型
|
||||
*/
|
||||
private String featureCode;
|
||||
|
||||
/**
|
||||
* 事件类型
|
||||
*/
|
||||
private String featureName;
|
||||
|
||||
/**
|
||||
* 事件摘要
|
||||
*/
|
||||
private String contentSummary;
|
||||
|
||||
/**
|
||||
* 操作时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date operateTime;
|
||||
|
||||
/**
|
||||
* 操作人手机号
|
||||
*/
|
||||
private String operateUserPhone;
|
||||
|
||||
/**
|
||||
* 所属单位名称
|
||||
*/
|
||||
private String ouName;
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/6/14 15:19
|
||||
* @description : 查询拥有权限的工作台和单位Id
|
||||
*/
|
||||
@Data
|
||||
public class OwnSpaceAndOuInfoDTO {
|
||||
|
||||
/**
|
||||
* 工作台Id
|
||||
*/
|
||||
private Long workspaceType;
|
||||
|
||||
/**
|
||||
* 工作台Id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 单位Id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/6/14 15:19
|
||||
* @description : 查询拥有权限的工作台和单位Id
|
||||
*/
|
||||
@Data
|
||||
public class OwnSpaceAndOuInfoResp {
|
||||
|
||||
/**
|
||||
* 工作台Id
|
||||
*/
|
||||
private Long workspaceType;
|
||||
|
||||
/**
|
||||
* 工作台Id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 单位Id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.common.page.PageRequest;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author hewei@axzo.cn
|
||||
* @date 2022/12/6 10:28
|
||||
*/
|
||||
@Data
|
||||
public class PageDefaultDto extends PageRequest {
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.common.page.PageRequest;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/6/29 16:00
|
||||
* @description : 权限集分页搜索相关
|
||||
*/
|
||||
@Data
|
||||
public class PagePermissionGroupReq extends PageRequest {
|
||||
|
||||
/**
|
||||
* 搜索内容
|
||||
*/
|
||||
private String searchKey;
|
||||
|
||||
}
|
||||
@ -0,0 +1,54 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* @author: cl
|
||||
* @description: 代班组权限响应
|
||||
* @date: 2022-06-17
|
||||
**/
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
@ToString
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PayoffRoleResp {
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 角色身份ID
|
||||
*/
|
||||
private Long identityId;
|
||||
|
||||
/**
|
||||
* 角色身份类型,用于检查是否匹配
|
||||
*/
|
||||
private Integer identityType;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 真实姓名
|
||||
*/
|
||||
private String realName;
|
||||
|
||||
/**
|
||||
* 账户Id
|
||||
*/
|
||||
private Long accountId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import cn.axzo.framework.auth.domain.TerminalInfo;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 鉴权处理对象
|
||||
*
|
||||
* @version V1.0
|
||||
* @author: ZhanSiHu
|
||||
* @date: 2024/4/15 14:55
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PermissionCheckBO {
|
||||
private Long personId;
|
||||
private Long identityId;
|
||||
private IdentityType identityType;
|
||||
private Long ouId;
|
||||
private Long workspaceId;
|
||||
private Set<String> featureCodes;
|
||||
private TerminalInfo terminalInfo;
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ProductAndFeatureBO {
|
||||
|
||||
/**
|
||||
* 产品id
|
||||
*/
|
||||
private Long productId;
|
||||
|
||||
/**
|
||||
* 菜单id
|
||||
*/
|
||||
private Long featureId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ProductAndFeaturePathBO {
|
||||
|
||||
/**
|
||||
* 产品id
|
||||
*/
|
||||
private Long productId;
|
||||
|
||||
/**
|
||||
* 菜单表path字段
|
||||
*/
|
||||
private String featurePath;
|
||||
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Data
|
||||
public class ProductQueryReq {
|
||||
|
||||
|
||||
/**
|
||||
* 1:总包企业产品 2:总包项目产品 3:政企产品 4:分包企业产品 5:班组产品
|
||||
*/
|
||||
@NotNull(message = "产品类型不能为空")
|
||||
private Integer productType;
|
||||
|
||||
/**
|
||||
* 基础产品与否 0:基础产品 1:普通产品
|
||||
*/
|
||||
private Integer commonProduct;
|
||||
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/5/18 18:50
|
||||
* @description : 产品查询响应
|
||||
*/
|
||||
@Data
|
||||
public class ProductQueryResp {
|
||||
|
||||
protected Long id;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
protected Date createAt;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
protected Date updateAt;
|
||||
|
||||
/**
|
||||
* 1:总包企业产品 2:总包项目产品 3:政企产品 4:分包企业产品 5:班组产品
|
||||
*/
|
||||
private Integer productType;
|
||||
/**
|
||||
* 产品板块名字
|
||||
*/
|
||||
private String productName;
|
||||
/**
|
||||
* 基础产品与否 0:基础产品 1:普通产品
|
||||
*/
|
||||
private Integer commonProduct;
|
||||
/**
|
||||
* 产品板块备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 二维码
|
||||
*
|
||||
* @author liuyang
|
||||
* @date 2020/6/15
|
||||
**/
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
public class QrCodeBo {
|
||||
|
||||
/**
|
||||
* code码
|
||||
*/
|
||||
private String code;
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class QueryFeatureReq extends CommonWorkspaceIdAndOuIdReq {
|
||||
|
||||
/**
|
||||
* 是否查询子节点 0: 不查询: 1:查询( 默认0)
|
||||
*/
|
||||
private Integer loadChildrens = 0;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/6/9 14:42
|
||||
* @description : 获取拥有指定权限的人员列表
|
||||
*/
|
||||
@Data
|
||||
public class QueryIdentityByPermissionDTO {
|
||||
|
||||
/**
|
||||
* 权限列表
|
||||
* Query的语义是:只要有一个code就算命中,而不是必须有所有code权限。
|
||||
*/
|
||||
private List<String> codes;
|
||||
|
||||
private Long roleId;
|
||||
|
||||
/**
|
||||
* 工作台Id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 单位Id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 身份Id
|
||||
*/
|
||||
private Long identityId;
|
||||
|
||||
private IdentityType identityType;
|
||||
|
||||
/**
|
||||
* 指定端的权限
|
||||
*/
|
||||
private String terminal;
|
||||
|
||||
}
|
||||
@ -0,0 +1,101 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/6/9 14:42
|
||||
* @description : 获取拥有指定权限的人员列表
|
||||
*/
|
||||
@Data
|
||||
public class QueryIdentityByPermissionReq {
|
||||
|
||||
/**
|
||||
* 权限列表
|
||||
* Query的语义是:只要有一个code就算命中,而不是必须有所有code权限。
|
||||
*/
|
||||
private List<String> codes;
|
||||
|
||||
private Long roleId;
|
||||
|
||||
/**
|
||||
* 工作台Id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 单位Id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 身份Id
|
||||
*/
|
||||
private Long identityId;
|
||||
|
||||
private IdentityType identityType;
|
||||
|
||||
/**
|
||||
* 指定端的权限
|
||||
*/
|
||||
private String terminal;
|
||||
|
||||
public List<String> getCodes() {
|
||||
return codes;
|
||||
}
|
||||
|
||||
public void setCodes(List<String> codes) {
|
||||
this.codes = codes;
|
||||
}
|
||||
|
||||
public Long getRoleId() {
|
||||
return roleId;
|
||||
}
|
||||
|
||||
public void setRoleId(Long roleId) {
|
||||
this.roleId = roleId;
|
||||
}
|
||||
|
||||
public Long getWorkspaceId() {
|
||||
return workspaceId;
|
||||
}
|
||||
|
||||
public void setWorkspaceId(Long workspaceId) {
|
||||
this.workspaceId = workspaceId;
|
||||
}
|
||||
|
||||
public Long getOuId() {
|
||||
return ouId;
|
||||
}
|
||||
|
||||
public void setOuId(Long ouId) {
|
||||
this.ouId = ouId;
|
||||
}
|
||||
|
||||
public Long getIdentityId() {
|
||||
return identityId;
|
||||
}
|
||||
|
||||
public void setIdentityId(Long identityId) {
|
||||
this.identityId = identityId;
|
||||
}
|
||||
|
||||
public IdentityType getIdentityType() {
|
||||
return identityType;
|
||||
}
|
||||
|
||||
public void setIdentityType(IdentityType identityType) {
|
||||
this.identityType = identityType;
|
||||
}
|
||||
|
||||
public String getTerminal() {
|
||||
return terminal;
|
||||
}
|
||||
|
||||
public void setTerminal(String terminal) {
|
||||
this.terminal = terminal;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author hewei@axzo.cn
|
||||
* @date 2022/10/13 17:17
|
||||
*/
|
||||
@Data
|
||||
public class QueryPermissionGroupByCategoryIdReq {
|
||||
|
||||
private Long productCategoryId;
|
||||
|
||||
private List<Long> groupIds;
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.common.page.PageRequest;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author hewei@axzo.cn
|
||||
* @date 2022/10/11 16:33
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class QueryProductReq extends PageRequest {
|
||||
|
||||
/**
|
||||
* 功能分组id
|
||||
*/
|
||||
private Long productId;
|
||||
/**
|
||||
* 权限集id列表
|
||||
*/
|
||||
private List<Long> groupIds;
|
||||
}
|
||||
@ -0,0 +1,69 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.common.constant.enums.OrganizationalUnitTypeEnum;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.Data;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/6/27 14:05
|
||||
* @description : 通过角色名字查询角色信息
|
||||
*/
|
||||
@Data
|
||||
public class QueryRoleByNameReq extends CommonWorkspaceIdAndOuIdReq {
|
||||
|
||||
@NotEmpty(message = "角色名字不能为空")
|
||||
private List<String> roleNames;
|
||||
|
||||
/**
|
||||
* 单位类型
|
||||
*/
|
||||
private Set<Integer> ouTypes;
|
||||
|
||||
@JsonIgnore
|
||||
public int getFitOuTypeBit() {
|
||||
int fitOuTypeBit = 0;
|
||||
if (!CollectionUtils.isEmpty(ouTypes)) {
|
||||
Optional<Integer> reduce = ouTypes.stream()
|
||||
.map(OrganizationalUnitTypeEnum::getByType).filter(Objects::nonNull)
|
||||
.map(OrganizationalUnitTypeEnum::getBitValue).reduce((a, b) -> {
|
||||
a |= b;
|
||||
return a;
|
||||
});
|
||||
if (reduce.isPresent()) {
|
||||
fitOuTypeBit = reduce.get();
|
||||
}
|
||||
}
|
||||
return fitOuTypeBit;
|
||||
}
|
||||
|
||||
/**
|
||||
* 节点类型
|
||||
*/
|
||||
private Set<Integer> nodeTypes;
|
||||
|
||||
@JsonIgnore
|
||||
public int getFitNodeTypeBit() {
|
||||
int fitOuNodeTypeBit = 0;
|
||||
if (!CollectionUtils.isEmpty(nodeTypes)) {
|
||||
Optional<Integer> reduce = nodeTypes.stream()
|
||||
.map(OrganizationalUnitTypeEnum::getByType).filter(Objects::nonNull)
|
||||
.map(OrganizationalUnitTypeEnum::getBitValue).reduce((a, b) -> {
|
||||
a |= b;
|
||||
return a;
|
||||
});
|
||||
if (reduce.isPresent()) {
|
||||
fitOuNodeTypeBit = reduce.get();
|
||||
}
|
||||
}
|
||||
return fitOuNodeTypeBit;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/6/27 14:06
|
||||
* @description : 通过名字查询角色响应
|
||||
*/
|
||||
@Data
|
||||
public class QueryRoleByNameResp {
|
||||
|
||||
/**
|
||||
* 角色名字
|
||||
*/
|
||||
private String roleName;
|
||||
|
||||
/**
|
||||
* 角色Id
|
||||
*/
|
||||
private Long roleId;
|
||||
|
||||
/**
|
||||
* 角色类型:common 普通角色 super_admin超级管理员(禁止删除) admin子管理员(禁止删除) init初始化内置角色
|
||||
*/
|
||||
private String roleType;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.common.page.PageRequest;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/5/19 14:21
|
||||
* @description : 模板信息查询
|
||||
*/
|
||||
@Data
|
||||
public class QueryRoleTemplateReq extends PageRequest {
|
||||
|
||||
/**
|
||||
* 模板Id
|
||||
*/
|
||||
private Long templateId;
|
||||
|
||||
/**
|
||||
* 1:总包企业级 2:总包项目级 3:政企级 4:分包企业级 5:班组级
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* 用来查询基于PositionTemplate分配的Role、PermissionGroup。
|
||||
*
|
||||
* @author gaowei
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class QuerySaasPermissionGroupInPositionTemplateReq {
|
||||
|
||||
/**
|
||||
* 项目部工作台ID,不可为空。
|
||||
*/
|
||||
@NotNull
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 对应SaasRoleUserRelation表里的ouId
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 身份ID,可以为空,为空则忽略此查询条件。
|
||||
*/
|
||||
private List<Long> identityIds;
|
||||
|
||||
private IdentityType identityType;
|
||||
|
||||
/**
|
||||
* 职位Code列表。
|
||||
* 可以为空,为空则忽略此查询条件。
|
||||
*/
|
||||
private List<String> positionCodeList;
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/5/28 13:56
|
||||
* @description : 通过工作台Id 单位Id 查询用户角色信息
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
public class QuerySaasRoleByIdentityListDTO {
|
||||
|
||||
/**
|
||||
* 身份IdList
|
||||
*/
|
||||
private List<Long> identityIds;
|
||||
|
||||
/**
|
||||
* 身份类型
|
||||
*/
|
||||
private IdentityType identityType;
|
||||
|
||||
/**
|
||||
* 工作台id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 单位Id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,43 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/5/19 15:01
|
||||
* @description : 查询用户拥有得角色
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class QueryUserRoleReq {
|
||||
|
||||
/**
|
||||
* 工作台Id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 单位Id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 身份Id列表
|
||||
*/
|
||||
private List<Long> identityIds;
|
||||
|
||||
private IdentityType identityType;
|
||||
|
||||
private List<String> roleTypes;
|
||||
|
||||
private List<Long> roleIds;
|
||||
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @author liuyang
|
||||
* 删除token
|
||||
*/
|
||||
@Data
|
||||
public class RemoveTokenDto {
|
||||
|
||||
/**
|
||||
* 账号ID
|
||||
*/
|
||||
@NotNull(message = "账号ID不能为空")
|
||||
private Integer acctId;
|
||||
|
||||
/**
|
||||
* 客户端ID
|
||||
*/
|
||||
@NotBlank(message = "客户端ID不能为空")
|
||||
private String clientId;
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/5/19 15:13
|
||||
* @description : 角色基本信息
|
||||
*/
|
||||
@Data
|
||||
public class RoleBaseInfo {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 角色名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 角色描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 角色类型:common 普通角色 super_admin超级管理员 admin子管理员 init初始化内置角色
|
||||
*/
|
||||
private String roleType;
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/5/27 15:50
|
||||
* @description :
|
||||
*/
|
||||
@Data
|
||||
public class RoleByIdentityIdAndWorkspaceIdReq {
|
||||
|
||||
/**
|
||||
* 身份id
|
||||
*/
|
||||
private Long identityId;
|
||||
|
||||
// /**
|
||||
// * 身份类型
|
||||
// */
|
||||
// private IdentityTypeEnum identityType;
|
||||
|
||||
/**
|
||||
* 工作台id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: cl
|
||||
* @description: 班组长权限分类实体
|
||||
* @date: 2022-06-17
|
||||
**/
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
@ToString
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class RoleResp {
|
||||
|
||||
/**
|
||||
* 权限集分类名称
|
||||
*/
|
||||
private String roleName;
|
||||
|
||||
/**
|
||||
* 授权的权限
|
||||
*/
|
||||
@NotNull
|
||||
private List<GroupPermissionResp> groupPermissionList;
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/5/19 14:23
|
||||
* @description : 模板响应
|
||||
*/
|
||||
@Data
|
||||
public class RoleTemplateResp {
|
||||
|
||||
/**
|
||||
* Id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 模板名字
|
||||
*/
|
||||
private String templateName;
|
||||
|
||||
/**
|
||||
* 1:总包企业级 2:总包项目级 3:政企级 4:分包企业级 5:班组级
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@ -0,0 +1,100 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class SaasFeatureBO {
|
||||
|
||||
/**
|
||||
* 适用单位类型 位
|
||||
*/
|
||||
private Long fitOuTypeBit;
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String featureName;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
/**
|
||||
* code
|
||||
*/
|
||||
private String featureCode;
|
||||
/**
|
||||
* 图标地址
|
||||
*/
|
||||
private String icon;
|
||||
/**
|
||||
* 菜单上级id
|
||||
*/
|
||||
private Long parentId;
|
||||
/**
|
||||
* 链接地址
|
||||
*/
|
||||
private String linkUrl;
|
||||
/**
|
||||
* 1:CMS 2:小程序 4:原生
|
||||
*/
|
||||
private Integer linkType;
|
||||
/**
|
||||
* 扩展字段
|
||||
*/
|
||||
private String linkExt;
|
||||
/**
|
||||
* 小程序id 关联micro_app_item id
|
||||
*/
|
||||
private String microAppItemId;
|
||||
/**
|
||||
* 路径
|
||||
*/
|
||||
private String path;
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Integer sort;
|
||||
/**
|
||||
* terminal
|
||||
*/
|
||||
private String terminal;
|
||||
/**
|
||||
* 类型 0.模块 1.菜单 2页面 3功能
|
||||
*/
|
||||
private Integer featureType;
|
||||
/**
|
||||
* 是否需要权限 1.需要 2:不需要
|
||||
*/
|
||||
private Integer needAuth;
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private Long isDelete;
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private Long createBy;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createAt;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private LocalDateTime updateAt;
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
private Long updateBy;
|
||||
|
||||
private Long productId;
|
||||
|
||||
private String productName;
|
||||
|
||||
private String legacyLayout;
|
||||
}
|
||||
@ -0,0 +1,64 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SaasFeatureDTO {
|
||||
|
||||
private Long id;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String featureName;
|
||||
/**
|
||||
* code
|
||||
*/
|
||||
private String featureCode;
|
||||
/**
|
||||
* 图标地址
|
||||
*/
|
||||
private String icon;
|
||||
/**
|
||||
* 菜单上级id
|
||||
*/
|
||||
private Long parentId;
|
||||
/**
|
||||
* 链接地址
|
||||
*/
|
||||
private String linkUrl;
|
||||
/**
|
||||
* 1:CMS 2:小程序 4:原生
|
||||
*/
|
||||
private Integer linkType;
|
||||
/**
|
||||
* 扩展字段
|
||||
*/
|
||||
private String linkExt;
|
||||
/**
|
||||
* 小程序id 关联micro_app_item id
|
||||
*/
|
||||
private String microAppItemId;
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Integer sort;
|
||||
/**
|
||||
* 菜单适用于平台 0:企业工作台 1:项目工作台
|
||||
*/
|
||||
private Integer perspectiveTerminal;
|
||||
/**
|
||||
* 类型 0.模块 1.菜单 2页面 3功能
|
||||
*/
|
||||
private Integer featureType;
|
||||
/**
|
||||
* 是否需要权限 1.需要 2:不需要
|
||||
*/
|
||||
private Integer needAuth;
|
||||
|
||||
private Long productId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,140 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SaasFeatureRes {
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createAt;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private Date updateAt;
|
||||
|
||||
/**
|
||||
* 是否删除 0正常,1删除
|
||||
*/
|
||||
private Long isDelete;
|
||||
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String featureName;
|
||||
/**
|
||||
* code
|
||||
*/
|
||||
private String featureCode;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
/**
|
||||
* 图标地址
|
||||
*/
|
||||
private String icon;
|
||||
/**
|
||||
* 菜单上级id
|
||||
*/
|
||||
private Long parentId;
|
||||
/**
|
||||
* 链接地址
|
||||
*/
|
||||
private String linkUrl;
|
||||
/**
|
||||
* 1:CMS 2:小程序 4:原生
|
||||
*/
|
||||
private Integer linkType;
|
||||
/**
|
||||
* 扩展字段
|
||||
*/
|
||||
private String linkExt;
|
||||
/**
|
||||
* 小程序id 关联micro_app_item id
|
||||
*/
|
||||
private String microAppItemId;
|
||||
/**
|
||||
* 路径
|
||||
*/
|
||||
private String path;
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Integer sort;
|
||||
/**
|
||||
* {@link cn.axzo.framework.auth.domain.TerminalInfo }查看NT开头 downloadResource
|
||||
* 菜单适用于平台 NT_CMS_WEB_ENT_ZB:企业工作台 NT_CMS_WEB_PROJ:项目工作台
|
||||
* NT_CMP_APP_ENT_ZB:从业人员企业端 NT_CMP_APP_PROJ:从业人员项目端
|
||||
* NT_CM_APP_CM_LEADER:班组长侧 NT_CM_APP_WORKER:工人侧
|
||||
* NT_OMS_WEB OMS,运营管理后台 NT_SM:数据大屏
|
||||
* NT_SCREEN 数据大屏
|
||||
*/
|
||||
private String terminal;
|
||||
/**
|
||||
* 类型 0.模块 1.菜单 2页面 3功能
|
||||
*/
|
||||
private Integer featureType;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private Long createBy;
|
||||
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
private Long updateBy;
|
||||
|
||||
/**
|
||||
* 适用单位类型 1:总包 2:建设单位 4:监理单位 8:劳务分包 16:专业分包 0都可以用 只会挂在最末级
|
||||
*/
|
||||
private Long fitOuTypeBit;
|
||||
|
||||
/**
|
||||
* 适用节点类型 1:部门 2:班组 4:小组 只会挂在最末级
|
||||
*/
|
||||
private Long fitOuNodeTypeBit;
|
||||
|
||||
/**
|
||||
* 适配老接口 应用所属 system:系统应用 personal:个人应用 business:业务应用 只会挂在第一级别
|
||||
*/
|
||||
private String legacyLayout;
|
||||
|
||||
/**
|
||||
* 网关专属字段,所属应用
|
||||
* 后续会换成枚举,暂时枚举未定义完全
|
||||
*/
|
||||
private String appName;
|
||||
/**
|
||||
* 网关专属字段,是否授权 0:无需要授权 1:需要授权
|
||||
*/
|
||||
private Integer needAuth;
|
||||
|
||||
/**
|
||||
* 网关专属字段,是否认证 0:无需要认证 1:需要认证
|
||||
*/
|
||||
private Integer needCert;
|
||||
|
||||
/**
|
||||
* 网关专属字段 ,功能URL,对应后端接口url
|
||||
*/
|
||||
private String featureUrl;
|
||||
|
||||
private String businessNo;
|
||||
|
||||
private String parentBusinessNo;
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.common.page.PageRequest;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SaasFeatureSearchDTO extends PageRequest {
|
||||
|
||||
/**
|
||||
* 权限名称/权限code
|
||||
*/
|
||||
private String key;
|
||||
|
||||
/**
|
||||
* 权限集名称
|
||||
*/
|
||||
private String groupName;
|
||||
|
||||
/**
|
||||
* 目标平台
|
||||
*/
|
||||
private String perspectiveTerminal;
|
||||
|
||||
}
|
||||
@ -0,0 +1,179 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.common.model.IBaseTree;
|
||||
import cn.axzo.tyr.client.model.enums.FeatureTypeEnum;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.Data;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/5/16 10:31
|
||||
* @description : saas 资源树
|
||||
*/
|
||||
@Data
|
||||
public class SaasFeatureTreeResp implements IBaseTree<SaasFeatureTreeResp, String> {
|
||||
|
||||
/**
|
||||
* 元素 Id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 父级 Id
|
||||
*/
|
||||
private Long parentId;
|
||||
|
||||
/**
|
||||
* 0.模块 1.菜单 2页面 3功能 99:端-不可编辑
|
||||
*/
|
||||
private Integer menuType;
|
||||
|
||||
/**
|
||||
* 元素名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* code
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 图标名
|
||||
*/
|
||||
private String icon;
|
||||
/**
|
||||
* 路由地址
|
||||
*/
|
||||
private String linkUrl;
|
||||
/**
|
||||
* 1:安心筑企业 2:小程序 4:原生 如果菜单同时又对应app上展示 则填写对应linkUrl 和linkExt
|
||||
*/
|
||||
private Integer linkType;
|
||||
/**
|
||||
* 扩展字段 原生使用
|
||||
*/
|
||||
private String linkExt;
|
||||
|
||||
/**
|
||||
* 排序号
|
||||
*/
|
||||
private Integer sort;
|
||||
|
||||
|
||||
/**
|
||||
* 小程序id 关联micro_app_item id
|
||||
*/
|
||||
private String microAppItemId;
|
||||
|
||||
/**
|
||||
* 菜单适用于平台 NT_CMS_WEB_ENT_ZB:企业工作台 NT_CMS_WEB_PROJ:项目工作台
|
||||
* NT_CMP_APP_ENT_ZB:从业人员企业端 NT_CMP_APP_PROJ:从业人员项目端
|
||||
* NT_CM_APP_CM_LEADER:班组长侧 NT_CM_APP_WORKER:工人侧
|
||||
* NT_OMS_WEB OMS,运营管理后台 NT_SM:数据大屏
|
||||
* NT_SCREEN 数据大屏
|
||||
* */
|
||||
private String terminal;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createAt;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateAt;
|
||||
|
||||
/**
|
||||
* 1:总包 2:建设单位 4:监理单位 8:劳务分包 16:专业分包
|
||||
*/
|
||||
private List<Integer> fitOuTypes;
|
||||
|
||||
/**
|
||||
* 1:部门 2:班组 4:小组
|
||||
*/
|
||||
private List<Integer> fitOuNodeTypes;
|
||||
|
||||
/**
|
||||
* 适配老接口 应用所属 system:系统应用 personal:个人应用 business:业务应用 只会挂在第一级别
|
||||
*/
|
||||
private String legacyLayout;
|
||||
|
||||
|
||||
/**
|
||||
* 网关专属字段,所属应用
|
||||
*/
|
||||
private String appName;
|
||||
/**
|
||||
* 网关专属字段,是否授权 0:无需要授权 1:需要授权
|
||||
*/
|
||||
private Integer needAuth;
|
||||
|
||||
/**
|
||||
* 网关专属字段,是否认证 0:无需要认证 1:需要认证
|
||||
*/
|
||||
private Integer needCert;
|
||||
|
||||
/**
|
||||
* 网关专属字段 ,功能URL,对应后端接口url
|
||||
*/
|
||||
private String featureUrl;
|
||||
|
||||
|
||||
/**
|
||||
* 当前所有子级里面是否有功能code
|
||||
*/
|
||||
@JsonIgnore
|
||||
public boolean isHadFeatureFunction() {
|
||||
if (!Objects.equals(menuType, FeatureTypeEnum.FEATURE.getCode())) {
|
||||
if (CollectionUtils.isEmpty(children)) {
|
||||
return false;
|
||||
}
|
||||
return children.stream().anyMatch(SaasFeatureTreeResp::isHadFeatureFunction);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 子集
|
||||
*/
|
||||
private List<SaasFeatureTreeResp> children;
|
||||
|
||||
|
||||
@Override
|
||||
@JsonIgnore
|
||||
public String getNodeCode() {
|
||||
return businessNo;
|
||||
}
|
||||
|
||||
@Override
|
||||
@JsonIgnore
|
||||
public String getParentNodeCode() {
|
||||
return parentBusinessNo;
|
||||
}
|
||||
|
||||
@Override
|
||||
@JsonIgnore
|
||||
public List<SaasFeatureTreeResp> getNodeChildren() {
|
||||
return children;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNodeChildren(List<SaasFeatureTreeResp> nodeChildren) {
|
||||
this.children = nodeChildren;
|
||||
}
|
||||
|
||||
private String businessNo;
|
||||
|
||||
private String parentBusinessNo;
|
||||
}
|
||||
@ -0,0 +1,103 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class SaasHierarchyFeatureBO {
|
||||
|
||||
/**
|
||||
* 适用单位类型 位
|
||||
*/
|
||||
private Long fitOuTypeBit;
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String featureName;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
/**
|
||||
* code
|
||||
*/
|
||||
private String featureCode;
|
||||
/**
|
||||
* 图标地址
|
||||
*/
|
||||
private String icon;
|
||||
/**
|
||||
* 菜单上级id
|
||||
*/
|
||||
private Long parentId;
|
||||
/**
|
||||
* 链接地址
|
||||
*/
|
||||
private String linkUrl;
|
||||
/**
|
||||
* 1:CMS 2:小程序 4:原生
|
||||
*/
|
||||
private Integer linkType;
|
||||
/**
|
||||
* 扩展字段
|
||||
*/
|
||||
private String linkExt;
|
||||
/**
|
||||
* 小程序id 关联micro_app_item id
|
||||
*/
|
||||
private String microAppItemId;
|
||||
/**
|
||||
* 路径
|
||||
*/
|
||||
private String path;
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Integer sort;
|
||||
/**
|
||||
* terminal
|
||||
*/
|
||||
private String terminal;
|
||||
/**
|
||||
* 类型 0.模块 1.菜单 2页面 3功能
|
||||
*/
|
||||
private Integer featureType;
|
||||
/**
|
||||
* 是否需要权限 1.需要 2:不需要
|
||||
*/
|
||||
private Integer needAuth;
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private Long isDelete;
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private Long createBy;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createAt;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private LocalDateTime updateAt;
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
private Long updateBy;
|
||||
|
||||
private Long productId;
|
||||
|
||||
private String productName;
|
||||
|
||||
private String legacyLayout;
|
||||
|
||||
private List<SaasHierarchyFeatureBO> child;
|
||||
}
|
||||
@ -0,0 +1,75 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* TODO: 这里的字段和Model的字段对不上
|
||||
*
|
||||
* @author gaowei
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class SaasPermissionGroupBO extends Model<SaasPermissionGroupBO> {
|
||||
|
||||
private Long id;
|
||||
/**
|
||||
* 产品Id
|
||||
*/
|
||||
private Long productId;
|
||||
/**
|
||||
* 权限集名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 权限集描述
|
||||
*/
|
||||
private String description;
|
||||
/**
|
||||
* 适用单位类型 1总包 2分包 3分包总包
|
||||
*/
|
||||
private Integer ouType;
|
||||
/**
|
||||
* 权限集类型 1查看 2操作管理
|
||||
*/
|
||||
private Integer type;
|
||||
/**
|
||||
* 是否删除:0否,other是
|
||||
*/
|
||||
private Long isDelete;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createAt;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private LocalDateTime updateAt;
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
private Long createBy;
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
private Long updateBy;
|
||||
/**
|
||||
* 是否自定义 0:不是 1:是 如果为1 custom_space_id 不能为空
|
||||
*/
|
||||
private Integer isCustom;
|
||||
/**
|
||||
* 工作台Id
|
||||
*/
|
||||
private Long customSpaceId;
|
||||
|
||||
/**
|
||||
* 功能IDs
|
||||
*/
|
||||
private List<Long> featureIds;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,33 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SaasPermissionGroupInPositionTemplate {
|
||||
|
||||
/**
|
||||
* 分类名称,对应角色分组名称
|
||||
*/
|
||||
private String categoryName;
|
||||
/**
|
||||
* 分类编码,对应角色分组code
|
||||
*/
|
||||
private String categoryCode;
|
||||
|
||||
/**
|
||||
* 权限集id
|
||||
*/
|
||||
private Long permissionGroupId;
|
||||
|
||||
/**
|
||||
* 权限集名称,对应角色名称
|
||||
*/
|
||||
private String permissionGroupName;
|
||||
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SaasPositionTemplateExBO {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 职位名,对应角色分组名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 编码,对应角色分组code
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 职位类型:1:平台级别类型,2:workspace级别类型,对应角色分组工作台类型
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
private List<SaasPermissionGroupInPositionTemplate> permissionGroups;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SaasPositionTemplateReq {
|
||||
|
||||
/**
|
||||
* 可以为空,为空就是忽略此条件
|
||||
*/
|
||||
private List<Long> positionTemplateIdList;
|
||||
|
||||
/**
|
||||
* 可以为空,为空就是忽略此条件
|
||||
*/
|
||||
private List<String> positionCodeList;
|
||||
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* saas-角色(SaasRole)表实体类
|
||||
*
|
||||
* @author makejava
|
||||
* @since 2022-05-24 11:18:41
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SaasRoleAndIdentityBO extends SaasRoleBO {
|
||||
|
||||
private Long identityId;
|
||||
|
||||
private IdentityType identityType;
|
||||
|
||||
private int jobType;
|
||||
|
||||
}
|
||||
@ -0,0 +1,62 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.tyr.client.common.enums.RoleTypeEnum;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* saas-角色(SaasRole)表实体类
|
||||
*
|
||||
* @author makejava
|
||||
* @since 2022-05-24 11:18:41
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
@ToString
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SaasRoleBO {
|
||||
|
||||
private Long roleId;
|
||||
|
||||
/**
|
||||
* 角色名称
|
||||
*/
|
||||
private String roleName;
|
||||
|
||||
/**
|
||||
* 角色类型:common 普通角色 super_admin超级管理员(禁止删除) admin子管理员(禁止删除) init初始化内置角色
|
||||
*/
|
||||
private RoleTypeEnum roleType;
|
||||
|
||||
/**
|
||||
* 角色描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 工作台Id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 0:企业工作台 1:项目工作台
|
||||
*/
|
||||
private Integer workspaceType;
|
||||
|
||||
/**
|
||||
* 角色所属单位Id 可能是总包,也可能是分包
|
||||
*/
|
||||
private Long ownerOuId;
|
||||
|
||||
/**
|
||||
* 岗位编码
|
||||
*/
|
||||
private String jobCode;
|
||||
|
||||
}
|
||||
@ -0,0 +1,95 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
import cn.axzo.basics.common.constant.enums.OrganizationalNodeTypeEnum;
|
||||
import cn.axzo.basics.common.constant.enums.OrganizationalUnitTypeEnum;
|
||||
import cn.axzo.tyr.client.common.SaasRoleFits;
|
||||
import cn.axzo.tyr.client.model.enums.WorkspaceTypeWithLegacyEnum;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class SaasRoleCreateOrUpdateReq {
|
||||
|
||||
private Long id;
|
||||
|
||||
@NotBlank(message = "名字不能为空")
|
||||
private String name;
|
||||
|
||||
private String description;
|
||||
|
||||
private String roleType;
|
||||
|
||||
/**
|
||||
* 表示这个Role可以使用哪些权限集里的权限
|
||||
*/
|
||||
private List<Long> permissionGroupIds = new ArrayList<>();
|
||||
|
||||
private WorkspaceTypeWithLegacyEnum workspaceType;
|
||||
|
||||
/**
|
||||
* 工作台Id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 角色owner单位Id 实际角色和用户的所属关系 具体查询relation的ouId
|
||||
*/
|
||||
private Long ownerOuId;
|
||||
|
||||
/**
|
||||
* 适用单位类型 1:总包 2:建设单位 4:监理单位 8:劳务分包 16:专业分包 0都可以用 只会挂在最末级
|
||||
*/
|
||||
private Long fitOuTypeBit;
|
||||
|
||||
/**
|
||||
* 适用节点类型 1:部门 2:班组 4:小组 只会挂在最末级
|
||||
*/
|
||||
private Long fitOuNodeTypeBit;
|
||||
|
||||
public List<OrganizationalUnitTypeEnum> getFitOuTypeEnumList() {
|
||||
return SaasRoleFits.splitToFitOuTypeEnums(this.fitOuTypeBit);
|
||||
}
|
||||
|
||||
public List<OrganizationalNodeTypeEnum> getFitOuNodeTypeEnumList() {
|
||||
return SaasRoleFits.splitToFitOuNodeTypeEnums(this.fitOuNodeTypeBit);
|
||||
}
|
||||
|
||||
public List<Integer> getFitOuTypeValueList() {
|
||||
return SaasRoleFits.splitToFitOuTypeValues(this.fitOuTypeBit);
|
||||
}
|
||||
|
||||
public List<Integer> getFitOuNodeTypeValueList() {
|
||||
return SaasRoleFits.splitToFitOuNodeTypeValues(this.fitOuNodeTypeBit);
|
||||
}
|
||||
|
||||
public void setFitOuTypeByValues(List<Integer> fitOuTypeList) {
|
||||
this.fitOuTypeBit = SaasRoleFits.concatFitOuTypeByValues(fitOuTypeList);
|
||||
}
|
||||
|
||||
public void setFitOuNodeTypeByValues(List<Integer> fitOuNodeTypeList) {
|
||||
this.fitOuNodeTypeBit = SaasRoleFits.concatFitOuNodeTypeByValues(fitOuNodeTypeList);
|
||||
}
|
||||
|
||||
public void setFitOuTypeByEnums(List<OrganizationalUnitTypeEnum> fitOuTypeList) {
|
||||
this.fitOuTypeBit = SaasRoleFits.concatFitOuTypeByList(fitOuTypeList);
|
||||
}
|
||||
|
||||
public void setFitOuNodeTypeByEnums(List<OrganizationalNodeTypeEnum> fitOuNodeTypeList) {
|
||||
this.fitOuNodeTypeBit = SaasRoleFits.concatFitOuNodeTypeByList(fitOuNodeTypeList);
|
||||
}
|
||||
|
||||
public boolean isFitOuType(Integer ouType) {
|
||||
return SaasRoleFits.isFitOuType(this.fitOuTypeBit, ouType);
|
||||
}
|
||||
|
||||
public boolean isFitOuNodeType(Integer ouNodeType) {
|
||||
return SaasRoleFits.isFitOuNodeType(this.fitOuNodeTypeBit, ouNodeType);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: wangli
|
||||
* @date: 2022/5/26 14:18
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class SaasRoleDTO {
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 角色名称
|
||||
*/
|
||||
@NotBlank(message = "名字不能为空")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 角色描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 权限集
|
||||
*/
|
||||
private List<Long> groupIds = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* 工作台ID
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 工作台类型
|
||||
*/
|
||||
private Integer workspaceType;
|
||||
|
||||
/**
|
||||
* 所属单位ID
|
||||
*/
|
||||
private Long ownerOuId;
|
||||
|
||||
/**
|
||||
* 角色类型
|
||||
*/
|
||||
private String roleType;
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private Long isDelete;
|
||||
|
||||
/**
|
||||
* 职位模板I
|
||||
*/
|
||||
private Long positionTemplateId;
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package cn.axzo.tyr.client.model.permission;
|
||||
|
||||
import cn.axzo.basics.profiles.common.enums.IdentityType;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : liuchuntao
|
||||
* @date : 2022/5/30 16:00
|
||||
* @description : 删除指定工作台角色-用户关联关系
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
public class SaasRoleDelDTO {
|
||||
/**
|
||||
* 工作台Id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 单位Id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
|
||||
/**
|
||||
* 身份Id
|
||||
*/
|
||||
private Long identityId;
|
||||
|
||||
/**
|
||||
* 身份类型
|
||||
*/
|
||||
private IdentityType identityType;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user