diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleUserApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleUserApi.java index 8ce58b65..a8139c18 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleUserApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleUserApi.java @@ -1,19 +1,19 @@ package cn.axzo.tyr.client.feign; -import cn.axzo.framework.domain.web.result.ApiResult; -import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserRelationDTO; -import cn.axzo.tyr.client.model.roleuser.req.DeleteRoleUserParam; -import cn.axzo.tyr.client.model.roleuser.req.DeleteUserRoleParam; -import cn.axzo.tyr.client.model.roleuser.req.RoleUserParam; -import cn.axzo.tyr.client.model.roleuser.req.RoleUserReq; -import cn.azxo.framework.common.model.CommonResponse; +import java.util.List; + +import javax.validation.Valid; +import javax.validation.constraints.NotEmpty; + import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -import javax.validation.Valid; -import java.util.List; +import cn.axzo.framework.domain.web.result.ApiResult; +import cn.axzo.tyr.client.model.roleuser.dto.CreateAdminRoleDTO; +import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserRelationDTO; +import cn.axzo.tyr.client.model.roleuser.dto.SuperAdminInfoDTO; +import cn.axzo.tyr.client.model.roleuser.req.*; /** * 角色 @@ -52,4 +52,39 @@ public interface TyrSaasRoleUserApi { */ @PostMapping("api/saas-role-user/delete-user-role") ApiResult deleteUserRoles(@RequestBody @Valid DeleteUserRoleParam param); + + /** + * + * @param param + * @return + */ + @PostMapping("api/saas-role-user/create-agency-admin-role") + ApiResult createAgencyAdminRole(@RequestBody @Valid CreateAgencyAdminRoleParam param); + + @PostMapping("api/saas-role-user/create-workspace-admin-role") + ApiResult createWorkspaceAdminRole(@RequestBody @Valid @NotEmpty List params); + + /** + * 移除超管角色 + * @param params + * @return + */ + @PostMapping("api/saas-role-user/delete-admin-role") + ApiResult deleteAdminRole(@RequestBody @Valid @NotEmpty List params); + + /** + * 批量查询超管 + * @param params + * @return + */ + @PostMapping("api/saas-role-user/super-admin-list") + ApiResult> superAdminList(@RequestBody @Valid @NotEmpty List params); + + /** + * 查看超管详情 + * @param param + * @return + */ + @PostMapping("api/saas-role-user/super-admin") + ApiResult superAdmin(@RequestBody @Valid SuperAdminParam param); } diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/CreateAdminRoleDTO.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/CreateAdminRoleDTO.java new file mode 100644 index 00000000..2771e424 --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/CreateAdminRoleDTO.java @@ -0,0 +1,47 @@ +package cn.axzo.tyr.client.model.roleuser.dto; + +import cn.axzo.tyr.client.model.enums.IdentityType; +import lombok.Data; + +/** + * @author : liuchuntao + * @date : 2022/5/11 11:20 + * @description : + */ +@Data +public class CreateAdminRoleDTO { + + /** + * 身份Id + */ + private Long identityId; + + /** + * 身份类型 + */ + private IdentityType identityType; + + /** + * 账户Id + * + * @deprecated 此字段业务中不要使用,全部用身份id来处理业务 + */ + @Deprecated + private Long accountId; + + /** + * 手机号 + */ + private String phone; + + /** + * 真实姓名 + */ + private String realName; + + /** + * 自然人Id + */ + private Long naturalPersonId; + +} diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/SuperAdminInfoDTO.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/SuperAdminInfoDTO.java new file mode 100644 index 00000000..e9cba93c --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/SuperAdminInfoDTO.java @@ -0,0 +1,42 @@ +package cn.axzo.tyr.client.model.roleuser.dto; + +import cn.axzo.tyr.client.model.enums.IdentityType; +import lombok.Data; + +/** + * @author : liuchuntao + * @date : 2022/6/17 16:20 + * @description : 超管信息 + */ +@Data +public class SuperAdminInfoDTO { + + /** + * 身份ID + */ + private Long identityId; + + private IdentityType identityType; + + /** + * 手机号 + */ + private String phone; + + /** + * 姓名 + */ + private String realName; + + + /** + * 工作台Id + */ + private Long workspaceId; + + /** + * 单位Id + */ + private Long ouId; + +} diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/CreateAgencyAdminRoleParam.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/CreateAgencyAdminRoleParam.java new file mode 100644 index 00000000..476d6559 --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/CreateAgencyAdminRoleParam.java @@ -0,0 +1,65 @@ +package cn.axzo.tyr.client.model.roleuser.req; + +import java.util.List; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +import cn.axzo.tyr.client.model.enums.IdentityType; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Builder +@Data +@NoArgsConstructor +@AllArgsConstructor +public class CreateAgencyAdminRoleParam { + + /** + * 工作台id,与context校验 + */ + @NotNull(message = "工作台Id不能为空") + private Long workspaceId; + + /** + * 单位id : 必填 + */ + @NotNull(message = "单位Id不能为空") + private Long ouId; + + /** + * 单位类型 + */ + @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 updateRoleIds; + +} diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/CreateWorkspaceAdminRoleParam.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/CreateWorkspaceAdminRoleParam.java new file mode 100644 index 00000000..5fe62e57 --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/CreateWorkspaceAdminRoleParam.java @@ -0,0 +1,51 @@ +package cn.axzo.tyr.client.model.roleuser.req; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import cn.axzo.tyr.client.common.enums.RoleTypeEnum; +import cn.axzo.tyr.client.model.enums.IdentityType; +import lombok.Data; + +@Data +public class CreateWorkspaceAdminRoleParam { + + /** + * 工作台id,与context校验 + */ + @NotNull(message = "workspaceId不能为空") + private Long workspaceId; + + /** + * 单位id + */ + @NotNull(message = "ouId不能为空") + private Long ouId; + + /** + * 手机号 + */ + @NotBlank(message = "phone不能为空") + private String phone; + + /** + * 昵称 + */ + private String nickName; + + /** + * 角色Id,必填 + * 只能传SUPER_ADMIN,ADMIN + */ + private RoleTypeEnum roleType; + + /** + * 身份类型 + */ + @NotNull(message = "identityType不能为空") + private IdentityType identityType; + + @NotNull(message = "workspaceType不能为空") + private Integer workspaceType; + +} diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/DeleteAdminRoleParam.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/DeleteAdminRoleParam.java new file mode 100644 index 00000000..0d2cbb7e --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/DeleteAdminRoleParam.java @@ -0,0 +1,47 @@ +package cn.axzo.tyr.client.model.roleuser.req; + +import cn.axzo.basics.common.constant.enums.OrganizationalNodeTypeEnum; +import cn.axzo.tyr.client.common.enums.RoleTypeEnum; +import cn.axzo.tyr.client.model.enums.IdentityType; +import lombok.Data; + +@Data +public class DeleteAdminRoleParam { + + /** + * 工作台id,与context校验 + */ + private Long workspaceId; + + /** + * 工作台类型 + */ + private Integer workspaceTypeCode; + + /** + * 单位id : 非必填 + */ + private Long ouId; + + /** + * 单位类型 + */ + private OrganizationalNodeTypeEnum nodeTypeEnum; + + /** + * 被赋予角色的人的身份id + */ + private Long identityId; + + /** + * 身份类型,必填 + */ + private IdentityType identityType; + + /** + * 角色Id,必填 + * 只能传SUPER_ADMIN,ADMIN + */ + private RoleTypeEnum roleType; + +} diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/SuperAdminParam.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/SuperAdminParam.java new file mode 100644 index 00000000..f14a640e --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/SuperAdminParam.java @@ -0,0 +1,33 @@ +package cn.axzo.tyr.client.model.roleuser.req; + +import javax.validation.constraints.NotNull; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author : liuchuntao + * @date : 2022/6/17 16:28 + * @description : 查询超管信息 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class SuperAdminParam { + + /** + * 工作台Id + */ + @NotNull(message = "工作台Id不能为空") + private Long workspaceId; + + /** + * 单位Id + */ + @NotNull(message = "单位Id不能为空") + private Long ouId; + +} diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/roleuser/RoleUserController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/roleuser/RoleUserController.java index 3c3bb6da..407b79dc 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/roleuser/RoleUserController.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/roleuser/RoleUserController.java @@ -2,19 +2,20 @@ package cn.axzo.tyr.server.controller.roleuser; import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.tyr.client.feign.TyrSaasRoleUserApi; +import cn.axzo.tyr.client.model.roleuser.dto.CreateAdminRoleDTO; import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserRelationDTO; -import cn.axzo.tyr.client.model.roleuser.req.DeleteRoleUserParam; -import cn.axzo.tyr.client.model.roleuser.req.DeleteUserRoleParam; -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.dto.SuperAdminInfoDTO; +import cn.axzo.tyr.client.model.roleuser.req.*; import cn.axzo.tyr.server.service.SaasRoleUserRelationService; import cn.axzo.tyr.server.service.SaasRoleUserService; +import com.google.common.collect.Lists; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; +import java.util.ArrayList; import java.util.List; /** @@ -55,4 +56,33 @@ public class RoleUserController implements TyrSaasRoleUserApi { return ApiResult.ok(saasRoleUserService.deleteUserRoles(param)); } + @Override + public ApiResult createAgencyAdminRole(CreateAgencyAdminRoleParam param) { + // todo cn.axzo.basics.auth.api.SaasRoleApi#grantAgencyAdminRole + return ApiResult.ok(new CreateAdminRoleDTO()); + } + + @Override + public ApiResult createWorkspaceAdminRole(List params) { + // todo cn.axzo.basics.auth.api.SaasRoleApi#grantAdminRoleByPhone + return ApiResult.ok(new CreateAdminRoleDTO()); + } + + @Override + public ApiResult deleteAdminRole(List params) { + // todo cn.axzo.basics.auth.api.SaasRoleApi#ungrantAdminRole + return ApiResult.ok(true); + } + + @Override + public ApiResult> superAdminList(List params) { + //todo cn.axzo.basics.auth.api.SaasRoleApi#batchFindSuperAdmin + return ApiResult.ok(new ArrayList<>()); + } + + @Override + public ApiResult superAdmin(SuperAdminParam param) { + // todo cn.axzo.basics.auth.api.SaasRoleApi#findSuperAdmin + return ApiResult.ok(new SuperAdminInfoDTO()); + } }