| package com.mzl.flower.web.system; | 
|   | 
| import com.mzl.flower.base.BaseController; | 
| import com.mzl.flower.base.R; | 
| import com.mzl.flower.base.ReturnDataDTO; | 
| import com.mzl.flower.config.exception.ValidationException; | 
| import com.mzl.flower.dto.request.system.CreateMenuDTO; | 
| import com.mzl.flower.dto.request.system.UpdateMenuDTO; | 
| import com.mzl.flower.dto.response.system.MenuDTO; | 
| import com.mzl.flower.dto.response.system.MenuTreeDTO; | 
| import com.mzl.flower.entity.system.PartnerMenu; | 
| import com.mzl.flower.service.system.PartnerMenuService; | 
| import io.swagger.annotations.Api; | 
| import io.swagger.annotations.ApiImplicitParam; | 
| import io.swagger.annotations.ApiImplicitParams; | 
| import io.swagger.annotations.ApiOperation; | 
| import org.apache.commons.lang3.StringUtils; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.http.ResponseEntity; | 
| import org.springframework.validation.annotation.Validated; | 
| import org.springframework.web.bind.annotation.*; | 
|   | 
| import java.util.List; | 
|   | 
| @RestController | 
| @RequestMapping("/api/menu/partner") | 
| @Api(value = "合伙人菜单管理", tags = "合伙人菜单管理") | 
| @Validated | 
| public class PartnerMenuController extends BaseController { | 
|     @Autowired | 
|     private PartnerMenuService partnerMenuService; | 
|   | 
|     @GetMapping("/list") | 
|     @ApiOperation(value = "查询菜单列表") | 
|     public ResponseEntity<ReturnDataDTO<List<MenuTreeDTO>>> searchMenuList() { | 
|         return returnData(R.SUCCESS.getCode(), partnerMenuService.searchOperationMenu()); | 
|     } | 
|   | 
|     @PostMapping("/list/new") | 
|     @ApiOperation(value = "新增菜单") | 
|     public ResponseEntity<ReturnDataDTO> addTenantMenu(@RequestBody @Validated CreateMenuDTO dto) { | 
|         if (StringUtils.isNotBlank(dto.getParentId()) && !"-1".equals(dto.getParentId())) { | 
|             PartnerMenu menu = partnerMenuService.getMenu(dto.getParentId()); | 
|             if (menu == null) { | 
|                 throw new ValidationException("父菜单不存在"); | 
|             } | 
|         } | 
|         partnerMenuService.addMenu(dto); | 
|         return returnData(R.SUCCESS.getCode(), null); | 
|     } | 
|   | 
|     @GetMapping("/list/view") | 
|     @ApiImplicitParams({ | 
|             @ApiImplicitParam(name = "id", value = "菜单ID", required = true, dataType = "String", paramType = "query") | 
|     }) | 
|     @ApiOperation(value = "查询菜单详情") | 
|     public ResponseEntity<ReturnDataDTO<MenuDTO>> getMenu(String id) { | 
|         return returnData(R.SUCCESS.getCode(), partnerMenuService.getMenuDetail(id)); | 
|     } | 
|   | 
|     @PostMapping("/list/edit") | 
|     @ApiOperation(value = "编辑菜单") | 
|     public ResponseEntity<ReturnDataDTO> updateTenantMenu(@RequestBody @Validated UpdateMenuDTO dto) { | 
|         if (StringUtils.isNotBlank(dto.getParentId()) && !"-1".equals(dto.getParentId())) { | 
|             PartnerMenu menu = partnerMenuService.getMenu(dto.getParentId()); | 
|             if (menu == null) { | 
|                 throw new ValidationException("父菜单不存在"); | 
|             } | 
|         } | 
|         partnerMenuService.updateMenu(dto); | 
|         return returnData(R.SUCCESS.getCode(), null); | 
|     } | 
|   | 
|     @GetMapping("/list/delete") | 
|     @ApiImplicitParams({ | 
|             @ApiImplicitParam(name = "id", value = "菜单ID", required = true, dataType = "String", paramType = "query") | 
|     }) | 
|     @ApiOperation(value = "删除菜单") | 
|     public ResponseEntity<ReturnDataDTO> deleteTenantMenu(String id) { | 
|         partnerMenuService.deleteMenu(id); | 
|         return returnData(R.SUCCESS.getCode(), null); | 
|     } | 
| } |