From 0a1498e9734bfde0cf14c5ffd2f482ea45572ca1 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Sat, 4 Jan 2025 23:31:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=AC=E5=8F=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/system/api/domain/SysTemplate.java | 28 +++++++++ .../system/api/domain/SysTemplateMenu.java | 38 +++++++++++ .../system/mapper/SysTemplateMapper.java | 61 ++++++++++++++++++ .../system/mapper/SysTemplateMenuMapper.java | 59 +++++++++++++++++ .../service/impl/SysDeptServiceImpl.java | 61 +++++------------- .../mapper/system/SysTemplateMapper.xml | 63 +++++++++++++++++++ .../mapper/system/SysTemplateMenuMapper.xml | 57 +++++++++++++++++ 7 files changed, 323 insertions(+), 44 deletions(-) create mode 100644 bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysTemplate.java create mode 100644 bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysTemplateMenu.java create mode 100644 bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysTemplateMapper.java create mode 100644 bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysTemplateMenuMapper.java create mode 100644 bonus-modules/bonus-system/src/main/resources/mapper/system/SysTemplateMapper.xml create mode 100644 bonus-modules/bonus-system/src/main/resources/mapper/system/SysTemplateMenuMapper.xml diff --git a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysTemplate.java b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysTemplate.java new file mode 100644 index 0000000..1720190 --- /dev/null +++ b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysTemplate.java @@ -0,0 +1,28 @@ +package com.bonus.system.api.domain; + +import com.bonus.common.core.annotation.Excel; +import com.bonus.common.core.web.domain.BaseEntity; +import lombok.Data; +import java.util.List; + +/** + * 权限模板对象 sys_template + * + * @author bonus + * @date 2020-07-09 + */ +@Data +public class SysTemplate extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private String id; + + /** 模板名称 */ + @Excel(name = "模板名称") + private String name; + + private List menuIds; + +} diff --git a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysTemplateMenu.java b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysTemplateMenu.java new file mode 100644 index 0000000..5397639 --- /dev/null +++ b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysTemplateMenu.java @@ -0,0 +1,38 @@ +package com.bonus.system.api.domain; + +import java.io.Serializable; + +/** + * 系统模板菜单表(SysTempMenu)实体类 + * + * @author bonus + * @since 2020-07-09 13:38:36 + */ +public class SysTemplateMenu implements Serializable { + private static final long serialVersionUID = 904598953972609708L; + /** + * 模板ID + */ + private Long tempId; + /** + * 菜单ID + */ + private Long menuId; + + + public Long getTempId() { + return tempId; + } + + public void setTempId(Long tempId) { + this.tempId = tempId; + } + + public Long getMenuId() { + return menuId; + } + + public void setMenuId(Long menuId) { + this.menuId = menuId; + } +} \ No newline at end of file diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysTemplateMapper.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysTemplateMapper.java new file mode 100644 index 0000000..6439dad --- /dev/null +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysTemplateMapper.java @@ -0,0 +1,61 @@ +package com.bonus.system.mapper; + +import com.bonus.system.api.domain.SysTemplate; +import java.util.List; + +/** + * 权限模板Mapper接口 + * + * @author bonus + * @date 2025-01-05 + */ +public interface SysTemplateMapper +{ + /** + * 查询权限模板 + * + * @param id 权限模板ID + * @return 权限模板 + */ + public SysTemplate selectSysTemplateById(String id); + + /** + * 查询权限模板列表 + * + * @param sysTemplate 权限模板 + * @return 权限模板集合 + */ + public List selectSysTemplateList(SysTemplate sysTemplate); + + /** + * 新增权限模板 + * + * @param sysTemplate 权限模板 + * @return 结果 + */ + public int insertSysTemplate(SysTemplate sysTemplate); + + /** + * 修改权限模板 + * + * @param sysTemplate 权限模板 + * @return 结果 + */ + public int updateSysTemplate(SysTemplate sysTemplate); + + /** + * 删除权限模板 + * + * @param id 权限模板ID + * @return 结果 + */ + public int deleteSysTemplateById(String id); + + /** + * 批量删除权限模板 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteSysTemplateByIds(String[] ids); +} diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysTemplateMenuMapper.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysTemplateMenuMapper.java new file mode 100644 index 0000000..ef85fdc --- /dev/null +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysTemplateMenuMapper.java @@ -0,0 +1,59 @@ +package com.bonus.system.mapper; + + +import com.bonus.system.api.domain.SysTemplateMenu; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 系统模板菜单表(SysTempMenu)表数据库访问层 + * + * @author bonus + * @since 2025-01-05 + */ +public interface SysTemplateMenuMapper { + + + /** + * 查询指定行数据 + * + * @param offset 查询起始位置 + * @param limit 查询条数 + * @return 对象列表 + */ + List queryAllByLimit(@Param("offset") int offset, @Param("limit") int limit); + + + /** + * 通过实体作为筛选条件查询 + * + * @param sysTempMenu 实例对象 + * @return 对象列表 + */ + List queryAll(SysTemplateMenu sysTempMenu); + + /** + * 新增数据 + * + * @param sysTempMenu 实例对象 + * @return 影响行数 + */ + int insert(SysTemplateMenu sysTempMenu); + + /** + * 修改数据 + * + * @param sysTempMenu 实例对象 + * @return 影响行数 + */ + int update(SysTemplateMenu sysTempMenu); + + /** + * 根据模板删除菜单信息 + * + * @param tempId + * @return + */ + int deleteByTempId(@Param("tempId") String tempId); +} \ No newline at end of file diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java index 92b9170..00e0422 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java @@ -4,7 +4,7 @@ import java.util.*; import java.util.stream.Collectors; import com.bonus.common.core.web.domain.BaseEntity; import com.bonus.config.SystemConfig; -import com.bonus.system.api.domain.SysUserRole; +import com.bonus.system.api.domain.*; import com.bonus.system.domain.SysRoleDept; import com.bonus.system.domain.SysRoleMenu; import com.bonus.system.mapper.*; @@ -22,9 +22,6 @@ import com.bonus.common.core.utils.SpringUtils; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.datascope.annotation.DataScope; import com.bonus.common.security.utils.SecurityUtils; -import com.bonus.system.api.domain.SysDept; -import com.bonus.system.api.domain.SysRole; -import com.bonus.system.api.domain.SysUser; import com.bonus.system.domain.vo.TreeSelect; import com.bonus.system.service.ISysDeptService; @@ -54,6 +51,9 @@ public class SysDeptServiceImpl implements ISysDeptService @Resource private SysRoleMenuMapper roleMenuMapper; + @Resource + SysTemplateMenuMapper sysTemplateMenuMapper; + @Resource private SysRoleDeptMapper roleDeptMapper; @@ -290,6 +290,8 @@ public class SysDeptServiceImpl implements ISysDeptService if (dept.getParentId() == null){ dept.setParentId(0L); dept.setAncestors("0"); + dept.setStatus("0");//默认启用 + dept.setTemplateId(1L);//TODO 将来用前端传的模版ID if (StringUtils.isNotNull(dept.getSysUser()) && !userService.checkUserNameUnique(dept.getSysUser())) { throw new ServiceException("新增公司管理员用户'" + dept.getSysUser().getUserName() + "'失败,登录账号已存在"); } @@ -475,46 +477,17 @@ public class SysDeptServiceImpl implements ISysDeptService //对初始化管理员赋值菜单权限 List sysRoleMenulist = new ArrayList<>(); - SysRoleMenu rm = new SysRoleMenu(); - rm.setRoleId(Long.valueOf(role.getRoleId())); - rm.setMenuId(1L); - sysRoleMenulist.add(rm); - SysRoleMenu rm1 = new SysRoleMenu(); - rm1.setRoleId(Long.valueOf(role.getRoleId())); - rm1.setMenuId(100L); - sysRoleMenulist.add(rm1); - SysRoleMenu rm2 = new SysRoleMenu(); - rm2.setRoleId(Long.valueOf(role.getRoleId())); - rm2.setMenuId(101L); - sysRoleMenulist.add(rm2); - SysRoleMenu rm3 = new SysRoleMenu(); - rm3.setRoleId(Long.valueOf(role.getRoleId())); - rm3.setMenuId(103L); - sysRoleMenulist.add(rm3); - /* SysRoleMenu rm4 = new SysRoleMenu(); - rm4.setRoleId(Long.valueOf(role.getRoleId())); - rm4.setMenuId(104L); - list.add(rm4);*/ - SysRoleMenu rm4 = new SysRoleMenu(); - rm4.setRoleId(Long.valueOf(role.getRoleId())); - rm4.setMenuId(1007L); - sysRoleMenulist.add(rm4); - SysRoleMenu rm5 = new SysRoleMenu(); - rm5.setRoleId(Long.valueOf(role.getRoleId())); - rm5.setMenuId(1008L); - sysRoleMenulist.add(rm5); - SysRoleMenu rm6 = new SysRoleMenu(); - rm6.setRoleId(Long.valueOf(role.getRoleId())); - rm6.setMenuId(1009L); - sysRoleMenulist.add(rm6); - SysRoleMenu rm7 = new SysRoleMenu(); - rm7.setRoleId(Long.valueOf(role.getRoleId())); - rm7.setMenuId(1010L); - sysRoleMenulist.add(rm7); - SysRoleMenu rm8 = new SysRoleMenu(); - rm8.setRoleId(Long.valueOf(role.getRoleId())); - rm8.setMenuId(1011L); - sysRoleMenulist.add(rm8); + //TODO 用模板里的菜单ID赋值给公司管理员 + SysTemplateMenu sysTemplateMenu = new SysTemplateMenu(); + sysTemplateMenu.setTempId(sysDept.getTemplateId()); + List sysTemplateMenus = sysTemplateMenuMapper.queryAll(sysTemplateMenu); + SysRoleMenu sysRoleMenu = null; + for (SysTemplateMenu stm : sysTemplateMenus) { + sysRoleMenu = new SysRoleMenu(); + sysRoleMenu.setRoleId(role.getRoleId()); + sysRoleMenu.setMenuId(stm.getMenuId()); + sysRoleMenulist.add(sysRoleMenu); + } roleMenuMapper.batchRoleMenu(sysRoleMenulist); } diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysTemplateMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysTemplateMapper.xml new file mode 100644 index 0000000..5e5d7d8 --- /dev/null +++ b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysTemplateMapper.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + select id, name, remark from sys_template + + + + + + + + insert into sys_template + + id, + name, + remark, + + + #{id}, + #{name}, + #{remark}, + + + + + update sys_template + + name = #{name}, + remark = #{remark}, + + where id = #{id} + + + + delete from sys_template where id = #{id} + + + + delete from sys_template where id in + + #{id} + + + + \ No newline at end of file diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysTemplateMenuMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysTemplateMenuMapper.xml new file mode 100644 index 0000000..a91dde5 --- /dev/null +++ b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysTemplateMenuMapper.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + insert into sys_temp_menu(temp_id, menu_id) + values (#{tempId}, #{menuId}) + + + + + update sys_temp_menu + + + temp_id = #{tempId}, + + + menu_id = #{menuId}, + + + where = #{} + + + + delete from sys_temp_menu where temp_id = #{tempId} + + \ No newline at end of file