feat(REQ-2899):前端资源新增、编辑接口调整
This commit is contained in:
parent
7113284251
commit
cc28bb554a
@ -1,6 +1,5 @@
|
||||
package cn.axzo.tyr.client.feign;
|
||||
|
||||
import cn.axzo.framework.domain.page.Page;
|
||||
import cn.axzo.framework.domain.web.result.ApiPageResult;
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.model.req.*;
|
||||
@ -64,10 +63,6 @@ public interface PageElementApi {
|
||||
ApiPageResult<PageElementResp> pageV2(@RequestBody @Valid PageQueryElementV2Req req);
|
||||
|
||||
/** 新增、编辑页面元素类型 **/
|
||||
@PostMapping("/api/pageElement/saveOrUpdatePage")
|
||||
ApiResult<Void> saveOrUpdatePage(@RequestBody @Valid SaveOrUpdatePageElementPageReq req);
|
||||
|
||||
/** 新增、编辑页面组件元素类型 **/
|
||||
@PostMapping("/api/pageElement/saveOrUpdateComponent")
|
||||
ApiResult<Void> saveOrUpdateComponent(@RequestBody @Valid SaveOrUpdatePageElementComponentReq req);
|
||||
@PostMapping("/api/pageElement/saveOrUpdate")
|
||||
ApiResult<Void> saveOrUpdate(@RequestBody @Valid SaveOrUpdatePageElementReq req);
|
||||
}
|
||||
|
||||
@ -1,42 +0,0 @@
|
||||
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 SaveOrUpdatePageElementComponentReq {
|
||||
|
||||
private Long id;
|
||||
|
||||
/** 分组ID **/
|
||||
@NotNull(message = "分组ID不能为空")
|
||||
@Min(value = 1, message = "分组ID有误")
|
||||
private Long pageId;
|
||||
|
||||
/** 项目编码 **/
|
||||
@NotBlank(message = "项目编码不能为空")
|
||||
private String code;
|
||||
|
||||
/** 元素名称 **/
|
||||
@NotBlank(message = "元素名称不能为空")
|
||||
private String name;
|
||||
|
||||
/** 操作人personId **/
|
||||
@NotNull(message = "操作人不能为空")
|
||||
@Min(value = 1, message = "操作人有误")
|
||||
private Long operatorId;
|
||||
}
|
||||
@ -18,14 +18,20 @@ import javax.validation.constraints.NotNull;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SaveOrUpdatePageElementPageReq {
|
||||
public class SaveOrUpdatePageElementReq {
|
||||
|
||||
private Long id;
|
||||
|
||||
/** 项目编码 **/
|
||||
@NotBlank(message = "项目编码不能为空")
|
||||
private String itemCode;
|
||||
|
||||
/** 分组ID **/
|
||||
private Long pageId;
|
||||
|
||||
/** 页面元素类型:PAGE/COMPONENT **/
|
||||
@NotBlank(message = "页面元素类型不能为空")
|
||||
private String type;
|
||||
|
||||
/** 项目编码 **/
|
||||
@NotBlank(message = "项目编码不能为空")
|
||||
private String code;
|
||||
@ -82,14 +82,8 @@ public class PageElementController implements PageElementApi {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<Void> saveOrUpdatePage(SaveOrUpdatePageElementPageReq req) {
|
||||
saasPageElementService.saveOrUpdatePage(req);
|
||||
return ApiResult.ok();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<Void> saveOrUpdateComponent(SaveOrUpdatePageElementComponentReq req) {
|
||||
saasPageElementService.saveOrUpdateComponent(req);
|
||||
public ApiResult<Void> saveOrUpdate(SaveOrUpdatePageElementReq req) {
|
||||
saasPageElementService.saveOrUpdate(req);
|
||||
return ApiResult.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@ -80,7 +80,5 @@ public interface SaasPageElementService extends IService<SaasPageElement> {
|
||||
|
||||
PageResp<PageElementResp> pageV2(PageQueryElementV2Req req);
|
||||
|
||||
Long saveOrUpdatePage(SaveOrUpdatePageElementPageReq req);
|
||||
|
||||
Long saveOrUpdateComponent(SaveOrUpdatePageElementComponentReq req);
|
||||
Long saveOrUpdate(SaveOrUpdatePageElementReq req);
|
||||
}
|
||||
|
||||
@ -513,26 +513,18 @@ public class SaasPageElementServiceImpl extends ServiceImpl<SaasPageElementMappe
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long saveOrUpdatePage(SaveOrUpdatePageElementPageReq req) {
|
||||
List<SaasPageElementCategory> categories = saasPageElementCategoryDao.lambdaQuery()
|
||||
.eq(BaseEntity::getIsDelete, DeleteEnum.NORMAL.getValue())
|
||||
.eq(SaasPageElementCategory::getItemCode, req.getItemCode()).list();
|
||||
AssertUtil.notEmpty(categories, "元素分类不存在。");
|
||||
SaasPageElementCategory category = categories.get(0);
|
||||
|
||||
public Long saveOrUpdate(SaveOrUpdatePageElementReq req) {
|
||||
SaasPageElement basePageElement = SaasPageElement.builder()
|
||||
.version(req.getVersion())
|
||||
.groupCode(req.getCode())
|
||||
.code(req.getCode())
|
||||
.name(req.getName())
|
||||
.type(PageElementTypeEnum.PAGE.getCode())
|
||||
.type(req.getType())
|
||||
.linkUrl(req.getLinkUrl())
|
||||
.linkExt(getLinkExtStr(req.getIosRouterUrl(), req.getAndroidRouterUrl()))
|
||||
.terminal(category.getTerminal())
|
||||
.appType(req.getAppType())
|
||||
.appId(req.getAppId())
|
||||
.itemCode(req.getItemCode())
|
||||
.itemName(category.getItemName())
|
||||
.build();
|
||||
|
||||
if (Objects.nonNull(req.getId())) {
|
||||
@ -542,67 +534,48 @@ public class SaasPageElementServiceImpl extends ServiceImpl<SaasPageElementMappe
|
||||
if (!dbPageElement.getCode().equals(basePageElement.getCode())) {
|
||||
// 校验code唯一
|
||||
validCode(basePageElement.getCode());
|
||||
// 更新子元素的group_code
|
||||
saasPageElementDao.updateComponentsGroupCode(dbPageElement.getCode(), basePageElement.getCode(), category.getTerminal());
|
||||
if (PageElementTypeEnum.PAGE.getCode().equals(req.getType())) {
|
||||
// 更新子元素的group_code
|
||||
saasPageElementDao.updateComponentsGroupCode(dbPageElement.getCode(), basePageElement.getCode(), dbPageElement.getTerminal());
|
||||
}
|
||||
// 更新关联关系的page_element_code
|
||||
saasPageElementFeatureResourceRelationDao.updateGroupCode(dbPageElement.getCode(), basePageElement.getCode(), category.getTerminal());
|
||||
saasPageElementFeatureResourceRelationDao.updateGroupCode(dbPageElement.getCode(), basePageElement.getCode(), dbPageElement.getTerminal());
|
||||
}
|
||||
saasPageElementDao.updateById(basePageElement);
|
||||
} else {
|
||||
if (PageElementTypeEnum.PAGE.getCode().equals(req.getType())) {
|
||||
AssertUtil.isTrue(StringUtils.isNotBlank(req.getItemCode()), "页面元素不存在");
|
||||
List<SaasPageElementCategory> categories = saasPageElementCategoryDao.lambdaQuery()
|
||||
.eq(BaseEntity::getIsDelete, DeleteEnum.NORMAL.getValue())
|
||||
.eq(SaasPageElementCategory::getItemCode, req.getItemCode()).list();
|
||||
AssertUtil.notEmpty(categories, "元素分类不存在。");
|
||||
SaasPageElementCategory category = categories.get(0);
|
||||
basePageElement.setTerminal(category.getTerminal());
|
||||
basePageElement.setItemName(category.getItemName());
|
||||
} else if (PageElementTypeEnum.COMPONENT.getCode().equals(req.getType())) {
|
||||
AssertUtil.isTrue(Objects.nonNull(req.getPageId()) && req.getPageId() > 0, "页面元素不存在");
|
||||
List<SaasPageElement> pageElements = saasPageElementDao.lambdaQuery()
|
||||
.eq(BaseEntity::getIsDelete, DeleteEnum.NORMAL.getValue())
|
||||
.eq(SaasPageElement::getId, req.getPageId()).list();
|
||||
AssertUtil.notEmpty(pageElements, "父级元素不存在。");
|
||||
|
||||
SaasPageElement pageElement = pageElements.get(0);
|
||||
basePageElement.setVersion(pageElement.getVersion());
|
||||
basePageElement.setGroupCode(pageElement.getCode());
|
||||
basePageElement.setTerminal(pageElement.getTerminal());
|
||||
basePageElement.setAppType(pageElement.getAppType());
|
||||
basePageElement.setAppId(pageElement.getAppId());
|
||||
basePageElement.setItemCode(pageElement.getItemCode());
|
||||
basePageElement.setItemName(pageElement.getItemName());
|
||||
}
|
||||
// 校验code唯一
|
||||
validCode(basePageElement.getCode());
|
||||
saasPageElementDao.save(basePageElement);
|
||||
}
|
||||
|
||||
// 记录操作日志
|
||||
try {
|
||||
saveOrUpdatePageOperateLog(req, basePageElement);
|
||||
} catch (Exception e) {
|
||||
log.warn("save operate log error", e);
|
||||
}
|
||||
|
||||
return basePageElement.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long saveOrUpdateComponent(SaveOrUpdatePageElementComponentReq req) {
|
||||
List<SaasPageElement> pageElements = saasPageElementDao.lambdaQuery()
|
||||
.eq(BaseEntity::getIsDelete, DeleteEnum.NORMAL.getValue())
|
||||
.eq(SaasPageElement::getId, req.getPageId()).list();
|
||||
AssertUtil.notEmpty(pageElements, "父级元素不存在。");
|
||||
SaasPageElement pageElement = pageElements.get(0);
|
||||
|
||||
SaasPageElement basePageElement = SaasPageElement.builder()
|
||||
.version(pageElement.getVersion())
|
||||
.groupCode(pageElement.getCode())
|
||||
.code(req.getCode())
|
||||
.name(req.getName())
|
||||
.type(PageElementTypeEnum.COMPONENT.getCode())
|
||||
.terminal(pageElement.getTerminal())
|
||||
.appType(pageElement.getAppType())
|
||||
.appId(pageElement.getAppId())
|
||||
.itemCode(pageElement.getItemCode())
|
||||
.itemName(pageElement.getItemName())
|
||||
.build();
|
||||
|
||||
if (Objects.nonNull(req.getId())) {
|
||||
SaasPageElement dbPageElement = saasPageElementDao.getById(req.getId());
|
||||
AssertUtil.notNull(dbPageElement, "页面组件元素不存在");
|
||||
basePageElement.setId(dbPageElement.getId());
|
||||
if (!dbPageElement.getCode().equals(basePageElement.getCode())) {
|
||||
// 校验code唯一
|
||||
validCode(basePageElement.getCode());
|
||||
// 更新关联关系的page_element_code
|
||||
saasPageElementFeatureResourceRelationDao.updateGroupCode(dbPageElement.getCode(), basePageElement.getCode(), pageElement.getTerminal());
|
||||
}
|
||||
saasPageElementDao.updateById(basePageElement);
|
||||
} else {
|
||||
validCode(basePageElement.getCode());
|
||||
saasPageElementDao.save(basePageElement);
|
||||
}
|
||||
|
||||
// 记录操作日志
|
||||
try {
|
||||
saveOrUpdateComponentOperateLog(req, basePageElement);
|
||||
saveOrUpdateOperateLog(req, basePageElement);
|
||||
} catch (Exception e) {
|
||||
log.warn("save operate log error", e);
|
||||
}
|
||||
@ -686,18 +659,7 @@ public class SaasPageElementServiceImpl extends ServiceImpl<SaasPageElementMappe
|
||||
return JSONObject.toJSONString(exts);
|
||||
}
|
||||
|
||||
private void saveOrUpdatePageOperateLog(SaveOrUpdatePageElementPageReq req, SaasPageElement basePageElement) {
|
||||
saasPgroupPermissionRelationOperateLogService.save(PermissionOperateLogReq.builder()
|
||||
.tableName(PAGE_ELEMENT_TABLE_NAME)
|
||||
.operatorId(req.getOperatorId())
|
||||
.scene(PermissionRelationOperateLogSceneEnum.OMS_UPSERT_PAGE_ELEMENT.getValue())
|
||||
.sceneId(basePageElement.getId().toString())
|
||||
.requestData(req)
|
||||
.operateData(basePageElement)
|
||||
.build());
|
||||
}
|
||||
|
||||
private void saveOrUpdateComponentOperateLog(SaveOrUpdatePageElementComponentReq req, SaasPageElement basePageElement) {
|
||||
private void saveOrUpdateOperateLog(SaveOrUpdatePageElementReq req, SaasPageElement basePageElement) {
|
||||
saasPgroupPermissionRelationOperateLogService.save(PermissionOperateLogReq.builder()
|
||||
.tableName(PAGE_ELEMENT_TABLE_NAME)
|
||||
.operatorId(req.getOperatorId())
|
||||
|
||||
Loading…
Reference in New Issue
Block a user