package com.ycl.controller.portal; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ycl.annotation.LogSave; import com.ycl.api.CommonResult; import com.ycl.bo.AdminUserDetails; import com.ycl.entity.portal.ThirdApplications; import com.ycl.entity.portal.WebsiteLogo; import com.ycl.entity.user.AdminMenuRelation; import com.ycl.entity.user.UmsMenu; import com.ycl.entity.user.vo.UmsMenuVo; import com.ycl.service.portal.UmsThirdApplicationsService; import com.ycl.service.portal.UmsWebsiteLogoService; import com.ycl.service.user.IAdminMenuRelationService; import com.ycl.service.user.UmsMenuService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; @Api(tags = "系统管理-门户管理") @RestController @RequestMapping("/system/portal") public class UmsWebsitePortalController { @Autowired UmsWebsiteLogoService umsWebsiteLogoService; @Autowired UmsMenuService umsMenuService; @Autowired UmsThirdApplicationsService umsThirdApplicationsService; @Autowired IAdminMenuRelationService iAdminMenuRelationService; @ApiOperation("logo管理-添加logo") @PostMapping("/logo/add") public CommonResult addLogo(@RequestBody @Validated WebsiteLogo websiteLogo) { return CommonResult.success(umsWebsiteLogoService.save(websiteLogo)); } @ApiOperation("logo管理-修改logo") @PutMapping("/logo/update") public CommonResult updateLogo(@RequestBody WebsiteLogo websiteLogo) { return CommonResult.success(umsWebsiteLogoService.updateById(websiteLogo)); } @ApiOperation("logo管理-查询logo") @GetMapping("/logo/search") public CommonResult searchLogo() { return CommonResult.success(umsWebsiteLogoService.list(new QueryWrapper<>()).get(0)); } @ApiOperation("logo管理-查询logo") @GetMapping("/logo/searchOne") public CommonResult searchLogo(@RequestParam Integer id) { return CommonResult.success(umsWebsiteLogoService.getOne(new QueryWrapper().eq("id", id))); } @ApiOperation("logo管理-删除logo") @DeleteMapping("/logo/delete") public CommonResult removeLogo(@RequestParam Integer id) { return CommonResult.success(umsWebsiteLogoService.removeById(id)); } @ApiOperation("自定义菜单-菜单查询") @GetMapping("/menu/search") public CommonResult searchMenus(Page page) { Page menus = umsMenuService.page(page, new QueryWrapper().eq("parent_id", 0)); List umsMenuVoList; List firstMenu = menus.getRecords(); umsMenuVoList = firstMenu.stream().map(item -> { UmsMenuVo umsMenuVo = new UmsMenuVo(); BeanUtils.copyProperties(item, umsMenuVo); return umsMenuVo; }).collect(Collectors.toList()); if (firstMenu.size() != 0) { umsMenuVoList.forEach(item -> { List secondMenuListVos; List secondMenuList = umsMenuService.list(new QueryWrapper().eq("parent_id", item.getId())); secondMenuListVos = secondMenuList.stream().map(itm2 -> { UmsMenuVo umsMenuVo = new UmsMenuVo(); BeanUtils.copyProperties(itm2, umsMenuVo); return umsMenuVo; }).collect(Collectors.toList()); if (secondMenuListVos.size() != 0 && secondMenuListVos != null) { secondMenuListVos.forEach(item1 -> { List thirdMenuVos; List thirdMenu = umsMenuService.list(new QueryWrapper().eq("parent_id", item1.getId())); thirdMenuVos = thirdMenu.stream().map(itm3 -> { UmsMenuVo umsMenuVo = new UmsMenuVo(); BeanUtils.copyProperties(itm3, umsMenuVo); return umsMenuVo; }).collect(Collectors.toList()); item1.setMenuVoArrayList(thirdMenuVos); }); } item.setMenuVoArrayList(secondMenuListVos); }); } menus.setRecords(umsMenuVoList); return CommonResult.success(menus); } @ApiOperation("菜单权限-个人菜单查询") @GetMapping("/menu/search_myself") public CommonResult searchMenusMyself() { AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); HashMap map = new HashMap<>(); map.put("menu",umsMenuService.ListTreeMyself(user.getUserId())); map.put("permission",umsMenuService.getPermission(user.getUserId())); return CommonResult.success(map); } @ApiOperation("菜单权限-个人菜单状态修改") @PutMapping("/menu/modification_myself") public CommonResult modifyMenusMyself(@RequestParam Long relationId, Integer status) { AdminMenuRelation adminMenuRelation = new AdminMenuRelation(); adminMenuRelation.setId(relationId); adminMenuRelation.setIsStart(status); return CommonResult.success(iAdminMenuRelationService.updateById(adminMenuRelation)); } @ApiOperation("自定义菜单-添加菜单") @PostMapping("/menu/add") public CommonResult addMenu(@RequestBody UmsMenu umsMenu) { return CommonResult.success(umsMenuService.save(umsMenu)); } @ApiOperation("自定义菜单-修改菜单") @PostMapping("/menu/update") public CommonResult updateMenu(@RequestBody UmsMenu umsMenu) { return CommonResult.success(umsMenuService.updateById(umsMenu)); } @ApiOperation("第三方接口管理-添加") @PostMapping("/thirdApp/add") public CommonResult addThirdApp(@RequestBody @Validated ThirdApplications thirdApplications) { return CommonResult.success(umsThirdApplicationsService.save(thirdApplications)); } @ApiOperation("第三方接口管理-修改") @PutMapping("/thirdApp/update") public CommonResult updateThirdApp(@RequestBody ThirdApplications thirdApplications) { return CommonResult.success(umsThirdApplicationsService.updateById(thirdApplications)); } @ApiOperation("第三方接口管理-查询") @GetMapping("/thirdApp/search") public CommonResult searchThirdApp(Page page) { return CommonResult.success(umsThirdApplicationsService.page(page, new QueryWrapper<>())); } @ApiOperation("第三方接口管理-查询通过id") @GetMapping("/thirdApp/searchOne") public CommonResult searchThirdApp(@RequestParam Integer id) { return CommonResult.success(umsThirdApplicationsService.getOne(new QueryWrapper().eq("id", id))); } @ApiOperation("第三方接口管理-删除") @DeleteMapping("/thirdApp/delete") public CommonResult removeThirdApp(@RequestParam Integer id) { return CommonResult.success(umsThirdApplicationsService.removeById(id)); } }