feat(REQ-2699): 刷新cmp资源路由接口
This commit is contained in:
parent
fc0f60e467
commit
836090d129
@ -4,16 +4,14 @@ import cn.axzo.basics.common.constant.enums.DeleteEnum;
|
||||
import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
|
||||
import cn.axzo.basics.common.util.TreeUtil;
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.framework.auth.domain.TerminalInfo;
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.framework.rocketmq.Event;
|
||||
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||
import cn.axzo.tyr.client.common.enums.FeatureResourceType;
|
||||
import cn.axzo.tyr.client.common.enums.PageElementFeatureResourceRelationTypeEnum;
|
||||
import cn.axzo.tyr.client.model.product.ProductSearchListReq;
|
||||
import cn.axzo.tyr.client.model.req.CommonDictQueryReq;
|
||||
import cn.axzo.tyr.client.model.req.GetFeatureResourceTreeReq;
|
||||
import cn.axzo.tyr.client.model.req.PagePgroupPermissionRelationReq;
|
||||
import cn.axzo.tyr.client.model.req.PageProductFeatureRelationReq;
|
||||
import cn.axzo.tyr.client.model.req.PermissionCheckReq;
|
||||
import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq;
|
||||
import cn.axzo.tyr.client.model.req.*;
|
||||
import cn.axzo.tyr.client.model.res.CommonDictResp;
|
||||
import cn.axzo.tyr.client.model.res.FeatureResourceDTO;
|
||||
import cn.axzo.tyr.client.model.res.FeatureResourceTreeNode;
|
||||
@ -27,21 +25,8 @@ import cn.axzo.tyr.server.job.CacheProductPermissionJob;
|
||||
import cn.axzo.tyr.server.job.CacheRoleFeatureResourceJob;
|
||||
import cn.axzo.tyr.server.job.CacheRolePermissionJob;
|
||||
import cn.axzo.tyr.server.job.CacheSaasFeatureJob;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasFeatureDao;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasFeatureResourceDao;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasPgroupPermissionRelationDao;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasPgroupRoleRelationDao;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasRoleDao;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasRoleGroupDao;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasRoleGroupRelationDao;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasFeature;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasFeatureResource;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasPgroupPermissionRelation;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasPgroupRoleRelation;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasProductModuleFeatureRelation;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasRole;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasRoleGroup;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasRoleGroupRelation;
|
||||
import cn.axzo.tyr.server.repository.dao.*;
|
||||
import cn.axzo.tyr.server.repository.entity.*;
|
||||
import cn.axzo.tyr.server.service.ProductFeatureRelationService;
|
||||
import cn.axzo.tyr.server.service.ProductPermissionCacheService;
|
||||
import cn.axzo.tyr.server.service.RolePermissionCacheService;
|
||||
@ -54,6 +39,7 @@ import cn.axzo.tyr.server.service.TyrSaasAuthService;
|
||||
import cn.axzo.tyr.server.service.WorkspaceProductService;
|
||||
import cn.axzo.tyr.server.service.impl.SaasFeatureResourceCacheService;
|
||||
import cn.axzo.tyr.server.util.FeatureCodeUtil;
|
||||
import cn.azxo.framework.common.utils.StringUtils;
|
||||
import com.alibaba.excel.EasyExcel;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -145,6 +131,10 @@ public class PrivateController {
|
||||
private SaasFeatureResourceService saasFeatureResourceService;
|
||||
@Autowired
|
||||
private RolePermissionCacheService rolePermissionCacheService;
|
||||
@Autowired
|
||||
private SaasPageElementDao saasPageElementDao;
|
||||
@Autowired
|
||||
private SaasPageElementFeatureResourceRelationDao saasPageElementFeatureResourceRelationDao;
|
||||
|
||||
/**
|
||||
* 统一层级的roleGroup按照id升序,sort从1递增
|
||||
@ -717,6 +707,56 @@ public class PrivateController {
|
||||
return productPermissionCacheService.list(request);
|
||||
}
|
||||
|
||||
@PostMapping("/api/private/saasPageElement/refreshCmpFeatureResourceLinkUrl")
|
||||
public ApiResult refreshCmpFeatureResourceLinkUrl(@RequestBody RefreshFeatureResourceLinkUrlParam request) {
|
||||
Long startId = 0L;
|
||||
while (true) {
|
||||
List<SaasPageElement> saasPageElements = saasPageElementDao.lambdaQuery()
|
||||
.eq(BaseEntity::getIsDelete, DeleteEnum.NORMAL.getValue())
|
||||
.eq(SaasPageElement::getTerminal, TerminalInfo.NT_CMP_APP_GENERAL)
|
||||
.ne(SaasPageElement::getLinkUrl, StringUtils.EMPTY)
|
||||
.gt(BaseEntity::getId, startId)
|
||||
.orderByAsc(BaseEntity::getId)
|
||||
.last("LIMIT " + request.getPageSize())
|
||||
.list();
|
||||
if (CollectionUtils.isEmpty(saasPageElements)) {
|
||||
return ApiResult.ok();
|
||||
}
|
||||
|
||||
for (SaasPageElement pageElement : saasPageElements) {
|
||||
if (org.apache.commons.lang3.StringUtils.isBlank(pageElement.getLinkUrl())) {
|
||||
continue;
|
||||
}
|
||||
List<SaasPageElementFeatureResourceRelation> relations = saasPageElementFeatureResourceRelationDao.listByPageElementCode(pageElement.getCode(), TerminalInfo.NT_CMP_APP_GENERAL, Lists.newArrayList(PageElementFeatureResourceRelationTypeEnum.PAGE_ROUTE.getValue()));
|
||||
if (org.apache.commons.collections4.CollectionUtils.isEmpty(relations)) {
|
||||
continue;
|
||||
}
|
||||
List<SaasFeatureResource> saasFeatureResources = saasFeatureResourceDao.lambdaQuery()
|
||||
.eq(SaasFeatureResource::getUniCode, relations.get(0).getFeatureResourceUniCode())
|
||||
.eq(SaasFeatureResource::getTerminal, TerminalInfo.NT_CMP_APP_GENERAL)
|
||||
.list();
|
||||
if (org.apache.commons.collections4.CollectionUtils.isEmpty(saasFeatureResources)) {
|
||||
continue;
|
||||
}
|
||||
SaasFeatureResource saasFeatureResource = saasFeatureResources.get(0);
|
||||
if (!FeatureResourceType.APP_ENTRY.getCode().equals(saasFeatureResource.getFeatureType())
|
||||
|| pageElement.getLinkUrl().equals(saasFeatureResource.getLinkUrl())) {
|
||||
continue;
|
||||
}
|
||||
saasFeatureResourceDao.lambdaUpdate()
|
||||
.eq(BaseEntity::getId, saasFeatureResource.getId())
|
||||
.set(SaasFeatureResource::getLinkUrl, pageElement.getLinkUrl())
|
||||
.update();
|
||||
log.info("refreshCmpFeatureResourceLinkUrl SaasFeatureResourceId:{}", saasFeatureResource.getId());
|
||||
}
|
||||
|
||||
|
||||
startId = saasPageElements.get(saasPageElements.size() - 1).getId();
|
||||
}
|
||||
|
||||
// return ApiResult.ok();
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@ -796,4 +836,13 @@ public class PrivateController {
|
||||
|
||||
private List<Long> ids;
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class RefreshFeatureResourceLinkUrlParam {
|
||||
@Builder.Default
|
||||
private Integer pageSize = 10;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user