添加详情接口
This commit is contained in:
@@ -12,6 +12,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
@@ -71,5 +72,10 @@ public class MenuController {
|
||||
return menuService.deleteFun(menuId);
|
||||
}
|
||||
|
||||
@Operation(summary = "根据ID获取菜单详情", description = "根据ID获取菜单详情")
|
||||
@GetMapping("/get/{id}")
|
||||
public XResult<MenuQueryRes> getById(@PathVariable Long id) {
|
||||
return menuService.getById(id);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -47,4 +47,9 @@ public interface MenuService {
|
||||
*/
|
||||
XResult<Void> deleteFun(Long menuId);
|
||||
|
||||
/**
|
||||
* 根据ID获取菜单详情
|
||||
*/
|
||||
XResult<MenuQueryRes> getById(Long id);
|
||||
|
||||
}
|
||||
@@ -45,6 +45,7 @@ public class FunOperationServiceImpl implements FunOperationService {
|
||||
*/
|
||||
@Override
|
||||
public XResult<List<FunOperationQueryRes>> query(FunOperationQueryReq req, Boolean isTenant) {
|
||||
boolean isTenantNotNull = isTenant != null;
|
||||
FunOperationDef funOperationDef = FunOperationDef.FUN_OPERATION_ENTITY;
|
||||
FunModuleDef funModuleDef = FunModuleDef.FUN_MODULE_ENTITY;
|
||||
FunItemDef funItemDef = FunItemDef.FUN_ITEM_ENTITY;
|
||||
@@ -57,7 +58,8 @@ public class FunOperationServiceImpl implements FunOperationService {
|
||||
.eq(FunOperationEntity::getItemId, req.getItemId(), req.getItemId() != null)
|
||||
.like(FunOperationEntity::getOperationCode, req.getOperationCode(), StrUtil.isNotBlank(req.getOperationCode()))
|
||||
.like(FunOperationEntity::getFunName, req.getFunName(), StrUtil.isNotBlank(req.getFunName()))
|
||||
.eq(FunItemEntity::getIsTenant, isTenant, isTenant != null)
|
||||
.eq(FunItemEntity::getIsTenant, isTenant, isTenantNotNull)
|
||||
.eq(FunOperationEntity::getIsGreenLight,false,isTenantNotNull) // 直接放行,不用提供绑定
|
||||
.orderBy(FunOperationEntity::getSortOrder, false);
|
||||
List<FunOperationQueryRes> funOperationQueryRes = funOperationMapper.selectListByQueryAs(queryWrapper, FunOperationQueryRes.class);
|
||||
return XResult.ok(funOperationQueryRes);
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.cczsa.xinghe.codegen.service.impl;
|
||||
|
||||
import com.cczsa.xinghe.codegen.entity.FunItemEntity;
|
||||
import com.cczsa.xinghe.codegen.entity.FunOperationEntity;
|
||||
import com.cczsa.xinghe.codegen.entity.MenuBindFunEntity;
|
||||
import com.cczsa.xinghe.codegen.entity.MenuEntity;
|
||||
import com.cczsa.xinghe.codegen.entity.req.menu.MenuAddReq;
|
||||
import com.cczsa.xinghe.codegen.entity.req.menu.MenuBindFunReq;
|
||||
@@ -258,4 +257,31 @@ public class MenuServiceImpl implements MenuService {
|
||||
return XResult.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ID获取菜单详情
|
||||
*/
|
||||
@Override
|
||||
public XResult<MenuQueryRes> getById(Long id) {
|
||||
MenuDef menuDef = MenuDef.MENU_ENTITY;
|
||||
FunOperationDef funOperationDef = FunOperationDef.FUN_OPERATION_ENTITY;
|
||||
QueryWrapper query = new QueryWrapper();
|
||||
query.select(
|
||||
menuDef.ALL_COLUMNS,
|
||||
funOperationDef.ID.as("funId"),
|
||||
funOperationDef.FUN_NAME.as("funName")
|
||||
)
|
||||
.from(menuDef)
|
||||
.leftJoin(funOperationDef).on(menuDef.FUN_ID.eq(funOperationDef.ID))
|
||||
.eq(MenuEntity::getId, id);
|
||||
MenuQueryRes menuQueryRes = menuMapper.selectOneByQueryAs(query, MenuQueryRes.class);
|
||||
if (menuQueryRes == null) {
|
||||
return XResult.failed("菜单不存在");
|
||||
}
|
||||
QueryWrapper wrapper = QueryWrapper.create();
|
||||
wrapper.eq(MenuEntity::getFunId, menuQueryRes.getFunId());
|
||||
long l = menuMapper.selectCountByQuery(wrapper);
|
||||
menuQueryRes.setExistNum(Math.toIntExact(l));
|
||||
return XResult.ok(menuQueryRes);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user