feat(REQ-2899):前端资源删除接口
This commit is contained in:
parent
cc28bb554a
commit
50e2543702
@ -73,6 +73,11 @@ public enum PermissionRelationOperateLogSceneEnum {
|
||||
*/
|
||||
OMS_UPSERT_PAGE_ELEMENT("OMS_UPSERT_PAGE_ELEMENT", "oms新增、编辑页面元素"),
|
||||
|
||||
/**
|
||||
* oms删除页面元素
|
||||
*/
|
||||
OMS_DELETE_PAGE_ELEMENT("OMS_DELETE_PAGE_ELEMENT", "oms删除页面元素"),
|
||||
|
||||
;
|
||||
|
||||
@EnumValue
|
||||
|
||||
@ -62,7 +62,11 @@ public interface PageElementApi {
|
||||
@PostMapping("/api/pageElement/pageV2")
|
||||
ApiPageResult<PageElementResp> pageV2(@RequestBody @Valid PageQueryElementV2Req req);
|
||||
|
||||
/** 新增、编辑页面元素类型 **/
|
||||
/** 新增、编辑页面元素 **/
|
||||
@PostMapping("/api/pageElement/saveOrUpdate")
|
||||
ApiResult<Void> saveOrUpdate(@RequestBody @Valid SaveOrUpdatePageElementReq req);
|
||||
|
||||
/** 删除页面元素 **/
|
||||
@PostMapping("/api/pageElement/delete")
|
||||
ApiResult<Void> delete(@RequestBody @Valid DeletePageElementReq req);
|
||||
}
|
||||
|
||||
@ -0,0 +1,31 @@
|
||||
package cn.axzo.tyr.client.model.req;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @author likunpeng
|
||||
* @version 1.0
|
||||
* @date 2024/8/21
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DeletePageElementReq {
|
||||
|
||||
@NotNull(message = "ID不能为空")
|
||||
@Min(value = 1, message = "ID有误")
|
||||
private Long id;
|
||||
|
||||
/** 操作人personId **/
|
||||
@NotNull(message = "操作人不能为空")
|
||||
@Min(value = 1, message = "操作人有误")
|
||||
private Long operatorId;
|
||||
}
|
||||
@ -86,4 +86,10 @@ public class PageElementController implements PageElementApi {
|
||||
saasPageElementService.saveOrUpdate(req);
|
||||
return ApiResult.ok();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<Void> delete(DeletePageElementReq req) {
|
||||
saasPageElementService.delete(req);
|
||||
return ApiResult.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@ -81,4 +81,6 @@ public interface SaasPageElementService extends IService<SaasPageElement> {
|
||||
PageResp<PageElementResp> pageV2(PageQueryElementV2Req req);
|
||||
|
||||
Long saveOrUpdate(SaveOrUpdatePageElementReq req);
|
||||
|
||||
void delete(DeletePageElementReq req);
|
||||
}
|
||||
|
||||
@ -47,6 +47,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
@ -529,7 +530,7 @@ public class SaasPageElementServiceImpl extends ServiceImpl<SaasPageElementMappe
|
||||
|
||||
if (Objects.nonNull(req.getId())) {
|
||||
SaasPageElement dbPageElement = saasPageElementDao.getById(req.getId());
|
||||
AssertUtil.notNull(dbPageElement, "页面元素不存在");
|
||||
AssertUtil.notNull(dbPageElement, "页面元素资源不存在");
|
||||
basePageElement.setId(dbPageElement.getId());
|
||||
if (!dbPageElement.getCode().equals(basePageElement.getCode())) {
|
||||
// 校验code唯一
|
||||
@ -583,6 +584,35 @@ public class SaasPageElementServiceImpl extends ServiceImpl<SaasPageElementMappe
|
||||
return basePageElement.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void delete(DeletePageElementReq req) {
|
||||
SaasPageElement dbPageElement = saasPageElementDao.getById(req.getId());
|
||||
AssertUtil.notNull(dbPageElement, "页面元素资源不存在");
|
||||
Set<String> codes = Sets.newHashSet(dbPageElement.getCode());
|
||||
|
||||
if (PageElementTypeEnum.PAGE.getCode().equals(dbPageElement.getType())) {
|
||||
// 删除页面的子元素
|
||||
List<SaasPageElement> pageElements = saasPageElementDao.listByGroupCodesAndExcludeIds(Lists.newArrayList(dbPageElement.getGroupCode()), null, dbPageElement.getTerminal(), null);
|
||||
saasPageElementDao.deleteIdsByTerminal(pageElements.stream().map(BaseEntity::getId).collect(Collectors.toList()), dbPageElement.getTerminal());
|
||||
codes.addAll(pageElements.stream().map(SaasPageElement::getCode).collect(Collectors.toSet()));
|
||||
} else {
|
||||
saasPageElementDao.deleteIdsByTerminal(Lists.newArrayList(req.getId()), dbPageElement.getTerminal());
|
||||
}
|
||||
|
||||
// 删除绑定关系
|
||||
if (CollectionUtils.isNotEmpty(codes)) {
|
||||
saasPageElementFeatureResourceRelationDao.deleteByTerminalAndPageElementCodes(dbPageElement.getTerminal(), Lists.newArrayList(codes), req.getOperatorId());
|
||||
}
|
||||
|
||||
// 记录操作日志
|
||||
try {
|
||||
saveDeleteOperateLog(req, dbPageElement);
|
||||
} catch (Exception e) {
|
||||
log.warn("save operate log error", e);
|
||||
}
|
||||
}
|
||||
|
||||
private PageElementResp from(SaasPageElement saasPageElement,
|
||||
Map<String, List<SaasFeatureResourceResp>> featureResources) {
|
||||
PageElementResp pageElementResp = PageElementResp.builder().build();
|
||||
@ -669,4 +699,15 @@ public class SaasPageElementServiceImpl extends ServiceImpl<SaasPageElementMappe
|
||||
.operateData(basePageElement)
|
||||
.build());
|
||||
}
|
||||
|
||||
private void saveDeleteOperateLog(DeletePageElementReq req, SaasPageElement basePageElement) {
|
||||
saasPgroupPermissionRelationOperateLogService.save(PermissionOperateLogReq.builder()
|
||||
.tableName(PAGE_ELEMENT_TABLE_NAME)
|
||||
.operatorId(req.getOperatorId())
|
||||
.scene(PermissionRelationOperateLogSceneEnum.OMS_DELETE_PAGE_ELEMENT.getValue())
|
||||
.sceneId(basePageElement.getId().toString())
|
||||
.requestData(req)
|
||||
.operateData(basePageElement)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user