Merge branch 'feature/REQ-3488-syl' into 'feature/REQ-3488'
feat(REQ-3488): 单位隐私相关的req、dto迁移 See merge request universal/infrastructure/backend/orgmanax!89
This commit is contained in:
commit
69dae02844
@ -0,0 +1,41 @@
|
||||
package cn.axzo.orgmanax.api.unit.feign;
|
||||
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.foundation.result.ApiResult;
|
||||
import cn.axzo.orgmanax.dto.unit.privacy.req.PageOrgUnitPrivacySettingReq;
|
||||
import cn.axzo.orgmanax.dto.unit.privacy.req.SaveOrgUnitPrivacySettingReq;
|
||||
import cn.axzo.orgmanax.dto.unit.privacy.req.UpdateOrgUnitPrivacySettingReq;
|
||||
import cn.axzo.orgmanax.dto.unit.privacy.resp.OrgUnitPrivacySettingsResp;
|
||||
import javax.validation.Valid;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
/**
|
||||
* 单位隐私设置API
|
||||
* @author syl
|
||||
* @date 2024/12/16
|
||||
*/
|
||||
@FeignClient(
|
||||
value = "orgmanax",
|
||||
url = "${axzo.service.orgmanax:http://orgmanax:8080}")
|
||||
public interface OrgUnitPrivacySettingApi {
|
||||
|
||||
/**
|
||||
* 查询单位相关的隐私设置
|
||||
*/
|
||||
@PostMapping(value = "/api/unit/privacy-settings/page")
|
||||
ApiResult<PageResp<OrgUnitPrivacySettingsResp>> page(@RequestBody @Valid PageOrgUnitPrivacySettingReq param);
|
||||
|
||||
/**
|
||||
* 新增隐私设置数据
|
||||
*/
|
||||
@PostMapping(value = "/api/unit/privacy-settings/save")
|
||||
ApiResult<String> save(@RequestBody @Valid SaveOrgUnitPrivacySettingReq param);
|
||||
|
||||
/**
|
||||
* 新增隐私设置数据
|
||||
*/
|
||||
@PostMapping(value = "/api/unit/privacy-settings/update")
|
||||
ApiResult<Boolean> update(@RequestBody @Valid UpdateOrgUnitPrivacySettingReq update);
|
||||
}
|
||||
@ -0,0 +1,76 @@
|
||||
package cn.axzo.orgmanax.dto.unit.privacy.dto;
|
||||
|
||||
import cn.axzo.orgmanax.dto.unit.enums.PrivacySettingsEntityTypeEnum;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import java.io.Serializable;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* @author luofu
|
||||
* @date 2024/1/31
|
||||
* @version 1.0
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OrgUnitPrivacyDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 8023003041302443795L;
|
||||
|
||||
/**
|
||||
* 隐私实体id
|
||||
*/
|
||||
private String entityId;
|
||||
/**
|
||||
* 隐私实体类型
|
||||
*/
|
||||
private PrivacySettingsEntityTypeEnum entityType;
|
||||
/**
|
||||
* 身份id,人员选择器回显专用
|
||||
*/
|
||||
private String identityId;
|
||||
|
||||
public String fetchEntityId() {
|
||||
if (PrivacySettingsEntityTypeEnum.PERSON.equals(this.entityType)
|
||||
&& StringUtils.isNotBlank(this.identityId)) {
|
||||
return this.entityId + ENTITY_ID_SPLITER + this.identityId;
|
||||
}
|
||||
return entityId;
|
||||
}
|
||||
|
||||
public static OrgUnitPrivacyDTO build(String entityId, PrivacySettingsEntityTypeEnum entityType) {
|
||||
String[] strArray = entityId.split(ENTITY_ID_SPLITER);
|
||||
entityId = strArray[0];
|
||||
String identityId = StringUtils.EMPTY;
|
||||
if (strArray.length > 1) {
|
||||
identityId = strArray[1];
|
||||
}
|
||||
return OrgUnitPrivacyDTO.builder()
|
||||
.entityId(entityId)
|
||||
.identityId(identityId)
|
||||
.entityType(entityType)
|
||||
.build();
|
||||
}
|
||||
|
||||
public static Long parseEntityId(String entityId, PrivacySettingsEntityTypeEnum entityType) {
|
||||
if (StringUtils.isBlank(entityId)) {
|
||||
return null;
|
||||
}
|
||||
if (PrivacySettingsEntityTypeEnum.PERSON.equals(entityType)) {
|
||||
return Long.parseLong(entityId.split(ENTITY_ID_SPLITER)[0]);
|
||||
}
|
||||
return Long.parseLong(entityId);
|
||||
}
|
||||
|
||||
private static final String ENTITY_ID_SPLITER = ":";
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package cn.axzo.orgmanax.dto.unit.privacy.req;
|
||||
|
||||
import cn.axzo.foundation.page.PageReqV2;
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* @author syl
|
||||
* @date 2024/12/16
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PageOrgUnitPrivacySettingReq extends PageReqV2 {
|
||||
|
||||
/**
|
||||
* ouid 列表
|
||||
*/
|
||||
private List<Long> ouIds;
|
||||
|
||||
/**
|
||||
* 是否需要隐私实体
|
||||
*/
|
||||
private Boolean needPrivacyEntity;
|
||||
|
||||
}
|
||||
@ -0,0 +1,54 @@
|
||||
package cn.axzo.orgmanax.dto.unit.privacy.req;
|
||||
|
||||
import cn.axzo.orgmanax.dto.unit.enums.PrivacySettingsTypeEnum;
|
||||
import cn.axzo.orgmanax.dto.unit.privacy.dto.OrgUnitPrivacyDTO;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* @author syl
|
||||
* @date 2024/12/16
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SaveOrgUnitPrivacySettingReq {
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull(message = "ouId is required")
|
||||
private Long ouId;
|
||||
/**
|
||||
* 隐私设置方式
|
||||
*/
|
||||
@NotNull(message = "type is required")
|
||||
private PrivacySettingsTypeEnum type;
|
||||
/**
|
||||
* 隐私生效场景的工作台id集合
|
||||
*/
|
||||
@NotEmpty(message = "workspaceIds is required")
|
||||
private List<Long> workspaceIds;
|
||||
/**
|
||||
* 操作人的自然人id
|
||||
*/
|
||||
@NotNull(message = "operatorId is required")
|
||||
private Long operatorId;
|
||||
/**
|
||||
* 隐私实体列表
|
||||
*/
|
||||
@NotEmpty(message = "privacyEntities is required")
|
||||
private List<OrgUnitPrivacyDTO> privacyEntities;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,51 @@
|
||||
package cn.axzo.orgmanax.dto.unit.privacy.req;
|
||||
|
||||
import cn.axzo.orgmanax.dto.unit.enums.PrivacySettingsTypeEnum;
|
||||
import cn.axzo.orgmanax.dto.unit.privacy.dto.OrgUnitPrivacyDTO;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* @author luofu
|
||||
* @date 2024/1/11
|
||||
* @version 1.0
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UpdateOrgUnitPrivacySettingReq {
|
||||
|
||||
/**
|
||||
* 隐私设置实例id
|
||||
*/
|
||||
@NotBlank(message = "instanceId is required")
|
||||
private String instanceId;
|
||||
/**
|
||||
* 隐私设置方式
|
||||
*/
|
||||
private PrivacySettingsTypeEnum type;
|
||||
/**
|
||||
* 隐私生效场景的工作台id集合
|
||||
*/
|
||||
private Set<Long> workspaceIds;
|
||||
/**
|
||||
* 操作人的自然人id
|
||||
*/
|
||||
private Long operatorId;
|
||||
/**
|
||||
* 隐私实体列表
|
||||
*/
|
||||
private List<OrgUnitPrivacyDTO> privacyEntities;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,52 @@
|
||||
package cn.axzo.orgmanax.dto.unit.privacy.resp;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @date 2024/1/18
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OrgUnitPrivacySettingsResp {
|
||||
|
||||
/**
|
||||
* 隐私设置实例id
|
||||
*/
|
||||
private String instanceId;
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
private Long ouId;
|
||||
/**
|
||||
* 隐私设置方式
|
||||
* HIDE_PERSON_ENTIRE: 人员不可见
|
||||
* HIDE_PERSON_DETAIL: 人员详情不可查看
|
||||
*/
|
||||
private String type;
|
||||
/**
|
||||
* 隐私生效的工作台id集合
|
||||
*/
|
||||
private List<Long> workspaceIds;
|
||||
/**
|
||||
* 自然人id列表
|
||||
*/
|
||||
private List<Long> personIds;
|
||||
/**
|
||||
* 部门id列表
|
||||
*/
|
||||
private List<Long> departmentIds;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package cn.axzo.orgmanax.server.unit.controller;
|
||||
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.foundation.result.ApiResult;
|
||||
import cn.axzo.orgmanax.api.unit.feign.OrgUnitPrivacySettingApi;
|
||||
import cn.axzo.orgmanax.dto.unit.privacy.req.PageOrgUnitPrivacySettingReq;
|
||||
import cn.axzo.orgmanax.dto.unit.privacy.req.SaveOrgUnitPrivacySettingReq;
|
||||
import cn.axzo.orgmanax.dto.unit.privacy.req.UpdateOrgUnitPrivacySettingReq;
|
||||
import cn.axzo.orgmanax.dto.unit.privacy.resp.OrgUnitPrivacySettingsResp;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @author syl
|
||||
* @date 2025/1/2
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping
|
||||
@RequiredArgsConstructor
|
||||
public class UnitPrivacySettingController implements OrgUnitPrivacySettingApi {
|
||||
|
||||
@Override
|
||||
public ApiResult<PageResp<OrgUnitPrivacySettingsResp>> page(PageOrgUnitPrivacySettingReq param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<String> save(SaveOrgUnitPrivacySettingReq param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<Boolean> update(UpdateOrgUnitPrivacySettingReq update) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user