feat(REQ-2845): 政务端新增端

This commit is contained in:
李昆鹏 2024-08-12 14:49:03 +08:00
parent b3341bfa38
commit d246b08585
3 changed files with 19 additions and 4 deletions

View File

@ -53,6 +53,8 @@ public interface SaasFeatureResourceService extends IService<SaasFeatureResource
List<SaasFeatureResource> listByParentIdAndTerminalAndIds(Long parentId, String terminal, List<Long> featureIds);
List<SaasFeatureResource> listByParentIdAndBlurTerminalAndIds(Long parentId, String terminal, List<Long> featureIds);
List<SaasFeatureResourceResp> list(PageSaasFeatureResourceReq param);
PageResp<SaasFeatureResourceResp> page(PageSaasFeatureResourceReq param);

View File

@ -4,7 +4,6 @@ import cn.axzo.basics.common.BeanMapper;
import cn.axzo.basics.common.util.AssertUtil;
import cn.axzo.basics.profiles.api.UserProfileServiceApi;
import cn.axzo.basics.profiles.dto.basic.PersonProfileDto;
import cn.axzo.framework.auth.domain.TerminalInfo;
import cn.axzo.framework.domain.page.PageResp;
import cn.axzo.framework.domain.web.result.ApiPageResult;
import cn.axzo.framework.domain.web.result.ApiResult;
@ -78,6 +77,10 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor
@Service
public class ProductServiceImpl implements ProductService {
/** 政务端前缀 **/
private static final String PREFIX_TERMINAL_GA = "NT_PC_GA_";
private final ProductModuleDao productModuleDao;
private final ProductFeatureRelationService productFeatureRelationService;
private final SaasFeatureResourceService saasFeatureResourceService;
@ -287,7 +290,7 @@ public class ProductServiceImpl implements ProductService {
@Override
public ApiResult<List<GovernmentTerminalResp>> getGovernmentTerminal(String terminal) {
List<SaasFeatureResource> featureResources = saasFeatureResourceService.listByParentIdAndTerminalAndIds(0L, terminal, null);
List<SaasFeatureResource> featureResources = saasFeatureResourceService.listByParentIdAndBlurTerminalAndIds(0L, terminal, null);
List<GovernmentTerminalResp> resps = CollectionUtil.isEmpty(featureResources) ? Collections.emptyList() : featureResources.stream().map(e -> GovernmentTerminalResp.builder()
.featureResourceId(e.getId())
.featureResourceName(e.getFeatureName())
@ -402,7 +405,7 @@ public class ProductServiceImpl implements ProductService {
List<SaasFeatureResource> saasFeatureResources = saasFeatureResourceService.listByParentIdAndTerminalAndIds(null, null, rootFeatureIds);
AssertUtil.notEmpty(saasFeatureResources, "功能范围选择端不能为空");
saasFeatureResources.forEach(e -> {
AssertUtil.isTrue(e.getParentId() == 0 && TerminalInfo.NT_PC_GA_GENERAL.equals(e.getTerminal()), "功能范围选择端有误");
AssertUtil.isTrue(e.getParentId() == 0 && e.getTerminal().startsWith(PREFIX_TERMINAL_GA), "功能范围选择端有误");
});
List<SaasFeatureResource> frs = saasFeatureResourceService.batchListDescendant(rootFeatureIds);
@ -468,7 +471,7 @@ public class ProductServiceImpl implements ProductService {
}
product.setRelationType(result.getData().get(0).getType());
List<Long> featureIds = result.getData().stream().map(ProductFeatureRelationVO::getFeatureId).collect(Collectors.toList());
List<SaasFeatureResource> featureResources = saasFeatureResourceService.listByParentIdAndTerminalAndIds(0L, TerminalInfo.NT_PC_GA_GENERAL, featureIds);
List<SaasFeatureResource> featureResources = saasFeatureResourceService.listByParentIdAndBlurTerminalAndIds(0L, PREFIX_TERMINAL_GA, featureIds);
if (CollectionUtil.isNotEmpty(featureResources)) {
product.setFeatureScopes(featureResources.stream().map(e -> ProductVO.FeatureScope.builder()
.governmentFeatureResourceId(e.getId())

View File

@ -500,6 +500,16 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
.list();
}
@Override
public List<SaasFeatureResource> listByParentIdAndBlurTerminalAndIds(Long parentId, String terminal, List<Long> featureIds) {
return featureResourceDao.lambdaQuery()
.eq(BaseEntity::getIsDelete, 0)
.eq(Objects.nonNull(parentId), SaasFeatureResource::getParentId, parentId)
.likeRight(StringUtils.isNotBlank(terminal), SaasFeatureResource::getTerminal, terminal)
.in(CollectionUtil.isNotEmpty(featureIds), SaasFeatureResource::getId, featureIds)
.list();
}
@Override
public List<SaasFeatureResourceResp> list(PageSaasFeatureResourceReq param) {
return PageConverter.drainAll(pageNumber -> {