添加详情接口
This commit is contained in:
@@ -12,6 +12,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
|||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
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.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
import org.springframework.web.bind.annotation.PutMapping;
|
||||||
@@ -71,5 +72,10 @@ public class MenuController {
|
|||||||
return menuService.deleteFun(menuId);
|
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);
|
XResult<Void> deleteFun(Long menuId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据ID获取菜单详情
|
||||||
|
*/
|
||||||
|
XResult<MenuQueryRes> getById(Long id);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -45,6 +45,7 @@ public class FunOperationServiceImpl implements FunOperationService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public XResult<List<FunOperationQueryRes>> query(FunOperationQueryReq req, Boolean isTenant) {
|
public XResult<List<FunOperationQueryRes>> query(FunOperationQueryReq req, Boolean isTenant) {
|
||||||
|
boolean isTenantNotNull = isTenant != null;
|
||||||
FunOperationDef funOperationDef = FunOperationDef.FUN_OPERATION_ENTITY;
|
FunOperationDef funOperationDef = FunOperationDef.FUN_OPERATION_ENTITY;
|
||||||
FunModuleDef funModuleDef = FunModuleDef.FUN_MODULE_ENTITY;
|
FunModuleDef funModuleDef = FunModuleDef.FUN_MODULE_ENTITY;
|
||||||
FunItemDef funItemDef = FunItemDef.FUN_ITEM_ENTITY;
|
FunItemDef funItemDef = FunItemDef.FUN_ITEM_ENTITY;
|
||||||
@@ -57,7 +58,8 @@ public class FunOperationServiceImpl implements FunOperationService {
|
|||||||
.eq(FunOperationEntity::getItemId, req.getItemId(), req.getItemId() != null)
|
.eq(FunOperationEntity::getItemId, req.getItemId(), req.getItemId() != null)
|
||||||
.like(FunOperationEntity::getOperationCode, req.getOperationCode(), StrUtil.isNotBlank(req.getOperationCode()))
|
.like(FunOperationEntity::getOperationCode, req.getOperationCode(), StrUtil.isNotBlank(req.getOperationCode()))
|
||||||
.like(FunOperationEntity::getFunName, req.getFunName(), StrUtil.isNotBlank(req.getFunName()))
|
.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);
|
.orderBy(FunOperationEntity::getSortOrder, false);
|
||||||
List<FunOperationQueryRes> funOperationQueryRes = funOperationMapper.selectListByQueryAs(queryWrapper, FunOperationQueryRes.class);
|
List<FunOperationQueryRes> funOperationQueryRes = funOperationMapper.selectListByQueryAs(queryWrapper, FunOperationQueryRes.class);
|
||||||
return XResult.ok(funOperationQueryRes);
|
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.FunItemEntity;
|
||||||
import com.cczsa.xinghe.codegen.entity.FunOperationEntity;
|
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.MenuEntity;
|
||||||
import com.cczsa.xinghe.codegen.entity.req.menu.MenuAddReq;
|
import com.cczsa.xinghe.codegen.entity.req.menu.MenuAddReq;
|
||||||
import com.cczsa.xinghe.codegen.entity.req.menu.MenuBindFunReq;
|
import com.cczsa.xinghe.codegen.entity.req.menu.MenuBindFunReq;
|
||||||
@@ -258,4 +257,31 @@ public class MenuServiceImpl implements MenuService {
|
|||||||
return XResult.ok();
|
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