1237 lines
44 KiB
Java
1237 lines
44 KiB
Java
package com.gxwebsoft.oa.controller;
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.gxwebsoft.common.core.annotation.OperationLog;
|
|
import com.gxwebsoft.common.core.exception.BusinessException;
|
|
import com.gxwebsoft.common.core.utils.CommonUtil;
|
|
import com.gxwebsoft.common.core.utils.JSONUtil;
|
|
import com.gxwebsoft.common.core.web.*;
|
|
import com.gxwebsoft.common.system.entity.*;
|
|
import com.gxwebsoft.common.system.service.*;
|
|
import com.gxwebsoft.oa.entity.Tenant;
|
|
import com.gxwebsoft.oa.param.TenantParam;
|
|
import com.gxwebsoft.oa.service.TenantService;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import javax.annotation.Resource;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.stream.Collectors;
|
|
|
|
/**
|
|
* 租户控制器
|
|
*
|
|
* @author WebSoft
|
|
* @since 2022-11-17 17:13:39
|
|
*/
|
|
@Api(tags = "租户管理")
|
|
@RestController
|
|
@RequestMapping("/api/oa/tenant")
|
|
public class TenantController extends BaseController {
|
|
@Resource
|
|
private TenantService tenantService;
|
|
@Resource
|
|
private UserService userService;
|
|
@Resource
|
|
private RoleService roleService;
|
|
@Resource
|
|
private UserRoleService userRoleService;
|
|
@Resource
|
|
private MenuService menuService;
|
|
@Resource
|
|
private RoleMenuService roleMenuService;
|
|
@Resource
|
|
private StringRedisTemplate stringRedisTemplate;
|
|
|
|
@PreAuthorize("hasAuthority('oa:tenant:list')")
|
|
@ApiOperation("分页查询租户")
|
|
@GetMapping("/page")
|
|
public ApiResult<PageResult<Tenant>> page(TenantParam param) {
|
|
if(!getTenantId().equals(5)){
|
|
PageParam<Tenant, TenantParam> page = new PageParam<>(param);
|
|
page.setDefaultOrder("create_time desc");
|
|
return success(tenantService.page(page, page.getWrapper()));
|
|
}
|
|
// 使用关联查询
|
|
return success(tenantService.pageRel(param));
|
|
}
|
|
|
|
@PreAuthorize("hasAuthority('oa:tenant:list')")
|
|
@ApiOperation("查询全部租户")
|
|
@GetMapping()
|
|
public ApiResult<List<Tenant>> list(TenantParam param) {
|
|
PageParam<Tenant, TenantParam> page = new PageParam<>(param);
|
|
page.setDefaultOrder("create_time desc");
|
|
return success(tenantService.list(page.getOrderWrapper()));
|
|
// 使用关联查询
|
|
//return success(tenantService.listRel(param));
|
|
}
|
|
|
|
@PreAuthorize("hasAuthority('oa:tenant:list')")
|
|
@OperationLog
|
|
@ApiOperation("根据id查询租户")
|
|
@GetMapping("/{id}")
|
|
public ApiResult<Tenant> get(@PathVariable("id") Integer id) {
|
|
return success(tenantService.getById(id));
|
|
// 使用关联查询
|
|
// return success(tenantService.getByIdRel(id));
|
|
}
|
|
|
|
@PreAuthorize("hasAuthority('sys:profile:list')")
|
|
@OperationLog
|
|
@ApiOperation("查询租户基本资料")
|
|
@GetMapping("/profile")
|
|
public ApiResult<Tenant> profile() {
|
|
// 使用关联查询
|
|
return success(tenantService.getByIdRel(getTenantId()));
|
|
}
|
|
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
@PreAuthorize("hasAuthority('oa:tenant:save')")
|
|
@OperationLog
|
|
@ApiOperation("添加租户")
|
|
@PostMapping()
|
|
public ApiResult<?> save(@RequestBody Tenant tenant) {
|
|
// 记录当前登录用户id、租户id
|
|
User loginUser = getLoginUser();
|
|
if (loginUser != null) {
|
|
tenant.setUserId(loginUser.getUserId());
|
|
if (loginUser.getTenantId() != 5) return fail("权限不足!");
|
|
}
|
|
// 添加租户
|
|
tenant.setTenantCode(CommonUtil.randomUUID16());
|
|
tenantService.save(tenant);
|
|
|
|
// 添加超级管理员
|
|
User user = new User();
|
|
user.setUsername("admin");
|
|
user.setNickname("超级管理员");
|
|
user.setPassword(userService.encodePassword(tenant.getPassword()));
|
|
user.setTenantId(tenant.getTenantId());
|
|
boolean result = userService.save(user);
|
|
Integer superAdminUserId = user.getUserId();
|
|
|
|
// 创建角色
|
|
if (result) {
|
|
Role role = new Role();
|
|
role.setRoleName("超级管理员");
|
|
role.setRoleCode("superAdmin");
|
|
role.setComments("超级管理员");
|
|
role.setTenantId(tenant.getTenantId());
|
|
roleService.save(role);
|
|
|
|
// 保存超级管理员角色ID
|
|
Integer superAdminRoleId = role.getRoleId();
|
|
role.setRoleName("注册用户");
|
|
role.setRoleCode("user");
|
|
role.setComments("普通注册用户");
|
|
roleService.save(role);
|
|
role.setRoleName("游客");
|
|
role.setRoleCode("guest");
|
|
role.setComments("用于未登录时的浏览权限");
|
|
roleService.save(role);
|
|
Integer guestRoleId = role.getRoleId();
|
|
|
|
// 添加游客账号
|
|
user.setUsername("www");
|
|
user.setNickname("游客");
|
|
user.setPassword(userService.encodePassword("123456"));
|
|
userService.save(user);
|
|
|
|
// 添加超管用户角色
|
|
UserRole userRole = new UserRole();
|
|
userRole.setUserId(superAdminUserId);
|
|
userRole.setRoleId(superAdminRoleId);
|
|
userRole.setTenantId(tenant.getTenantId());
|
|
userRoleService.save(userRole);
|
|
|
|
// 添加游客用户角色
|
|
userRole.setUserId(user.getUserId());
|
|
userRole.setRoleId(guestRoleId);
|
|
boolean resultUserRole = userRoleService.save(userRole);
|
|
|
|
/// 添加系统菜单
|
|
if (resultUserRole) {
|
|
Menu menu = new Menu();
|
|
// 10.系统管理
|
|
menu.setTitle("系统管理");
|
|
menu.setParentId(0);
|
|
menu.setPath("/system");
|
|
menu.setIcon("setting-outlined");
|
|
menu.setSortNumber(10);
|
|
menu.setTenantId(tenant.getTenantId());
|
|
menuService.save(menu);
|
|
Integer parentId = menu.getMenuId();
|
|
menu.setParentId(menu.getMenuId());
|
|
menu.setTitle("用户管理");
|
|
menu.setPath("/system/user");
|
|
menu.setComponent("/system/user");
|
|
menu.setIcon("team-outlined");
|
|
menu.setSortNumber(2);
|
|
menuService.save(menu);
|
|
Integer userParentId = menu.getMenuId();
|
|
menu.setParentId(userParentId);
|
|
menu.setMenuType(1);
|
|
menu.setTitle("查询");
|
|
menu.setIcon("");
|
|
menu.setAuthority("sys:user:list");
|
|
menuService.save(menu);
|
|
menu.setParentId(userParentId);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("sys:user:save");
|
|
menuService.save(menu);
|
|
menu.setParentId(userParentId);
|
|
menu.setTitle("修改");
|
|
menu.setAuthority("sys:user:update");
|
|
menuService.save(menu);
|
|
menu.setParentId(userParentId);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("sys:user:remove");
|
|
menuService.save(menu);
|
|
menu.setMenuType(0);
|
|
menu.setParentId(parentId);
|
|
menu.setTitle("角色管理");
|
|
menu.setPath("/system/role");
|
|
menu.setComponent("/system/role");
|
|
menu.setIcon("idcard-outlined");
|
|
menu.setAuthority("");
|
|
menu.setSortNumber(3);
|
|
menuService.save(menu);
|
|
Integer roleParentId = menu.getMenuId();
|
|
menu.setParentId(roleParentId);
|
|
menu.setMenuType(1);
|
|
menu.setIcon("");
|
|
menu.setPath("");
|
|
menu.setComponent("");
|
|
menu.setTitle("查询");
|
|
menu.setAuthority("sys:role:list");
|
|
menuService.save(menu);
|
|
menu.setParentId(roleParentId);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("sys:role:save");
|
|
menuService.save(menu);
|
|
menu.setParentId(roleParentId);
|
|
menu.setTitle("修改");
|
|
menu.setAuthority("sys:role:update");
|
|
menuService.save(menu);
|
|
menu.setParentId(roleParentId);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("sys:role:remove");
|
|
menuService.save(menu);
|
|
menu.setMenuType(0);
|
|
menu.setParentId(parentId);
|
|
menu.setTitle("菜单管理");
|
|
menu.setPath("/system/menu");
|
|
menu.setComponent("/system/menu");
|
|
menu.setIcon("appstore-outlined");
|
|
menu.setAuthority("");
|
|
menu.setSortNumber(1);
|
|
menuService.save(menu);
|
|
Integer menuParentId = menu.getMenuId();
|
|
menu.setParentId(menuParentId);
|
|
menu.setMenuType(1);
|
|
menu.setTitle("查询");
|
|
menu.setAuthority("sys:menu:list");
|
|
menu.setIcon("");
|
|
menu.setPath("");
|
|
menu.setComponent("");
|
|
menuService.save(menu);
|
|
menu.setParentId(menuParentId);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("sys:menu:save");
|
|
menuService.save(menu);
|
|
menu.setParentId(menuParentId);
|
|
menu.setTitle("修改");
|
|
menu.setAuthority("sys:menu:update");
|
|
menuService.save(menu);
|
|
menu.setParentId(menuParentId);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("sys:menu:remove");
|
|
menuService.save(menu);
|
|
menu.setMenuType(0);
|
|
menu.setParentId(parentId);
|
|
menu.setTitle("机构管理");
|
|
menu.setPath("/system/organization");
|
|
menu.setComponent("/system/organization");
|
|
menu.setIcon("bank-outlined");
|
|
menu.setAuthority("");
|
|
menu.setSortNumber(5);
|
|
menuService.save(menu);
|
|
Integer orgParentId = menu.getMenuId();
|
|
menu.setParentId(orgParentId);
|
|
menu.setMenuType(1);
|
|
menu.setPath("");
|
|
menu.setComponent("");
|
|
menu.setIcon("");
|
|
menu.setTitle("查询");
|
|
menu.setAuthority("sys:org:list");
|
|
menuService.save(menu);
|
|
menu.setParentId(orgParentId);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("sys:org:save");
|
|
menuService.save(menu);
|
|
menu.setParentId(orgParentId);
|
|
menu.setTitle("修改");
|
|
menu.setAuthority("sys:org:update");
|
|
menuService.save(menu);
|
|
menu.setParentId(orgParentId);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("sys:org:remove");
|
|
menuService.save(menu);
|
|
menu.setMenuType(0);
|
|
menu.setParentId(parentId);
|
|
menu.setTitle("字典管理");
|
|
menu.setPath("/system/dict");
|
|
menu.setComponent("/system/dict");
|
|
menu.setIcon("profile-outlined");
|
|
menu.setAuthority("");
|
|
menu.setSortNumber(4);
|
|
menuService.save(menu);
|
|
Integer dictParentId = menu.getMenuId();
|
|
menu.setParentId(dictParentId);
|
|
menu.setMenuType(1);
|
|
menu.setTitle("查询");
|
|
menu.setAuthority("sys:dict:list");
|
|
menu.setIcon("");
|
|
menu.setPath("");
|
|
menu.setComponent("");
|
|
menuService.save(menu);
|
|
menu.setParentId(dictParentId);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("sys:dict:save");
|
|
menuService.save(menu);
|
|
menu.setParentId(dictParentId);
|
|
menu.setTitle("修改");
|
|
menu.setAuthority("sys:dict:update");
|
|
menuService.save(menu);
|
|
menu.setParentId(dictParentId);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("sys:dict:remove");
|
|
menuService.save(menu);
|
|
menu.setMenuType(0);
|
|
menu.setParentId(parentId);
|
|
menu.setTitle("登录日志");
|
|
menu.setPath("/system/login-record");
|
|
menu.setComponent("/system/login-record");
|
|
menu.setIcon("calendar-outlined");
|
|
menu.setAuthority("sys:login-record:list");
|
|
menu.setSortNumber(7);
|
|
menuService.save(menu);
|
|
menu.setParentId(parentId);
|
|
menu.setTitle("操作日志");
|
|
menu.setPath("/system/operation-record");
|
|
menu.setComponent("/system/operation-record");
|
|
menu.setIcon("file-search-outlined");
|
|
menu.setAuthority("sys:operation-record:list");
|
|
menu.setSortNumber(8);
|
|
menuService.save(menu);
|
|
menu.setParentId(parentId);
|
|
menu.setTitle("文件管理");
|
|
menu.setPath("/system/file");
|
|
menu.setComponent("/system/file");
|
|
menu.setIcon("folder-outlined");
|
|
menu.setAuthority("");
|
|
menu.setSortNumber(6);
|
|
menuService.save(menu);
|
|
Integer fileParentId = menu.getMenuId();
|
|
menu.setParentId(fileParentId);
|
|
menu.setMenuType(1);
|
|
menu.setTitle("查看记录");
|
|
menu.setPath("");
|
|
menu.setComponent("");
|
|
menu.setIcon("");
|
|
menu.setAuthority("sys:file:list");
|
|
menuService.save(menu);
|
|
menu.setParentId(fileParentId);
|
|
menu.setTitle("上传文件");
|
|
menu.setAuthority("sys:file:upload");
|
|
menuService.save(menu);
|
|
menu.setParentId(fileParentId);
|
|
menu.setTitle("修改文件");
|
|
menu.setAuthority("sys:file:update");
|
|
menuService.save(menu);
|
|
menu.setParentId(fileParentId);
|
|
menu.setTitle("删除文件");
|
|
menu.setAuthority("sys:org:remove");
|
|
menuService.save(menu);
|
|
menu.setMenuType(0);
|
|
menu.setParentId(parentId);
|
|
menu.setTitle("系统设置");
|
|
menu.setPath("/system/setting");
|
|
menu.setComponent("/system/setting");
|
|
menu.setIcon("setting-outlined");
|
|
menu.setAuthority("sys:setting:save");
|
|
menu.setSortNumber(10);
|
|
menuService.save(menu);
|
|
menu.setParentId(parentId);
|
|
menu.setTitle("用户信息");
|
|
menu.setPath("/system/user-info");
|
|
menu.setComponent("/system/user-info");
|
|
menu.setIcon("team-outlined");
|
|
menu.setAuthority("");
|
|
menu.setHide(1);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(9);
|
|
menuService.save(menu);
|
|
Integer userInfoParentId = menu.getMenuId();
|
|
menu.setParentId(userInfoParentId);
|
|
menu.setMenuType(1);
|
|
menu.setTitle("修改个人密码");
|
|
menu.setAuthority("sys:auth:password");
|
|
menu.setIcon("");
|
|
menu.setPath("");
|
|
menu.setComponent("");
|
|
menuService.save(menu);
|
|
menu.setParentId(userInfoParentId);
|
|
menu.setTitle("修改个人资料");
|
|
menu.setAuthority("sys:auth:user");
|
|
menuService.save(menu);
|
|
menu.setTitle("扩展插件");
|
|
menu.setParentId(parentId);
|
|
menu.setIcon("AppstoreAddOutlined");
|
|
menu.setPath("/system/appstore");
|
|
menu.setComponent("/system/appstore");
|
|
menu.setMenuType(0);
|
|
menu.setAuthority("oa:app:list");
|
|
menu.setSortNumber(100);
|
|
menu.setHide(0);
|
|
menuService.save(menu);
|
|
// 1.控制台
|
|
menu.setParentId(0);
|
|
menu.setTitle("控制台");
|
|
menu.setPath("/dashboard");
|
|
menu.setIcon("home-outlined");
|
|
menu.setComponent("");
|
|
menu.setAuthority("");
|
|
menu.setSortNumber(1);
|
|
menu.setMenuType(0);
|
|
menuService.save(menu);
|
|
Integer dashboardParentId = menu.getMenuId();
|
|
menu.setTitle("工作台");
|
|
menu.setPath("/dashboard/workplace");
|
|
menu.setComponent("/dashboard/workplace");
|
|
menu.setIcon("DesktopOutlined");
|
|
menu.setParentId(dashboardParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
menu.setTitle("统计分析");
|
|
menu.setPath("/dashboard/analysis");
|
|
menu.setComponent("/dashboard/analysis");
|
|
menu.setIcon("BarChartOutlined");
|
|
menu.setParentId(dashboardParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(1);
|
|
menuService.save(menu);
|
|
// 2.办公协同
|
|
menu.setParentId(0);
|
|
menu.setTitle("办公协同");
|
|
menu.setPath("/oa");
|
|
menu.setComponent("");
|
|
menu.setAuthority("");
|
|
menu.setMenuType(0);
|
|
menu.setIcon("LaptopOutlined");
|
|
menu.setHide(0);
|
|
menu.setSortNumber(2);
|
|
menuService.save(menu);
|
|
Integer oaParentId = menu.getMenuId();
|
|
menu.setParentId(oaParentId);
|
|
menu.setTitle("服务器管理");
|
|
menu.setPath("/oa/assets/server");
|
|
menu.setComponent("/oa/assets/server");
|
|
menu.setIcon("AuditOutlined");
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
Integer serverParentId = menu.getMenuId();
|
|
menu.setTitle("查询");
|
|
menu.setParentId(serverParentId);
|
|
menu.setMenuType(1);
|
|
menu.setPath("");
|
|
menu.setIcon("");
|
|
menu.setComponent("");
|
|
menu.setAuthority("oa:assets:list");
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("oa:assets:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("更新");
|
|
menu.setAuthority("oa:assets:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("移除");
|
|
menu.setAuthority("oa:assets:remove");
|
|
menuService.save(menu);
|
|
menu.setParentId(oaParentId);
|
|
menu.setMenuType(0);
|
|
menu.setTitle("客户管理");
|
|
menu.setPath("/oa/customer");
|
|
menu.setComponent("/oa/customer");
|
|
menu.setIcon("TeamOutlined");
|
|
menu.setSortNumber(1);
|
|
menuService.save(menu);
|
|
Integer customerParentId = menu.getMenuId();
|
|
menu.setParentId(customerParentId);
|
|
menu.setTitle("查询");
|
|
menu.setMenuType(1);
|
|
menu.setPath("");
|
|
menu.setIcon("");
|
|
menu.setComponent("");
|
|
menu.setSortNumber(0);
|
|
menu.setAuthority("oa:customer:list");
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("oa:customer:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("更新");
|
|
menu.setAuthority("oa:customer:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("移除");
|
|
menu.setAuthority("oa:customer:remove");
|
|
menuService.save(menu);
|
|
// 3.商户管理
|
|
menu.setParentId(0);
|
|
menu.setTitle("商户管理");
|
|
menu.setPath("/merchant");
|
|
menu.setIcon("ShopOutlined");
|
|
menu.setComponent("");
|
|
menu.setAuthority("");
|
|
menu.setSortNumber(3);
|
|
menu.setMenuType(0);
|
|
menuService.save(menu);
|
|
Integer merchantParentId = menu.getMenuId();
|
|
menu.setTitle("商户列表");
|
|
menu.setPath("/merchant/index");
|
|
menu.setComponent("/merchant/index");
|
|
menu.setIcon("ShopOutlined");
|
|
menu.setParentId(merchantParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
Integer shopInfoParentId = menu.getMenuId();
|
|
menu.setTitle("列表");
|
|
menu.setParentId(shopInfoParentId);
|
|
menu.setMenuType(1);
|
|
menu.setPath("");
|
|
menu.setIcon("");
|
|
menu.setComponent("");
|
|
menu.setAuthority("shop:merchant:list");
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("shop:merchant:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("编辑");
|
|
menu.setAuthority("shop:merchant:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("shop:merchant:remove");
|
|
menuService.save(menu);
|
|
menu.setTitle("入驻审核");
|
|
menu.setPath("/merchant/apply");
|
|
menu.setComponent("/merchant/apply");
|
|
menu.setIcon("HourglassOutlined");
|
|
menu.setParentId(merchantParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(1);
|
|
menuService.save(menu);
|
|
menu.setTitle("地址管理");
|
|
menu.setPath("/merchant/address");
|
|
menu.setComponent("/merchant/address");
|
|
menu.setIcon("EnvironmentOutlined");
|
|
menu.setParentId(merchantParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(2);
|
|
menuService.save(menu);
|
|
menu.setTitle("店铺装修");
|
|
menu.setPath("/merchant/decorate");
|
|
menu.setComponent("/merchant/decorate");
|
|
menu.setIcon("FormatPainterOutlined");
|
|
menu.setParentId(merchantParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(3);
|
|
menuService.save(menu);
|
|
menu.setTitle("主题风格");
|
|
menu.setPath("/merchant/theme");
|
|
menu.setComponent("/merchant/theme");
|
|
menu.setIcon("BgColorsOutlined");
|
|
menu.setParentId(merchantParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(4);
|
|
menuService.save(menu);
|
|
menu.setTitle("资金提现");
|
|
menu.setPath("/merchant/withdraw");
|
|
menu.setComponent("/merchant/withdraw");
|
|
menu.setIcon("RedEnvelopeOutlined");
|
|
menu.setParentId(merchantParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(5);
|
|
menuService.save(menu);
|
|
// 4.商品管理
|
|
menu.setParentId(0);
|
|
menu.setTitle("商品管理");
|
|
menu.setPath("/goods");
|
|
menu.setIcon("ShoppingOutlined");
|
|
menu.setComponent("");
|
|
menu.setAuthority("");
|
|
menu.setSortNumber(4);
|
|
menu.setMenuType(0);
|
|
menuService.save(menu);
|
|
Integer goodsParentId = menu.getMenuId();
|
|
menu.setTitle("商品列表");
|
|
menu.setPath("/goods/index");
|
|
menu.setComponent("/goods/index");
|
|
menu.setIcon("SkinOutlined");
|
|
menu.setParentId(goodsParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
Integer shopIndexParentId = menu.getMenuId();
|
|
menu.setTitle("列表");
|
|
menu.setParentId(shopIndexParentId);
|
|
menu.setMenuType(1);
|
|
menu.setPath("");
|
|
menu.setIcon("");
|
|
menu.setComponent("");
|
|
menu.setAuthority("shop:goods:list");
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("shop:goods:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("编辑");
|
|
menu.setAuthority("shop:goods:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("shop:goods:remove");
|
|
menuService.save(menu);
|
|
menu.setTitle("商品分类");
|
|
menu.setPath("/goods/category");
|
|
menu.setComponent("/goods/category");
|
|
menu.setIcon("ApartmentOutlined");
|
|
menu.setParentId(goodsParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(1);
|
|
menuService.save(menu);
|
|
Integer goodsCategoryParentId = menu.getMenuId();
|
|
menu.setTitle("列表");
|
|
menu.setParentId(goodsCategoryParentId);
|
|
menu.setMenuType(1);
|
|
menu.setPath("");
|
|
menu.setIcon("");
|
|
menu.setComponent("");
|
|
menu.setAuthority("shop:category:list");
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("shop:category:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("编辑");
|
|
menu.setAuthority("shop:category:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("shop:category:remove");
|
|
menuService.save(menu);
|
|
menu.setTitle("商品评价");
|
|
menu.setPath("/goods/comment");
|
|
menu.setComponent("/goods/comment");
|
|
menu.setIcon("GiftOutlined");
|
|
menu.setParentId(goodsParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(2);
|
|
menuService.save(menu);
|
|
Integer goodsCommentParentId = menu.getMenuId();
|
|
menu.setTitle("列表");
|
|
menu.setParentId(goodsCommentParentId);
|
|
menu.setMenuType(1);
|
|
menu.setPath("");
|
|
menu.setIcon("");
|
|
menu.setComponent("");
|
|
menu.setAuthority("shop:comment:list");
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("shop:comment:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("编辑");
|
|
menu.setAuthority("shop:comment:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("shop:comment:remove");
|
|
menuService.save(menu);
|
|
menu.setTitle("服务承诺");
|
|
menu.setPath("/goods/service");
|
|
menu.setComponent("/goods/service");
|
|
menu.setIcon("InsuranceOutlined");
|
|
menu.setParentId(goodsParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(3);
|
|
menuService.save(menu);
|
|
Integer goodsServiceParentId = menu.getMenuId();
|
|
menu.setTitle("列表");
|
|
menu.setParentId(goodsServiceParentId);
|
|
menu.setMenuType(1);
|
|
menu.setPath("");
|
|
menu.setIcon("");
|
|
menu.setComponent("");
|
|
menu.setAuthority("shop:goodsService:list");
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("shop:goodsService:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("编辑");
|
|
menu.setAuthority("shop:goodsService:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("shop:goodsService:remove");
|
|
menuService.save(menu);
|
|
// 5.订单管理
|
|
menu.setParentId(0);
|
|
menu.setTitle("订单管理");
|
|
menu.setPath("/order");
|
|
menu.setIcon("CalendarOutlined");
|
|
menu.setComponent("");
|
|
menu.setAuthority("");
|
|
menu.setSortNumber(5);
|
|
menu.setMenuType(0);
|
|
menuService.save(menu);
|
|
Integer orderParentId = menu.getMenuId();
|
|
menu.setTitle("全部订单");
|
|
menu.setPath("/order/all");
|
|
menu.setComponent("/order/all");
|
|
menu.setIcon("ProfileOutlined");
|
|
menu.setParentId(orderParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
Integer orderAllParentId = menu.getMenuId();
|
|
menu.setTitle("列表");
|
|
menu.setParentId(orderAllParentId);
|
|
menu.setMenuType(1);
|
|
menu.setPath("");
|
|
menu.setIcon("");
|
|
menu.setComponent("");
|
|
menu.setAuthority("shop:order:list");
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("shop:order:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("编辑");
|
|
menu.setAuthority("shop:order:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("shop:order:remove");
|
|
menuService.save(menu);
|
|
menu.setTitle("退款单");
|
|
menu.setPath("/order/refund");
|
|
menu.setComponent("/order/refund");
|
|
menu.setIcon("MoneyCollectOutlined");
|
|
menu.setParentId(orderParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(1);
|
|
menuService.save(menu);
|
|
menu.setTitle("发货管理");
|
|
menu.setPath("/order/delivery");
|
|
menu.setComponent("/order/delivery");
|
|
menu.setIcon("CarOutlined");
|
|
menu.setParentId(orderParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(2);
|
|
menuService.save(menu);
|
|
menu.setTitle("订单导出");
|
|
menu.setPath("/order/export");
|
|
menu.setComponent("/order/export");
|
|
menu.setIcon("UploadOutlined");
|
|
menu.setParentId(orderParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(3);
|
|
menuService.save(menu);
|
|
// 6.用户管理
|
|
menu.setParentId(0);
|
|
menu.setTitle("用户管理");
|
|
menu.setPath("/user");
|
|
menu.setIcon("TeamOutlined");
|
|
menu.setComponent("");
|
|
menu.setAuthority("");
|
|
menu.setSortNumber(6);
|
|
menu.setMenuType(0);
|
|
menuService.save(menu);
|
|
Integer outUserParentId = menu.getMenuId();
|
|
menu.setTitle("用户列表");
|
|
menu.setPath("/user/index");
|
|
menu.setComponent("/user/index");
|
|
menu.setIcon("TeamOutlined");
|
|
menu.setParentId(outUserParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
Integer memberListParentId = menu.getMenuId();
|
|
menu.setTitle("列表");
|
|
menu.setParentId(memberListParentId);
|
|
menu.setMenuType(1);
|
|
menu.setPath("");
|
|
menu.setIcon("");
|
|
menu.setComponent("");
|
|
menu.setAuthority("shop:member:list");
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("shop:member:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("编辑");
|
|
menu.setAuthority("shop:member:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("shop:member:remove");
|
|
menuService.save(menu);
|
|
menu.setTitle("余额明细");
|
|
menu.setPath("/user/balance-log");
|
|
menu.setComponent("/user/balance-log");
|
|
menu.setIcon("WalletOutlined");
|
|
menu.setParentId(outUserParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(1);
|
|
menuService.save(menu);
|
|
Integer balanceLogParentId = menu.getMenuId();
|
|
menu.setTitle("列表");
|
|
menu.setParentId(balanceLogParentId);
|
|
menu.setMenuType(1);
|
|
menu.setPath("");
|
|
menu.setIcon("");
|
|
menu.setComponent("");
|
|
menu.setAuthority("shop:memberBalanceLog:list");
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("shop:memberBalanceLog:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("编辑");
|
|
menu.setAuthority("shop:memberBalanceLog:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("shop:memberBalanceLog:remove");
|
|
menuService.save(menu);
|
|
menu.setTitle("充值记录");
|
|
menu.setPath("/user/recharge");
|
|
menu.setComponent("/user/recharge");
|
|
menu.setIcon("UngroupOutlined");
|
|
menu.setParentId(outUserParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(2);
|
|
menuService.save(menu);
|
|
Integer userRechargeParentId = menu.getMenuId();
|
|
menu.setTitle("列表");
|
|
menu.setParentId(userRechargeParentId);
|
|
menu.setMenuType(1);
|
|
menu.setPath("");
|
|
menu.setIcon("");
|
|
menu.setComponent("");
|
|
menu.setAuthority("shop:memberRecharge:list");
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("shop:memberRecharge:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("编辑");
|
|
menu.setAuthority("shop:memberRecharge:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("shop:memberRecharge:remove");
|
|
menuService.save(menu);
|
|
menu.setTitle("消息提醒");
|
|
menu.setPath("/user/notice");
|
|
menu.setComponent("/user/notice");
|
|
menu.setIcon("SoundOutlined");
|
|
menu.setParentId(outUserParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(3);
|
|
menuService.save(menu);
|
|
Integer userNoticeParentId = menu.getMenuId();
|
|
menu.setTitle("列表");
|
|
menu.setParentId(userNoticeParentId);
|
|
menu.setMenuType(1);
|
|
menu.setPath("");
|
|
menu.setIcon("");
|
|
menu.setComponent("");
|
|
menu.setAuthority("shop:memberNotice:list");
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("shop:memberNotice:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("编辑");
|
|
menu.setAuthority("shop:memberNotice:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("shop:memberNotice:remove");
|
|
menuService.save(menu);
|
|
// 7.内容管理
|
|
menu.setParentId(0);
|
|
menu.setTitle("内容管理");
|
|
menu.setPath("/cms");
|
|
menu.setComponent("");
|
|
menu.setAuthority("");
|
|
menu.setIcon("FileSearchOutlined");
|
|
menu.setHide(0);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(7);
|
|
menuService.save(menu);
|
|
Integer contentParentId = menu.getMenuId();
|
|
menu.setTitle("文章管理");
|
|
menu.setPath("/cms/article");
|
|
menu.setComponent("/cms/article");
|
|
menu.setIcon("FileSearchOutlined");
|
|
menu.setAuthority("");
|
|
menu.setSortNumber(1);
|
|
menu.setMenuType(0);
|
|
menu.setParentId(contentParentId);
|
|
menuService.save(menu);
|
|
Integer articleParentId = menu.getMenuId();
|
|
menu.setParentId(articleParentId);
|
|
menu.setMenuType(1);
|
|
menu.setIcon("");
|
|
menu.setPath("");
|
|
menu.setComponent("");
|
|
menu.setTitle("查询");
|
|
menu.setSortNumber(0);
|
|
menu.setAuthority("cms:article:list");
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("cms:article:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("修改");
|
|
menu.setAuthority("cms:article:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("cms:article:remove");
|
|
menuService.save(menu);
|
|
menu.setTitle("文章分类");
|
|
menu.setPath("/cms/category");
|
|
menu.setComponent("/cms/category");
|
|
menu.setIcon("ApartmentOutlined");
|
|
menu.setAuthority("");
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(2);
|
|
menu.setParentId(contentParentId);
|
|
menuService.save(menu);
|
|
Integer categoryParentId = menu.getMenuId();
|
|
menu.setParentId(categoryParentId);
|
|
menu.setMenuType(1);
|
|
menu.setIcon("");
|
|
menu.setPath("");
|
|
menu.setComponent("");
|
|
menu.setSortNumber(0);
|
|
menu.setTitle("查询");
|
|
menu.setAuthority("cms:articleCategory:list");
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("cms:articleCategory:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("修改");
|
|
menu.setAuthority("cms:articleCategory:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("cms:articleCategory:remove");
|
|
menuService.save(menu);
|
|
menu.setTitle("文档管理");
|
|
menu.setPath("/cms/docs/:id");
|
|
menu.setComponent("/cms/docs");
|
|
menu.setIcon("ReadOutlined");
|
|
menu.setAuthority("");
|
|
menu.setSortNumber(3);
|
|
menu.setMenuType(0);
|
|
menu.setParentId(contentParentId);
|
|
menuService.save(menu);
|
|
Integer docsParentId = menu.getMenuId();
|
|
menu.setParentId(docsParentId);
|
|
menu.setMenuType(1);
|
|
menu.setIcon("");
|
|
menu.setPath("");
|
|
menu.setComponent("");
|
|
menu.setSortNumber(0);
|
|
menu.setTitle("查询");
|
|
menu.setAuthority("cms:docs:list");
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("cms:docs:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("修改");
|
|
menu.setAuthority("cms:docs:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("cms:docs:remove");
|
|
menuService.save(menu);
|
|
menu.setTitle("视频管理");
|
|
menu.setPath("/cms/video");
|
|
menu.setComponent("/cms/video");
|
|
menu.setIcon("YoutubeOutlined");
|
|
menu.setAuthority("");
|
|
menu.setSortNumber(4);
|
|
menu.setMenuType(0);
|
|
menu.setParentId(contentParentId);
|
|
menuService.save(menu);
|
|
Integer cmsVideoParentId = menu.getMenuId();
|
|
menu.setParentId(cmsVideoParentId);
|
|
menu.setMenuType(1);
|
|
menu.setIcon("");
|
|
menu.setPath("");
|
|
menu.setComponent("");
|
|
menu.setSortNumber(0);
|
|
menu.setTitle("列表");
|
|
menu.setAuthority("cms:file:list");
|
|
menuService.save(menu);
|
|
menu.setTitle("上传");
|
|
menu.setAuthority("sys:file:upload");
|
|
menuService.save(menu);
|
|
menu.setTitle("编辑");
|
|
menu.setAuthority("sys:file:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("sys:file:remove");
|
|
menuService.save(menu);
|
|
menu.setTitle("视频播放");
|
|
menu.setIcon("");
|
|
menu.setPath("/cms/video/player");
|
|
menu.setComponent("/cms/video/player");
|
|
menu.setMenuType(0);
|
|
menu.setHide(1);
|
|
menu.setMeta("{\"active\": \"/cms/video\", \"tabUnique\": false}");
|
|
menuService.save(menu);
|
|
menu.setTitle("文件下载");
|
|
menu.setPath("/cms/down");
|
|
menu.setComponent("/cms/down");
|
|
menu.setIcon("LinkOutlined");
|
|
menu.setAuthority("");
|
|
menu.setHide(0);
|
|
menu.setSortNumber(5);
|
|
menu.setMenuType(0);
|
|
menu.setParentId(contentParentId);
|
|
menuService.save(menu);
|
|
// 8.营销管理
|
|
menu.setParentId(0);
|
|
menu.setTitle("营销管理");
|
|
menu.setPath("/market");
|
|
menu.setIcon("CrownOutlined");
|
|
menu.setComponent("");
|
|
menu.setAuthority("");
|
|
menu.setSortNumber(8);
|
|
menu.setMenuType(0);
|
|
menuService.save(menu);
|
|
Integer marketParentId = menu.getMenuId();
|
|
menu.setTitle("优惠券");
|
|
menu.setPath("/market/coupon");
|
|
menu.setComponent("/market/coupon");
|
|
menu.setIcon("TagsOutlined");
|
|
menu.setParentId(marketParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
Integer marketCouponParentId = menu.getMenuId();
|
|
menu.setParentId(marketCouponParentId);
|
|
menu.setMenuType(1);
|
|
menu.setIcon("");
|
|
menu.setPath("");
|
|
menu.setComponent("");
|
|
menu.setTitle("查询");
|
|
menu.setSortNumber(0);
|
|
menu.setAuthority("cms:coupon:list");
|
|
menuService.save(menu);
|
|
menu.setTitle("添加");
|
|
menu.setAuthority("cms:coupon:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("修改");
|
|
menu.setAuthority("cms:coupon:update");
|
|
menuService.save(menu);
|
|
menu.setTitle("删除");
|
|
menu.setAuthority("cms:coupon:remove");
|
|
menuService.save(menu);
|
|
menu.setTitle("会员充值");
|
|
menu.setPath("/market/recharge");
|
|
menu.setComponent("/market/recharge");
|
|
menu.setIcon("MoneyCollectOutlined");
|
|
menu.setParentId(marketParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(1);
|
|
menuService.save(menu);
|
|
menu.setTitle("积分管理");
|
|
menu.setPath("/market/points");
|
|
menu.setComponent("/market/points");
|
|
menu.setIcon("PayCircleOutlined");
|
|
menu.setParentId(marketParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(2);
|
|
menuService.save(menu);
|
|
// 9.应用中心
|
|
menu.setParentId(0);
|
|
menu.setTitle("应用中心");
|
|
menu.setPath("/apps");
|
|
menu.setIcon("AppstoreAddOutlined");
|
|
menu.setComponent("");
|
|
menu.setAuthority("");
|
|
menu.setSortNumber(9);
|
|
menu.setMenuType(0);
|
|
menuService.save(menu);
|
|
|
|
// 个人中心
|
|
menu.setParentId(0);
|
|
menu.setTitle("个人中心");
|
|
menu.setPath("/user-center");
|
|
menu.setIcon("UserOutlined");
|
|
menu.setComponent("");
|
|
menu.setAuthority("");
|
|
menu.setMenuType(0);
|
|
menu.setHide(1);
|
|
menu.setSortNumber(99);
|
|
menuService.save(menu);
|
|
Integer userCenterParentId = menu.getMenuId();
|
|
menu.setTitle("个人资料");
|
|
menu.setPath("/user/profile");
|
|
menu.setComponent("/user/profile");
|
|
menu.setIcon("IdcardOutlined");
|
|
menu.setParentId(userCenterParentId);
|
|
menu.setMenuType(0);
|
|
menu.setSortNumber(0);
|
|
menuService.save(menu);
|
|
Integer userProfileParentId = menu.getMenuId();
|
|
menu.setParentId(userProfileParentId);
|
|
menu.setMenuType(1);
|
|
menu.setIcon("");
|
|
menu.setPath("");
|
|
menu.setComponent("");
|
|
menu.setTitle("修改资料");
|
|
menu.setSortNumber(0);
|
|
menu.setAuthority("sys:auth:user");
|
|
menuService.save(menu);
|
|
menu.setTitle("修改密码");
|
|
menu.setAuthority("sys:auth:password");
|
|
menuService.save(menu);
|
|
menu.setTitle("上传头像");
|
|
menu.setAuthority("sys:file:upload");
|
|
menu.setTitle("预览头像");
|
|
menu.setAuthority("sys:file:list");
|
|
menu.setTitle("保存头像");
|
|
menu.setAuthority("sys:user:update");
|
|
menuService.save(menu);
|
|
menu.setParentId(userCenterParentId);
|
|
menu.setTitle("用户注册");
|
|
menu.setAuthority("sys:user:save");
|
|
menuService.save(menu);
|
|
menu.setTitle("字典查询");
|
|
menu.setAuthority("sys:dict:list");
|
|
|
|
boolean resultMenu = menuService.save(menu);
|
|
// 添加菜单ID到超级管理员所属角色ID
|
|
if (resultMenu) {
|
|
saveRedis(tenant);
|
|
return success("创建成功");
|
|
}
|
|
}
|
|
}
|
|
throw new BusinessException("创建失败");
|
|
}
|
|
|
|
@PreAuthorize("hasAuthority('oa:tenant:update')")
|
|
@OperationLog
|
|
@ApiOperation("修改租户")
|
|
@PutMapping()
|
|
public ApiResult<?> update(@RequestBody Tenant tenant) {
|
|
saveRedis(tenant);
|
|
if (tenantService.updateById(tenant)) {
|
|
return success("修改成功");
|
|
}
|
|
return fail("修改失败");
|
|
}
|
|
|
|
// 缓存租户信息
|
|
private void saveRedis(Tenant tenant) {
|
|
String key = "cache:tenant";
|
|
String tenantId = tenant.getTenantId().toString();
|
|
if (StrUtil.isEmpty(tenant.getTenantCode())) {
|
|
tenant.setTenantCode(CommonUtil.randomUUID16());
|
|
}
|
|
String data = JSONUtil.toJSONString(tenant);
|
|
stringRedisTemplate.opsForHash().put(key,tenantId, data);
|
|
}
|
|
|
|
@PreAuthorize("hasAuthority('oa:tenant:remove')")
|
|
@OperationLog
|
|
@ApiOperation("删除租户")
|
|
@DeleteMapping("/{id}")
|
|
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
|
if (tenantService.removeById(id)) {
|
|
String key = "cache:tenant";
|
|
stringRedisTemplate.opsForHash().delete(key,id.toString());
|
|
return success("删除成功");
|
|
}
|
|
return fail("删除失败");
|
|
}
|
|
|
|
@PreAuthorize("hasAuthority('oa:tenant:save')")
|
|
@OperationLog
|
|
@ApiOperation("批量添加租户")
|
|
@PostMapping("/batch")
|
|
public ApiResult<?> saveBatch(@RequestBody List<Tenant> list) {
|
|
if (tenantService.saveBatch(list)) {
|
|
return success("添加成功");
|
|
}
|
|
return fail("添加失败");
|
|
}
|
|
|
|
@PreAuthorize("hasAuthority('oa:tenant:update')")
|
|
@OperationLog
|
|
@ApiOperation("批量修改租户")
|
|
@PutMapping("/batch")
|
|
public ApiResult<?> removeBatch(@RequestBody BatchParam<Tenant> batchParam) {
|
|
if (batchParam.update(tenantService, "tenant_id")) {
|
|
return success("修改成功");
|
|
}
|
|
return fail("修改失败");
|
|
}
|
|
|
|
@PreAuthorize("hasAuthority('oa:tenant:remove')")
|
|
@OperationLog
|
|
@ApiOperation("批量删除租户")
|
|
@DeleteMapping("/batch")
|
|
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
|
if (tenantService.removeByIds(ids)) {
|
|
return success("删除成功");
|
|
}
|
|
return fail("删除失败");
|
|
}
|
|
|
|
@ApiOperation("租户角色权限初始化")
|
|
@GetMapping("/role-menu/{id}")
|
|
public ApiResult<List<Menu>> initialization(@PathVariable("id") Integer roleId) {
|
|
List<Menu> menus = menuService.list(new LambdaQueryWrapper<Menu>().orderByAsc(Menu::getSortNumber));
|
|
List<RoleMenu> roleMenus = roleMenuService.list(new LambdaQueryWrapper<RoleMenu>()
|
|
.eq(RoleMenu::getRoleId, roleId));
|
|
for (Menu menu : menus) {
|
|
menu.setChecked(roleMenus.stream().anyMatch((d) -> d.getMenuId().equals(menu.getMenuId())));
|
|
}
|
|
List<Integer> menuIds = menus.stream().map(Menu::getMenuId).collect(Collectors.toList());
|
|
roleMenuService.remove(new LambdaUpdateWrapper<RoleMenu>().eq(RoleMenu::getRoleId, roleId));
|
|
if (menuIds.size() > 0) {
|
|
List<RoleMenu> roleMenuList = new ArrayList<>();
|
|
for (Integer menuId : menuIds) {
|
|
RoleMenu roleMenu = new RoleMenu();
|
|
roleMenu.setRoleId(roleId);
|
|
roleMenu.setMenuId(menuId);
|
|
roleMenuList.add(roleMenu);
|
|
}
|
|
if (!roleMenuService.saveBatch(roleMenuList)) {
|
|
throw new BusinessException("保存失败");
|
|
}
|
|
}
|
|
return success(menus);
|
|
}
|
|
|
|
}
|