mirror of https://gitee.com/topiam/eiam
添加应用支持应用分组
parent
31b658372a
commit
7310f9fa5d
|
@ -17,6 +17,8 @@
|
||||||
*/
|
*/
|
||||||
package cn.topiam.employee.application;
|
package cn.topiam.employee.application;
|
||||||
|
|
||||||
|
import cn.topiam.employee.common.entity.app.AppGroupAssociationEntity;
|
||||||
|
import cn.topiam.employee.common.repository.app.AppGroupAssociationRepository;
|
||||||
import org.apache.commons.lang3.RandomStringUtils;
|
import org.apache.commons.lang3.RandomStringUtils;
|
||||||
import org.springframework.util.AlternativeJdkIdGenerator;
|
import org.springframework.util.AlternativeJdkIdGenerator;
|
||||||
import org.springframework.util.IdGenerator;
|
import org.springframework.util.IdGenerator;
|
||||||
|
@ -33,6 +35,9 @@ import cn.topiam.employee.common.repository.app.AppRepository;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* AbstractApplicationService
|
* AbstractApplicationService
|
||||||
*
|
*
|
||||||
|
@ -55,7 +60,7 @@ public abstract class AbstractApplicationService implements ApplicationService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AppEntity createApp(String name, String icon, String remark, Long groupId,
|
public AppEntity createApp(String name, String icon, String remark, Long[] groupId,
|
||||||
InitLoginType initLoginType, AuthorizationType authorizationType) {
|
InitLoginType initLoginType, AuthorizationType authorizationType) {
|
||||||
AppEntity appEntity = new AppEntity();
|
AppEntity appEntity = new AppEntity();
|
||||||
appEntity.setName(name);
|
appEntity.setName(name);
|
||||||
|
@ -70,28 +75,44 @@ public abstract class AbstractApplicationService implements ApplicationService {
|
||||||
appEntity.setInitLoginType(initLoginType);
|
appEntity.setInitLoginType(initLoginType);
|
||||||
appEntity.setAuthorizationType(authorizationType);
|
appEntity.setAuthorizationType(authorizationType);
|
||||||
appEntity.setRemark(remark);
|
appEntity.setRemark(remark);
|
||||||
return appRepository.save(appEntity);
|
appRepository.save(appEntity);
|
||||||
|
List<AppGroupAssociationEntity> list = new ArrayList<>();
|
||||||
|
for (Long id : groupId) {
|
||||||
|
AppGroupAssociationEntity appGroupAssociationEntity = new AppGroupAssociationEntity();
|
||||||
|
appGroupAssociationEntity.setGroupId(id);
|
||||||
|
appGroupAssociationEntity.setAppId(appEntity.getId());
|
||||||
|
list.add(appGroupAssociationEntity);
|
||||||
|
}
|
||||||
|
appGroupAssociationRepository.saveAll(list);
|
||||||
|
return appEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* AppAccountRepository
|
* AppAccountRepository
|
||||||
*/
|
*/
|
||||||
protected final AppAccountRepository appAccountRepository;
|
protected final AppAccountRepository appAccountRepository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* AppGroupAssociationRepository
|
||||||
|
*/
|
||||||
|
protected final AppGroupAssociationRepository appGroupAssociationRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ApplicationRepository
|
* ApplicationRepository
|
||||||
*/
|
*/
|
||||||
protected final AppRepository appRepository;
|
protected final AppRepository appRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IdGenerator
|
* IdGenerator
|
||||||
*/
|
*/
|
||||||
protected final IdGenerator idGenerator;
|
protected final IdGenerator idGenerator;
|
||||||
|
|
||||||
protected AbstractApplicationService(AppAccountRepository appAccountRepository,
|
protected AbstractApplicationService(AppAccountRepository appAccountRepository,
|
||||||
|
AppGroupAssociationRepository appGroupAssociationRepository,
|
||||||
AppRepository appRepository) {
|
AppRepository appRepository) {
|
||||||
this.appAccountRepository = appAccountRepository;
|
this.appAccountRepository = appAccountRepository;
|
||||||
this.appRepository = appRepository;
|
this.appRepository = appRepository;
|
||||||
|
this.appGroupAssociationRepository = appGroupAssociationRepository;
|
||||||
this.idGenerator = new AlternativeJdkIdGenerator();
|
this.idGenerator = new AlternativeJdkIdGenerator();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@ import java.time.LocalDateTime;
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
import cn.topiam.employee.common.repository.app.*;
|
||||||
import org.bouncycastle.asn1.x500.X500Name;
|
import org.bouncycastle.asn1.x500.X500Name;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -32,10 +33,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
|
||||||
import cn.topiam.employee.common.entity.app.AppCertEntity;
|
import cn.topiam.employee.common.entity.app.AppCertEntity;
|
||||||
import cn.topiam.employee.common.enums.app.AppCertUsingType;
|
import cn.topiam.employee.common.enums.app.AppCertUsingType;
|
||||||
import cn.topiam.employee.common.repository.app.AppAccessPolicyRepository;
|
|
||||||
import cn.topiam.employee.common.repository.app.AppAccountRepository;
|
|
||||||
import cn.topiam.employee.common.repository.app.AppCertRepository;
|
|
||||||
import cn.topiam.employee.common.repository.app.AppRepository;
|
|
||||||
import cn.topiam.employee.support.exception.TopIamException;
|
import cn.topiam.employee.support.exception.TopIamException;
|
||||||
import cn.topiam.employee.support.util.CertUtils;
|
import cn.topiam.employee.support.util.CertUtils;
|
||||||
import cn.topiam.employee.support.util.RsaUtils;
|
import cn.topiam.employee.support.util.RsaUtils;
|
||||||
|
@ -128,8 +125,9 @@ public abstract class AbstractCertificateApplicationService extends AbstractAppl
|
||||||
protected AbstractCertificateApplicationService(AppCertRepository appCertRepository,
|
protected AbstractCertificateApplicationService(AppCertRepository appCertRepository,
|
||||||
AppAccountRepository appAccountRepository,
|
AppAccountRepository appAccountRepository,
|
||||||
AppAccessPolicyRepository appAccessPolicyRepository,
|
AppAccessPolicyRepository appAccessPolicyRepository,
|
||||||
|
AppGroupAssociationRepository appGroupAssociationRepository,
|
||||||
AppRepository appRepository) {
|
AppRepository appRepository) {
|
||||||
super(appAccountRepository, appRepository);
|
super(appAccountRepository, appGroupAssociationRepository, appRepository);
|
||||||
this.appCertRepository = appCertRepository;
|
this.appCertRepository = appCertRepository;
|
||||||
this.appAccessPolicyRepository = appAccessPolicyRepository;
|
this.appAccessPolicyRepository = appAccessPolicyRepository;
|
||||||
this.idGenerator = new AlternativeJdkIdGenerator();
|
this.idGenerator = new AlternativeJdkIdGenerator();
|
||||||
|
|
|
@ -96,7 +96,7 @@ public interface ApplicationService {
|
||||||
* @return {@link Long} 应用ID
|
* @return {@link Long} 应用ID
|
||||||
*/
|
*/
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
String create(String name, String icon, String remark, Long groupId);
|
String create(String name, String icon, String remark, Long[] groupId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除应用
|
* 删除应用
|
||||||
|
@ -142,6 +142,6 @@ public interface ApplicationService {
|
||||||
* @param authorizationType {@link AuthorizationType}
|
* @param authorizationType {@link AuthorizationType}
|
||||||
* @return {@link AppEntity}
|
* @return {@link AppEntity}
|
||||||
*/
|
*/
|
||||||
AppEntity createApp(String name, String icon, String remark, Long groupId,
|
AppEntity createApp(String name, String icon, String remark, Long[] groupId,
|
||||||
InitLoginType initLoginType, AuthorizationType authorizationType);
|
InitLoginType initLoginType, AuthorizationType authorizationType);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ import cn.topiam.employee.common.entity.app.AppFormConfigEntity;
|
||||||
import cn.topiam.employee.common.entity.app.po.AppFormConfigPO;
|
import cn.topiam.employee.common.entity.app.po.AppFormConfigPO;
|
||||||
import cn.topiam.employee.common.repository.app.AppAccountRepository;
|
import cn.topiam.employee.common.repository.app.AppAccountRepository;
|
||||||
import cn.topiam.employee.common.repository.app.AppFormConfigRepository;
|
import cn.topiam.employee.common.repository.app.AppFormConfigRepository;
|
||||||
|
import cn.topiam.employee.common.repository.app.AppGroupAssociationRepository;
|
||||||
import cn.topiam.employee.common.repository.app.AppRepository;
|
import cn.topiam.employee.common.repository.app.AppRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -83,8 +84,9 @@ public abstract class AbstractFormApplicationService extends AbstractApplication
|
||||||
|
|
||||||
protected AbstractFormApplicationService(AppRepository appRepository,
|
protected AbstractFormApplicationService(AppRepository appRepository,
|
||||||
AppAccountRepository appAccountRepository,
|
AppAccountRepository appAccountRepository,
|
||||||
|
AppGroupAssociationRepository appGroupAssociationRepository,
|
||||||
AppFormConfigRepository appFormConfigRepository) {
|
AppFormConfigRepository appFormConfigRepository) {
|
||||||
super(appAccountRepository, appRepository);
|
super(appAccountRepository, appGroupAssociationRepository, appRepository);
|
||||||
this.appFormConfigRepository = appFormConfigRepository;
|
this.appFormConfigRepository = appFormConfigRepository;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import cn.topiam.employee.common.repository.app.AppGroupAssociationRepository;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
@ -199,7 +200,7 @@ public class FormStandardApplicationServiceImpl extends AbstractFormApplicationS
|
||||||
* @param groupId {@link Long} 分组id
|
* @param groupId {@link Long} 分组id
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String create(String name, String icon, String remark, Long groupId) {
|
public String create(String name, String icon, String remark, Long[] groupId) {
|
||||||
//1、创建应用
|
//1、创建应用
|
||||||
AppEntity appEntity = createApp(name, icon, remark, groupId, InitLoginType.PORTAL_OR_APP,
|
AppEntity appEntity = createApp(name, icon, remark, groupId, InitLoginType.PORTAL_OR_APP,
|
||||||
AuthorizationType.AUTHORIZATION);
|
AuthorizationType.AUTHORIZATION);
|
||||||
|
@ -216,8 +217,10 @@ public class FormStandardApplicationServiceImpl extends AbstractFormApplicationS
|
||||||
protected FormStandardApplicationServiceImpl(AppAccountRepository appAccountRepository,
|
protected FormStandardApplicationServiceImpl(AppAccountRepository appAccountRepository,
|
||||||
AppFormConfigRepository appFormConfigRepository,
|
AppFormConfigRepository appFormConfigRepository,
|
||||||
AppRepository appRepository,
|
AppRepository appRepository,
|
||||||
|
AppGroupAssociationRepository appGroupAssociationRepository,
|
||||||
AppFormConfigConverter appFormConfigConverter) {
|
AppFormConfigConverter appFormConfigConverter) {
|
||||||
super(appRepository, appAccountRepository, appFormConfigRepository);
|
super(appRepository, appAccountRepository, appGroupAssociationRepository,
|
||||||
|
appFormConfigRepository);
|
||||||
this.appFormConfigConverter = appFormConfigConverter;
|
this.appFormConfigConverter = appFormConfigConverter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -102,8 +102,10 @@ public abstract class AbstractJwtCertificateApplicationService extends
|
||||||
AppCertRepository appCertRepository,
|
AppCertRepository appCertRepository,
|
||||||
AppRepository appRepository,
|
AppRepository appRepository,
|
||||||
AppAccountRepository appAccountRepository,
|
AppAccountRepository appAccountRepository,
|
||||||
|
AppGroupAssociationRepository appGroupAssociationRepository,
|
||||||
AppAccessPolicyRepository appAccessPolicyRepository) {
|
AppAccessPolicyRepository appAccessPolicyRepository) {
|
||||||
super(appCertRepository, appAccountRepository, appAccessPolicyRepository, appRepository);
|
super(appCertRepository, appAccountRepository, appAccessPolicyRepository,
|
||||||
|
appGroupAssociationRepository, appRepository);
|
||||||
this.appCertRepository = appCertRepository;
|
this.appCertRepository = appCertRepository;
|
||||||
this.appRepository = appRepository;
|
this.appRepository = appRepository;
|
||||||
this.appJwtConfigRepository = appJwtConfigRepository;
|
this.appJwtConfigRepository = appJwtConfigRepository;
|
||||||
|
|
|
@ -204,7 +204,7 @@ public class JwtStandardCertificateApplicationServiceImpl extends
|
||||||
* @param groupId {@link Long} 分组id
|
* @param groupId {@link Long} 分组id
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String create(String name, String icon, String remark, Long groupId) {
|
public String create(String name, String icon, String remark, Long[] groupId) {
|
||||||
//1、创建应用
|
//1、创建应用
|
||||||
AppEntity appEntity = createApp(name, icon, remark, groupId, InitLoginType.PORTAL_OR_APP,
|
AppEntity appEntity = createApp(name, icon, remark, groupId, InitLoginType.PORTAL_OR_APP,
|
||||||
AuthorizationType.AUTHORIZATION);
|
AuthorizationType.AUTHORIZATION);
|
||||||
|
@ -229,9 +229,10 @@ public class JwtStandardCertificateApplicationServiceImpl extends
|
||||||
AppCertRepository appCertRepository,
|
AppCertRepository appCertRepository,
|
||||||
AppRepository appRepository,
|
AppRepository appRepository,
|
||||||
AppAccountRepository appAccountRepository,
|
AppAccountRepository appAccountRepository,
|
||||||
|
AppGroupAssociationRepository appGroupAssociationRepository,
|
||||||
AppAccessPolicyRepository appAccessPolicyRepository) {
|
AppAccessPolicyRepository appAccessPolicyRepository) {
|
||||||
super(appJwtConfigRepository, appCertRepository, appRepository, appAccountRepository,
|
super(appJwtConfigRepository, appCertRepository, appRepository, appAccountRepository,
|
||||||
appAccessPolicyRepository);
|
appGroupAssociationRepository, appAccessPolicyRepository);
|
||||||
this.appJwtConfigConverter = appJwtConfigConverter;
|
this.appJwtConfigConverter = appJwtConfigConverter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -137,8 +137,10 @@ public abstract class AbstractOidcCertificateApplicationService extends
|
||||||
AppAccountRepository appAccountRepository,
|
AppAccountRepository appAccountRepository,
|
||||||
AppAccessPolicyRepository appAccessPolicyRepository,
|
AppAccessPolicyRepository appAccessPolicyRepository,
|
||||||
AppRepository appRepository,
|
AppRepository appRepository,
|
||||||
|
AppGroupAssociationRepository appGroupAssociationRepository,
|
||||||
AppOidcConfigRepository appOidcConfigRepository) {
|
AppOidcConfigRepository appOidcConfigRepository) {
|
||||||
super(appCertRepository, appAccountRepository, appAccessPolicyRepository, appRepository);
|
super(appCertRepository, appAccountRepository, appAccessPolicyRepository,
|
||||||
|
appGroupAssociationRepository, appRepository);
|
||||||
this.appCertRepository = appCertRepository;
|
this.appCertRepository = appCertRepository;
|
||||||
this.appRepository = appRepository;
|
this.appRepository = appRepository;
|
||||||
this.appOidcConfigRepository = appOidcConfigRepository;
|
this.appOidcConfigRepository = appOidcConfigRepository;
|
||||||
|
|
|
@ -78,7 +78,7 @@ public class OidcStandardCertificateApplicationServiceImpl extends
|
||||||
* @param groupId {@link Long} 分组id
|
* @param groupId {@link Long} 分组id
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String create(String name, String icon, String remark, Long groupId) {
|
public String create(String name, String icon, String remark, Long[] groupId) {
|
||||||
//1、创建应用
|
//1、创建应用
|
||||||
AppEntity appEntity = createApp(name, icon, remark, groupId, InitLoginType.APP,
|
AppEntity appEntity = createApp(name, icon, remark, groupId, InitLoginType.APP,
|
||||||
AuthorizationType.AUTHORIZATION);
|
AuthorizationType.AUTHORIZATION);
|
||||||
|
@ -275,9 +275,10 @@ public class OidcStandardCertificateApplicationServiceImpl extends
|
||||||
AppAccessPolicyRepository appAccessPolicyRepository,
|
AppAccessPolicyRepository appAccessPolicyRepository,
|
||||||
AppRepository appRepository,
|
AppRepository appRepository,
|
||||||
AppOidcConfigRepository appOidcConfigRepository,
|
AppOidcConfigRepository appOidcConfigRepository,
|
||||||
|
AppGroupAssociationRepository appGroupAssociationRepository,
|
||||||
AppOidcStandardConfigConverter appOidcStandardConfigConverter) {
|
AppOidcStandardConfigConverter appOidcStandardConfigConverter) {
|
||||||
super(appCertRepository, appAccountRepository, appAccessPolicyRepository, appRepository,
|
super(appCertRepository, appAccountRepository, appAccessPolicyRepository, appRepository,
|
||||||
appOidcConfigRepository);
|
appGroupAssociationRepository, appOidcConfigRepository);
|
||||||
this.appOidcStandardConfigConverter = appOidcStandardConfigConverter;
|
this.appOidcStandardConfigConverter = appOidcStandardConfigConverter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -182,13 +182,6 @@ public class AppEventType {
|
||||||
public static Type DELETE_APP_GROUP = new Type("eiam:event:app_group:delete",
|
public static Type DELETE_APP_GROUP = new Type("eiam:event:app_group:delete",
|
||||||
"删除应用分组", APP_GROUP_RESOURCE, List.of(UserType.ADMIN));
|
"删除应用分组", APP_GROUP_RESOURCE, List.of(UserType.ADMIN));
|
||||||
|
|
||||||
/**
|
|
||||||
* 添加应用分组关联
|
|
||||||
*/
|
|
||||||
public static Type ADD_APP_GROUP_ASSOCIATION = new Type(
|
|
||||||
"eiam:event:add_app_group_association", "添加应用分组关联", APP_GROUP_RESOURCE,
|
|
||||||
List.of(UserType.ADMIN));
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 移除应用分组关联
|
* 移除应用分组关联
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -504,10 +504,6 @@ public enum EventType {
|
||||||
* 删除应用分组
|
* 删除应用分组
|
||||||
*/
|
*/
|
||||||
DELETE_APP_GROUP(AppEventType.DELETE_APP_GROUP),
|
DELETE_APP_GROUP(AppEventType.DELETE_APP_GROUP),
|
||||||
/**
|
|
||||||
* 添加应用组关联
|
|
||||||
*/
|
|
||||||
ADD_APP_GROUP_ASSOCIATION(AppEventType.ADD_APP_GROUP_ASSOCIATION),
|
|
||||||
/**
|
/**
|
||||||
* 移除应用组关联
|
* 移除应用组关联
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -176,25 +176,6 @@ public class AppGroupController {
|
||||||
return ApiRestResult.<Boolean> builder().result(result).build();
|
return ApiRestResult.<Boolean> builder().result(result).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 添加分组用户
|
|
||||||
*
|
|
||||||
* @param appIds {@link String}
|
|
||||||
* @return {@link Boolean}
|
|
||||||
*/
|
|
||||||
@Lock
|
|
||||||
@Preview
|
|
||||||
@Validated
|
|
||||||
@Operation(summary = "添加应用组关联")
|
|
||||||
@Audit(type = EventType.ADD_APP_GROUP_ASSOCIATION)
|
|
||||||
@PostMapping(value = "/add_association/{id}")
|
|
||||||
@PreAuthorize(value = "authenticated and @sae.hasAuthority(T(cn.topiam.employee.support.security.userdetails.UserType).ADMIN)")
|
|
||||||
public ApiRestResult<Boolean> addAssociation(@PathVariable(value = "id") String id,
|
|
||||||
@Parameter(description = "应用ID") String[] appIds) {
|
|
||||||
return ApiRestResult.<Boolean> builder().result(appGroupService.addAssociation(id, appIds))
|
|
||||||
.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 移除分组用户
|
* 移除分组用户
|
||||||
*
|
*
|
||||||
|
|
|
@ -73,7 +73,7 @@ public interface AppGroupConverter {
|
||||||
* @param appGroupPo {@link AppGroupPO}
|
* @param appGroupPo {@link AppGroupPO}
|
||||||
* @return {@link AppGroupListResult}
|
* @return {@link AppGroupListResult}
|
||||||
*/
|
*/
|
||||||
AppGroupListResult entityConvertToAppGroupListResult(AppGroupPO appGroupPo);
|
AppGroupListResult entityConvertToAppGroupListResult(AppGroupPO appGroupPo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 实体转分组返回
|
* 实体转分组返回
|
||||||
|
@ -81,7 +81,7 @@ public interface AppGroupConverter {
|
||||||
* @param entity {@link AppGroupEntity}
|
* @param entity {@link AppGroupEntity}
|
||||||
* @return {@link AppGroupGetResult}
|
* @return {@link AppGroupGetResult}
|
||||||
*/
|
*/
|
||||||
AppGroupGetResult entityConvertToAppGroupResult(AppGroupEntity entity);
|
AppGroupGetResult entityConvertToAppGroupResult(AppGroupEntity entity);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将分组修改对象转换为entity
|
* 将分组修改对象转换为entity
|
||||||
|
|
|
@ -51,12 +51,6 @@ public class AppGroupGetResult implements Serializable {
|
||||||
@Parameter(description = "分组编码")
|
@Parameter(description = "分组编码")
|
||||||
private String code;
|
private String code;
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否启用
|
|
||||||
*/
|
|
||||||
@Parameter(description = "分组是否启用")
|
|
||||||
private Boolean enabled;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -39,25 +39,19 @@ public class AppGroupListResult implements Serializable {
|
||||||
* ID
|
* ID
|
||||||
*/
|
*/
|
||||||
@Parameter(description = "ID")
|
@Parameter(description = "ID")
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分组名称
|
* 分组名称
|
||||||
*/
|
*/
|
||||||
@Parameter(description = "分组名称")
|
@Parameter(description = "分组名称")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分组编码
|
* 分组编码
|
||||||
*/
|
*/
|
||||||
@Parameter(description = "分组编码")
|
@Parameter(description = "分组编码")
|
||||||
private String code;
|
private String code;
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否启用
|
|
||||||
*/
|
|
||||||
@Parameter(description = "是否启用")
|
|
||||||
private Boolean enabled;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
|
@ -69,6 +63,6 @@ public class AppGroupListResult implements Serializable {
|
||||||
* 备注
|
* 备注
|
||||||
*/
|
*/
|
||||||
@Parameter(description = "备注")
|
@Parameter(description = "备注")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,6 +64,6 @@ public class AppCreateParam implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 应用分组id
|
* 应用分组id
|
||||||
*/
|
*/
|
||||||
@Schema(description = "应用分组id")
|
@Schema(description = "应用分组ID")
|
||||||
private Long groupId;
|
private Long[] groupId;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ import java.io.Serializable;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
|
||||||
|
@ -53,5 +54,4 @@ public class AppGroupCreateParam implements Serializable {
|
||||||
*/
|
*/
|
||||||
@Schema(description = "备注")
|
@Schema(description = "备注")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,23 +39,23 @@ public class AppGroupUpdateParam implements Serializable {
|
||||||
*/
|
*/
|
||||||
@Schema(description = "分组id")
|
@Schema(description = "分组id")
|
||||||
@NotNull(message = "ID不能为空")
|
@NotNull(message = "ID不能为空")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分组名称
|
* 分组名称
|
||||||
*/
|
*/
|
||||||
@Schema(description = "分组名称")
|
@Schema(description = "分组名称")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分组排序
|
* 分组排序
|
||||||
*/
|
*/
|
||||||
@Schema(description = "分组编码")
|
@Schema(description = "分组编码")
|
||||||
private String code;
|
private String code;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备注
|
* 备注
|
||||||
*/
|
*/
|
||||||
@Schema(description = "备注")
|
@Schema(description = "备注")
|
||||||
private String remark;
|
private String remark;
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,8 +78,8 @@ public class AppGroupServiceImpl implements AppGroupService {
|
||||||
@Override
|
@Override
|
||||||
public Page<AppGroupListResult> getAppGroupList(PageModel pageModel, AppGroupQuery query) {
|
public Page<AppGroupListResult> getAppGroupList(PageModel pageModel, AppGroupQuery query) {
|
||||||
//查询映射
|
//查询映射
|
||||||
org.springframework.data.domain.Page<AppGroupPO> list = appGroupRepository
|
org.springframework.data.domain.Page<AppGroupPO> list = appGroupRepository.getAppGroupList(
|
||||||
.getAppGroupList(query, PageRequest.of(pageModel.getCurrent(), pageModel.getPageSize()));
|
query, PageRequest.of(pageModel.getCurrent(), pageModel.getPageSize()));
|
||||||
return appGroupConverter.entityConvertToAppGroupListResult(list);
|
return appGroupConverter.entityConvertToAppGroupListResult(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,7 +92,6 @@ public class AppGroupServiceImpl implements AppGroupService {
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean createAppGroup(AppGroupCreateParam param) {
|
public Boolean createAppGroup(AppGroupCreateParam param) {
|
||||||
// TODO 创建后没有数据权限
|
|
||||||
AppGroupEntity entity = appGroupConverter.appGroupCreateParamConvertToEntity(param);
|
AppGroupEntity entity = appGroupConverter.appGroupCreateParamConvertToEntity(param);
|
||||||
appGroupRepository.save(entity);
|
appGroupRepository.save(entity);
|
||||||
AuditContext.setTarget(
|
AuditContext.setTarget(
|
||||||
|
@ -230,7 +229,7 @@ public class AppGroupServiceImpl implements AppGroupService {
|
||||||
* 批量移除应用
|
* 批量移除应用
|
||||||
*
|
*
|
||||||
* @param appIds {@link String}
|
* @param appIds {@link String}
|
||||||
* @param id {@link String}
|
* @param id {@link String}
|
||||||
* @return {@link Boolean}
|
* @return {@link Boolean}
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue