Files
sifa-java/src/main/java/com/gxwebsoft/open/controller/OpenTenantController.java
T
南宁网宿科技 912944faea Initial commit
2023-06-03 23:56:49 +08:00

1270 lines
46 KiB
Java

package com.gxwebsoft.open.controller;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
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.CacheClient;
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.apache.poi.ss.formula.functions.T;
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/open/tenant")
public class OpenTenantController 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;
@Resource
private DictService dictService;
@Resource
private DictDataService dictDataService;
@ApiOperation("分页查询租户")
@GetMapping("/page")
public ApiResult<PageResult<Tenant>> page(TenantParam param) {
// 特殊验证签名
if (!param.getTenantCode().equals("ZAcxbdmDQFwUKC3e")) {
throw new BusinessException("签名失败");
}
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) {
// 验证签名
isCheckSign();
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')")
@ApiOperation("根据id查询租户")
@GetMapping("/{id}")
public ApiResult<Tenant> get(@PathVariable("id") Integer id) {
// 验证签名
isCheckSign();
return success(tenantService.getById(id));
// 使用关联查询
// return success(tenantService.getByIdRel(id));
}
// @Transactional(rollbackFor = {Exception.class})
// @PreAuthorize("hasAuthority('oa:tenant:save')")
// @OperationLog
// @ApiOperation("添加租户(已废弃)")
// @PostMapping()
// public ApiResult<?> save(@RequestBody Tenant tenant) {
// // 验证签名
// isCheckSign();
// // 记录当前登录用户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();
//
// // 添加默认字典
// final Dict dict = new Dict();
// dict.setDictName("性别");
// dict.setDictCode("sex");
// dict.setTenantId(tenant.getTenantId());
// dictService.save(dict);
// final DictData dictData = new DictData();
// dictData.setDictId(dict.getDictId());
// dictData.setDictDataName("男");
// dictData.setDictDataCode("1");
// dictData.setTenantId(tenant.getTenantId());
// dictDataService.save(dictData);
// dictData.setDictDataName("女");
// dictData.setDictDataCode("2");
// dictData.setTenantId(tenant.getTenantId());
// dictDataService.save(dictData);
//
// // 添加游客账号
// 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) {
// 验证签名
isCheckSign();
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) {
// 验证签名
isCheckSign();
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) {
// 验证签名
isCheckSign();
if (tenantService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('oa:tenant:update')")
@OperationLog
@ApiOperation("批量修改租户")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<Tenant> batchParam) {
// 验证签名
isCheckSign();
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) {
// 验证签名
isCheckSign();
if (tenantService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
@ApiOperation("租户角色权限初始化")
@GetMapping("/role-menu/{id}")
public ApiResult<List<Menu>> initialization(@PathVariable("id") Integer roleId) {
// 验证签名
isCheckSign();
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);
}
}