From 4b86cf6bbe5a7204a801169398fa836e8e06c109 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 14 Dec 2022 17:04:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/master'
---
src/main/java/org/springblade/modules/system/service/impl/TopMenuServiceImpl.java | 62 +++++++++++++++++++++++++++++++
1 files changed, 62 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/modules/system/service/impl/TopMenuServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/TopMenuServiceImpl.java
new file mode 100644
index 0000000..0fd7398
--- /dev/null
+++ b/src/main/java/org/springblade/modules/system/service/impl/TopMenuServiceImpl.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.system.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.AllArgsConstructor;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.system.entity.TopMenu;
+import org.springblade.modules.system.entity.TopMenuSetting;
+import org.springblade.modules.system.mapper.TopMenuMapper;
+import org.springblade.modules.system.service.ITopMenuService;
+import org.springblade.modules.system.service.ITopMenuSettingService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 顶部菜单表 服务实现类
+ *
+ * @author BladeX
+ */
+@Service
+@AllArgsConstructor
+public class TopMenuServiceImpl extends BaseServiceImpl<TopMenuMapper, TopMenu> implements ITopMenuService {
+
+ private final ITopMenuSettingService topMenuSettingService;
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean grant(@NotEmpty List<Long> topMenuIds, @NotEmpty List<Long> menuIds) {
+ // 删除顶部菜单配置的菜单集合
+ topMenuSettingService.remove(Wrappers.<TopMenuSetting>update().lambda().in(TopMenuSetting::getTopMenuId, topMenuIds));
+ // 组装配置
+ List<TopMenuSetting> menuSettings = new ArrayList<>();
+ topMenuIds.forEach(topMenuId -> menuIds.forEach(menuId -> {
+ TopMenuSetting menuSetting = new TopMenuSetting();
+ menuSetting.setTopMenuId(topMenuId);
+ menuSetting.setMenuId(menuId);
+ menuSettings.add(menuSetting);
+ }));
+ // 新增配置
+ topMenuSettingService.saveBatch(menuSettings);
+ return true;
+ }
+}
--
Gitblit v1.9.3