feat(REQ-2899):前端资源删除接口
This commit is contained in:
parent
59f0748d2c
commit
bfa8a18432
@ -3,10 +3,7 @@ package cn.axzo.tyr.client.feign;
|
||||
import cn.axzo.framework.domain.web.result.ApiPageResult;
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.model.req.*;
|
||||
import cn.axzo.tyr.client.model.res.FeatureResourcePageElementRelationViewResp;
|
||||
import cn.axzo.tyr.client.model.res.GetUserHasPermissionPageElementResp;
|
||||
import cn.axzo.tyr.client.model.res.ListPageElementCategoryResp;
|
||||
import cn.axzo.tyr.client.model.res.PageElementResp;
|
||||
import cn.axzo.tyr.client.model.res.*;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@ -38,7 +35,7 @@ public interface PageElementApi {
|
||||
|
||||
/** 分页查询页面资源 **/
|
||||
@PostMapping("/api/pageElement/page")
|
||||
ApiPageResult<PageElementResp> page(@RequestBody @Valid PageQueryElementReq req);
|
||||
ApiPageResult<PageElementCategoryAndElementResp> page(@RequestBody @Valid PageQueryElementReq req);
|
||||
|
||||
/** 根据用户传入的页面code,查询用户有权限的元素code **/
|
||||
@PostMapping("/api/pageElement/getUserHasPermissionPageElement")
|
||||
@ -71,7 +68,7 @@ public interface PageElementApi {
|
||||
@PostMapping("/api/pageElement/delete")
|
||||
ApiResult<Void> delete(@RequestBody @Valid DeletePageElementReq req);
|
||||
|
||||
/** 删除页面元素 **/
|
||||
/** 查询页面元素关联关系 **/
|
||||
@PostMapping("/api/pageElement/getFeatureResourceRelations")
|
||||
ApiResult<FeatureResourcePageElementRelationViewResp> getFeatureResourceRelations(@RequestBody @Valid IdReq req);
|
||||
}
|
||||
|
||||
@ -40,10 +40,4 @@ public class GetPageElementReq {
|
||||
*/
|
||||
@Builder.Default
|
||||
private List<Integer> relationTypes = Lists.newArrayList(0, 1);
|
||||
|
||||
/**
|
||||
* 是否按组分组返回
|
||||
*/
|
||||
@Builder.Default
|
||||
private Boolean returnWithGroup = Boolean.FALSE;
|
||||
}
|
||||
|
||||
@ -0,0 +1,26 @@
|
||||
package cn.axzo.tyr.client.model.res;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author likunpeng
|
||||
* @version 1.0
|
||||
* @date 2024/8/27
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PageElementCategoryAndElementResp {
|
||||
/** 项目编码 **/
|
||||
private String itemCode;
|
||||
/** 项目名称 **/
|
||||
private String itemName;
|
||||
/** 元素列表 **/
|
||||
private List<PageElementResp> pageElements;
|
||||
}
|
||||
@ -72,7 +72,10 @@ public class PageElementResp {
|
||||
*/
|
||||
private Boolean selected;
|
||||
|
||||
/** 业务编码 **/
|
||||
private String itemCode;
|
||||
/** 业务名称 **/
|
||||
private String itemName;
|
||||
|
||||
private String linkExt;
|
||||
|
||||
|
||||
@ -4,10 +4,7 @@ import cn.axzo.framework.domain.web.result.ApiPageResult;
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.feign.PageElementApi;
|
||||
import cn.axzo.tyr.client.model.req.*;
|
||||
import cn.axzo.tyr.client.model.res.FeatureResourcePageElementRelationViewResp;
|
||||
import cn.axzo.tyr.client.model.res.GetUserHasPermissionPageElementResp;
|
||||
import cn.axzo.tyr.client.model.res.ListPageElementCategoryResp;
|
||||
import cn.axzo.tyr.client.model.res.PageElementResp;
|
||||
import cn.axzo.tyr.client.model.res.*;
|
||||
import cn.axzo.tyr.server.service.SaasPageElementCategoryService;
|
||||
import cn.axzo.tyr.server.service.SaasPageElementService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@ -47,7 +44,7 @@ public class PageElementController implements PageElementApi {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiPageResult<PageElementResp> page(PageQueryElementReq req) {
|
||||
public ApiPageResult<PageElementCategoryAndElementResp> page(PageQueryElementReq req) {
|
||||
return ApiPageResult.ok(saasPageElementService.page(req));
|
||||
}
|
||||
|
||||
|
||||
@ -2,10 +2,7 @@ package cn.axzo.tyr.server.service;
|
||||
|
||||
import cn.axzo.framework.domain.page.PageResp;
|
||||
import cn.axzo.tyr.client.model.req.*;
|
||||
import cn.axzo.tyr.client.model.res.FeatureResourcePageElementRelationViewResp;
|
||||
import cn.axzo.tyr.client.model.res.GetUserHasPermissionPageElementResp;
|
||||
import cn.axzo.tyr.client.model.res.PageElementBasicDTO;
|
||||
import cn.axzo.tyr.client.model.res.PageElementResp;
|
||||
import cn.axzo.tyr.client.model.res.*;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasPageElement;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
@ -64,7 +61,7 @@ public interface SaasPageElementService extends IService<SaasPageElement> {
|
||||
* @param request 查询条件
|
||||
* @return
|
||||
*/
|
||||
PageResp<PageElementResp> page(PageQueryElementReq request);
|
||||
PageResp<PageElementCategoryAndElementResp> page(PageQueryElementReq request);
|
||||
|
||||
/**
|
||||
* 根据用户传入的页面code,查询用户有权限的元素code
|
||||
|
||||
@ -151,8 +151,7 @@ public class SaasPageElementServiceImpl extends ServiceImpl<SaasPageElementMappe
|
||||
}
|
||||
}
|
||||
}
|
||||
List<PageElementResp> resps = change2PageElementResp(selectedPageElements, selectedIds);
|
||||
return Boolean.TRUE.equals(request.getReturnWithGroup()) ? changeElementsWithGroup(resps) : resps;
|
||||
return change2PageElementResp(selectedPageElements, selectedIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -231,17 +230,21 @@ public class SaasPageElementServiceImpl extends ServiceImpl<SaasPageElementMappe
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResp<PageElementResp> page(PageQueryElementReq request) {
|
||||
public PageResp<PageElementCategoryAndElementResp> page(PageQueryElementReq request) {
|
||||
IPage<SaasPageElement> page = saasPageElementDao.lambdaQuery()
|
||||
.eq(SaasPageElement::getTerminal, request.getTerminal())
|
||||
.in(CollectionUtils.isNotEmpty(request.getElementTypes()), SaasPageElement::getType, request.getElementTypes())
|
||||
.and(StringUtils.isNotBlank(request.getSearchKey()), w -> w.like(SaasPageElement::getCode, request.getSearchKey())
|
||||
.or().like(SaasPageElement::getName, request.getSearchKey())
|
||||
.or().like(SaasPageElement::getLinkUrl, request.getSearchKey()))
|
||||
.or().like(SaasPageElement::getLinkUrl, request.getSearchKey())
|
||||
.or().like(SaasPageElement::getItemCode, request.getSearchKey())
|
||||
.or().like(SaasPageElement::getItemName, request.getSearchKey()))
|
||||
.page(new Page<>(request.getPage(), request.getPageSize()));
|
||||
List<PageElementResp> list = BeanMapper.copyList(page.getRecords(), PageElementResp.class);
|
||||
addComponentElement2Page(request.getTerminal(), list);
|
||||
return PageResp.list(page.getCurrent(), page.getSize(), page.getTotal(), list);
|
||||
|
||||
List<PageElementCategoryAndElementResp> categoryAndElementResps = changeElementWithCategories(list);
|
||||
return PageResp.list(page.getCurrent(), page.getSize(), page.getTotal(), categoryAndElementResps);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -366,6 +369,8 @@ public class SaasPageElementServiceImpl extends ServiceImpl<SaasPageElementMappe
|
||||
List<PageElementResp> pageTypeElements = pageElements.stream().filter(e -> PageElementTypeEnum.PAGE.getCode().equals(e.getType()))
|
||||
.map(e -> PageElementResp.builder()
|
||||
.id(e.getId())
|
||||
.groupCode(e.getGroupCode())
|
||||
.groupName(e.getName())
|
||||
.code(e.getCode())
|
||||
.name(e.getName())
|
||||
.type(e.getType())
|
||||
@ -383,6 +388,8 @@ public class SaasPageElementServiceImpl extends ServiceImpl<SaasPageElementMappe
|
||||
if (Objects.nonNull(pageTypeElement)) {
|
||||
pageTypeElement.getChildren().add(PageElementResp.builder()
|
||||
.id(e.getId())
|
||||
.groupCode(pageTypeElement.getGroupCode())
|
||||
.groupName(pageTypeElement.getGroupName())
|
||||
.code(e.getCode())
|
||||
.name(e.getName())
|
||||
.type(e.getType())
|
||||
@ -879,21 +886,24 @@ public class SaasPageElementServiceImpl extends ServiceImpl<SaasPageElementMappe
|
||||
if (CollectionUtils.isNotEmpty(resource.getChildren())) {
|
||||
resource.getChildren().forEach(e -> recursiveSetElementToResource(e, relationMap, elementBasic));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private List<PageElementResp> changeElementsWithGroup(List<PageElementResp> resps) {
|
||||
if (CollectionUtils.isEmpty(resps)) {
|
||||
return Collections.emptyList();
|
||||
private List<PageElementCategoryAndElementResp> changeElementWithCategories(List<PageElementResp> list) {
|
||||
List<PageElementCategoryAndElementResp> resps = Lists.newArrayList();
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
return resps;
|
||||
}
|
||||
Map<String, PageElementResp> groupCodeEntityMap = resps.stream().collect(Collectors.toMap(PageElementResp::getGroupCode, Function.identity(), (v1, v2) -> v1));
|
||||
Map<String, List<PageElementResp>> groupCodesMap = resps.stream().collect(Collectors.groupingBy(PageElementResp::getGroupCode));
|
||||
List<PageElementResp> result = Lists.newArrayList();
|
||||
groupCodesMap.forEach((k, v) -> {
|
||||
PageElementResp groupEntity = groupCodeEntityMap.get(k);
|
||||
result.add(PageElementResp.builder().groupCode(k).groupName(groupEntity.getGroupName()).children(v).build());
|
||||
Map<String, PageElementResp> itemCodeAndElementMap = list.stream().collect(Collectors.toMap(PageElementResp::getItemCode, Function.identity(), (v1, v2) -> v1));
|
||||
Map<String, List<PageElementResp>> groupingByItemCodes = list.stream().collect(Collectors.groupingBy(PageElementResp::getItemCode));
|
||||
groupingByItemCodes.forEach((k, v) -> {
|
||||
PageElementResp resp = itemCodeAndElementMap.get(k);
|
||||
resps.add(PageElementCategoryAndElementResp.builder()
|
||||
.itemCode(k)
|
||||
.itemName(resp.getItemName())
|
||||
.pageElements(v)
|
||||
.build());
|
||||
});
|
||||
|
||||
return result;
|
||||
return resps;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user