This commit is contained in:
hucs
2024-06-13 17:40:08 +08:00
parent 8a475d795e
commit 9cc27b3ba1
6 changed files with 65 additions and 7 deletions

View File

@@ -105,8 +105,7 @@ public class GlobalExceptionHandler {
*/
@ExceptionHandler(CustomException.class)
public R customException(CustomException e) {
log.error(e.getMessage(), e);
return R.error(e.getMessage());
}
}

View File

@@ -33,7 +33,8 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
// this.setFieldValByName("createdTime", getDate(), metaObject);
this.setFieldValByName("createdTime", new Date(), metaObject);
this.setFieldValByName("deleted", false, metaObject);
this.setFieldValByName("version", 1L, metaObject);
Object createUser = this.getFieldValByName("createdBy", metaObject);
@@ -46,7 +47,7 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void updateFill(MetaObject metaObject) {
// this.setFieldValByName("updatedTime", getDate(), metaObject);
this.setFieldValByName("updatedTime", getDate(), metaObject);
Object createUser = this.getFieldValByName("updatedBy", metaObject);
if (createUser == null) {
this.setFieldValByName("createdBy", getOperatorId(), metaObject);

View File

@@ -22,7 +22,7 @@ public class MyTenantLineHandler implements TenantLineHandler {
/**
* 排除过滤的表
*/
private static final String[] TABLE_FILTER = {"sys_login_log", "sys_role", "sys_user", "sys_menu", "sys_tenant_package", "sys_tenant", "sys_dict", "sys_dict_data", "sys_administrative_area_dict_info"};
private static final String[] TABLE_FILTER = {"sys_login_log", "sys_menu", "sys_tenant_package", "sys_tenant", "sys_dict", "sys_dict_data", "sys_administrative_area_dict_info"};
/**
* 排除过滤的表前缀

View File

@@ -1,6 +1,7 @@
package com.starry.admin.common.security.filter;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.starry.admin.common.component.JwtToken;
@@ -34,6 +35,7 @@ import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotNull;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
@@ -192,11 +194,17 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
if (StrUtil.isBlankIfStr(tenantId)) {
return false;
}
if (tenantId.equals("-1")) {
return true;
}
SysTenantEntity entity = sysTenantService.selectSysTenantByTenantId(tenantId);
if (entity == null) {
return false;
}
//判断租户是否过期
if (DateUtil.compare(entity.getTenantTime(), new Date()) < 0) {
return false;
}
//...
//校验通过
return true;

View File

@@ -67,6 +67,8 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
private SysRoleMenuMapper sysRoleMenuMapper;
@Resource
private RedisCache redisCache;
@Resource
private SysMenuMapper menuMapper;
@Override
@@ -209,11 +211,55 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
this.createDomainAndDns(sysTenantEntity.getTenantKey());
// 新增客服和组长
this.initRole(sysTenantEntity);
initOtherRule(sysTenantEntity, "waiter", "客服");
initOtherRule(sysTenantEntity, "leader", "组长");
initOtherRule(sysTenantEntity, "operator", "管理员");
return R.ok("租户创建成功!");
}
private void initRole(SysTenantEntity sysTenantEntity) {
SysRoleEntity waiter = new SysRoleEntity();
waiter.setRoleName(sysTenantEntity.getTenantName() + "客服");
waiter.setRoleKey("waiter");
waiter.setDataScope("1");
waiter.setMenuCheckStrictly(true);
waiter.setDeptCheckStrictly(true);
waiter.setTenantId(sysTenantEntity.getTenantId());
roleMapper.insert(waiter);
SysRoleEntity leader = new SysRoleEntity();
leader.setRoleName(sysTenantEntity.getTenantName() + "组长");
leader.setRoleKey("leader");
leader.setDataScope("3");
leader.setMenuCheckStrictly(true);
leader.setDeptCheckStrictly(true);
leader.setTenantId(sysTenantEntity.getTenantId());
roleMapper.insert(leader);
SysRoleEntity operator = new SysRoleEntity();
operator.setRoleName(sysTenantEntity.getTenantName() + "管理员");
operator.setRoleKey("operator");
operator.setDataScope("3");
operator.setMenuCheckStrictly(true);
operator.setDeptCheckStrictly(true);
operator.setTenantId(sysTenantEntity.getTenantId());
roleMapper.insert(operator);
List<SysMenuEntity> menuList = menuMapper.selectMenuList(new SysMenuEntity());
if (CollectionUtil.isNotEmpty(menuList)) {
List<SysRoleMenuEntity> roleMenuEntityList = menuList.stream().map(menu -> {
SysRoleMenuEntity rm = new SysRoleMenuEntity();
rm.setRoleId(operator.getRoleId());
rm.setMenuId(menu.getMenuId());
return rm;
}).collect(Collectors.toList());
roleMenuService.saveBatch(roleMenuEntityList);
}
}
private Long createDept(SysTenantEntity sysTenantEntity) {
// 创建部门
SysDeptEntity dept = new SysDeptEntity();
@@ -257,7 +303,7 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
SysRoleEntity role = new SysRoleEntity();
role.setRoleName(sysTenantEntity.getTenantName() + ruleName);
role.setRoleKey(roleKey);
role.setDataScope("2");
role.setDataScope("3");
role.setMenuCheckStrictly(true);
role.setDeptCheckStrictly(true);
role.setDescription(ruleName);
@@ -291,6 +337,7 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
user.setUserType(1);
user.setUserEmail(sysTenant.getEmail());
user.setMobile(sysTenant.getPhone());
user.setCreatedTime(new Date());
String password = SecurityUtils.encryptPassword(sysTenant.getUserPwd());
user.setPassWord(password);
user.setTenantId(sysTenant.getTenantId());

View File

@@ -34,9 +34,12 @@ public class SysUserEntity extends BaseEntity<SysUserEntity> {
@TableId(value = "user_id", type = IdType.AUTO)
private String userId;
@ApiModelProperty(value = "用户类型;1:admin;2:会员")
@ApiModelProperty(value = "用户类型;1:admin;2:普通,废弃字段")
private Integer userType;
@ApiModelProperty(value = "是否为超管")
private Boolean superAdmin;
@ApiModelProperty(value = "用户名")
private String userCode;