|
@@ -7,6 +7,7 @@ import cn.cslg.permission.common.model.dto.TenantVipTypeFunctionUpdateDTO;
|
|
import cn.cslg.permission.common.model.vo.FunctionVO2;
|
|
import cn.cslg.permission.common.model.vo.FunctionVO2;
|
|
import cn.cslg.permission.common.model.vo.TenantVO;
|
|
import cn.cslg.permission.common.model.vo.TenantVO;
|
|
import cn.cslg.permission.common.model.vo.TenantVipTypeFunctionVO;
|
|
import cn.cslg.permission.common.model.vo.TenantVipTypeFunctionVO;
|
|
|
|
+import cn.cslg.permission.common.utils.ThrowException;
|
|
import cn.cslg.permission.domain.AssoTenantVipTypeAndFunction;
|
|
import cn.cslg.permission.domain.AssoTenantVipTypeAndFunction;
|
|
import cn.cslg.permission.domain.FunctionIdPathNameDescription;
|
|
import cn.cslg.permission.domain.FunctionIdPathNameDescription;
|
|
import cn.cslg.permission.domain.TenantVipType;
|
|
import cn.cslg.permission.domain.TenantVipType;
|
|
@@ -16,6 +17,8 @@ import cn.cslg.permission.mapper.FunctionMapper;
|
|
import cn.cslg.permission.mapper.TenantMapper;
|
|
import cn.cslg.permission.mapper.TenantMapper;
|
|
import cn.cslg.permission.mapper.TenantVipTypeMapper;
|
|
import cn.cslg.permission.mapper.TenantVipTypeMapper;
|
|
import cn.cslg.permission.service.ITenantVipTypeService;
|
|
import cn.cslg.permission.service.ITenantVipTypeService;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.github.pagehelper.PageInfo;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
@@ -38,13 +41,11 @@ import java.util.stream.Collectors;
|
|
@RequiredArgsConstructor
|
|
@RequiredArgsConstructor
|
|
@Slf4j
|
|
@Slf4j
|
|
@Service
|
|
@Service
|
|
-public class TenantVipTypeService implements ITenantVipTypeService {
|
|
|
|
|
|
+public class TenantVipTypeService extends ServiceImpl<TenantVipTypeMapper, TenantVipType> implements ITenantVipTypeService {
|
|
private final TenantVipTypeMapper tenantVipTypeMapper;
|
|
private final TenantVipTypeMapper tenantVipTypeMapper;
|
|
private final AssoTenantVipTypeFunctionMapper assoTenantVipTypeFunctionMapper;
|
|
private final AssoTenantVipTypeFunctionMapper assoTenantVipTypeFunctionMapper;
|
|
private final TenantMapper tenantMapper;
|
|
private final TenantMapper tenantMapper;
|
|
private final FunctionMapper functionMapper;
|
|
private final FunctionMapper functionMapper;
|
|
- //private final AssoTenantFunctionMapper assoTenantFunctionMapper;
|
|
|
|
- //private final TenantFunctionService tenantFunctionService;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 新增租户会员类型(绑定对应的功能权限)
|
|
* 新增租户会员类型(绑定对应的功能权限)
|
|
@@ -55,35 +56,31 @@ public class TenantVipTypeService implements ITenantVipTypeService {
|
|
public void addNew(TenantVipTypeFunctionAddNewDTO tenantVipTypeFunctionAddNewDTO) {
|
|
public void addNew(TenantVipTypeFunctionAddNewDTO tenantVipTypeFunctionAddNewDTO) {
|
|
log.info("开始处理【新增租户会员类型】的业务,参数为:{}", tenantVipTypeFunctionAddNewDTO);
|
|
log.info("开始处理【新增租户会员类型】的业务,参数为:{}", tenantVipTypeFunctionAddNewDTO);
|
|
|
|
|
|
- //检查租户会员类型名称是否已存在
|
|
|
|
|
|
+ //检查会员名称是否已存在
|
|
String tenantVipName = tenantVipTypeFunctionAddNewDTO.getTenantVipName();
|
|
String tenantVipName = tenantVipTypeFunctionAddNewDTO.getTenantVipName();
|
|
- log.info("检查租户会员类型名称是否被占用");
|
|
|
|
|
|
+ log.info("检查会员名称是否已存在");
|
|
int count = tenantVipTypeMapper.countByTenantVipName(tenantVipName);
|
|
int count = tenantVipTypeMapper.countByTenantVipName(tenantVipName);
|
|
if (count > 0) {
|
|
if (count > 0) {
|
|
- String message = "新增租户会员类型失败,【" + tenantVipName + "】已存在,请尝试更换名称";
|
|
|
|
- log.info("{}", message);
|
|
|
|
- throw new XiaoShiException(message);
|
|
|
|
|
|
+ ThrowException.throwXiaoShiException("新增租户会员类型失败,会员名称【" + tenantVipName + "】已存在,请尝试更换名称");
|
|
}
|
|
}
|
|
|
|
|
|
//将DTO数据对象复制给实体类
|
|
//将DTO数据对象复制给实体类
|
|
TenantVipType tenantVipType = new TenantVipType();
|
|
TenantVipType tenantVipType = new TenantVipType();
|
|
BeanUtils.copyProperties(tenantVipTypeFunctionAddNewDTO, tenantVipType);
|
|
BeanUtils.copyProperties(tenantVipTypeFunctionAddNewDTO, tenantVipType);
|
|
- //是否启用属性暂时默认都设置为启用(禁用0 启用1),若以后前端有需求再调整
|
|
|
|
|
|
+ //是否启用属性暂时默认都设置为启用(禁用0 启用1),若以后有需求再调整
|
|
tenantVipType.setCreateTime(new Date()).setEnable(1);
|
|
tenantVipType.setCreateTime(new Date()).setEnable(1);
|
|
|
|
|
|
- //数据插入租户会员类型表
|
|
|
|
- log.info("数据插入租户会员类型表");
|
|
|
|
|
|
+ //数据入会员表
|
|
|
|
+ log.info("数据入会员表");
|
|
int rows = tenantVipTypeMapper.insert(tenantVipType);
|
|
int rows = tenantVipTypeMapper.insert(tenantVipType);
|
|
if (rows != 1) {
|
|
if (rows != 1) {
|
|
- String message = "数据插入租户会员类型表失败,新增租户会员类型失败,服务器忙请稍后再试";
|
|
|
|
- log.info("{}", message);
|
|
|
|
- throw new XiaoShiException(message);
|
|
|
|
|
|
+ ThrowException.throwXiaoShiException("数据插入租户会员类型表失败,新增租户会员类型失败,服务器忙请稍后再试");
|
|
}
|
|
}
|
|
|
|
|
|
Integer tenantVipTypeId = tenantVipType.getId();
|
|
Integer tenantVipTypeId = tenantVipType.getId();
|
|
- //创建租户会员类型和功能关联表实体类集合,准备将集合进行批量插入租户会员类型和功能关联表
|
|
|
|
|
|
+ //创建会员和功能关联表实体类集合,准备批量插入关联表
|
|
ArrayList<AssoTenantVipTypeAndFunction> assoTenantVipTypeAndFunctions = new ArrayList<>();
|
|
ArrayList<AssoTenantVipTypeAndFunction> assoTenantVipTypeAndFunctions = new ArrayList<>();
|
|
- //从DTO对象中取出功能组件权限路径集合,遍历集合进行操作给租户会员类型和功能关联表实体类赋值
|
|
|
|
|
|
+ //从DTO中取出功能组件权限路径集合,遍历集合给会员和功能关联表实体类赋值
|
|
List<String> functionModifyPaths = tenantVipTypeFunctionAddNewDTO.getFunctionModifyPaths();
|
|
List<String> functionModifyPaths = tenantVipTypeFunctionAddNewDTO.getFunctionModifyPaths();
|
|
for (String functionModifyPath : functionModifyPaths) {
|
|
for (String functionModifyPath : functionModifyPaths) {
|
|
//从功能组件树路径中提取出功能id
|
|
//从功能组件树路径中提取出功能id
|
|
@@ -109,13 +106,11 @@ public class TenantVipTypeService implements ITenantVipTypeService {
|
|
// assoTenantVipTypeAndFunctions.add(assoTenantVipTypeAndFunction2);
|
|
// assoTenantVipTypeAndFunctions.add(assoTenantVipTypeAndFunction2);
|
|
// }
|
|
// }
|
|
}
|
|
}
|
|
- //数据插入租户会员类型和功能关联表
|
|
|
|
|
|
+ //数据入会员和功能关联表
|
|
log.info("数据插入租户会员类型和功能关联表");
|
|
log.info("数据插入租户会员类型和功能关联表");
|
|
rows = assoTenantVipTypeFunctionMapper.insertBatch(assoTenantVipTypeAndFunctions);
|
|
rows = assoTenantVipTypeFunctionMapper.insertBatch(assoTenantVipTypeAndFunctions);
|
|
if (rows != assoTenantVipTypeAndFunctions.size()) {
|
|
if (rows != assoTenantVipTypeAndFunctions.size()) {
|
|
- String message = "数据插入租户会员类型和功能关联表失败,新增租户会员类型失败,服务器忙请稍后再试";
|
|
|
|
- log.info("{}", message);
|
|
|
|
- throw new XiaoShiException(message);
|
|
|
|
|
|
+ ThrowException.throwXiaoShiException("新增租户会员类型失败,数据入会员和功能关联表失败,服务器忙请稍后再试");
|
|
}
|
|
}
|
|
|
|
|
|
log.info("新增租户会员类型完成");
|
|
log.info("新增租户会员类型完成");
|
|
@@ -131,6 +126,7 @@ public class TenantVipTypeService implements ITenantVipTypeService {
|
|
@Override
|
|
@Override
|
|
public JsonPage queryTenantVipType(PageDTO2 pageDTO2) {
|
|
public JsonPage queryTenantVipType(PageDTO2 pageDTO2) {
|
|
log.info("开始处理【查询租户会员类型列表】的业务,参数为:{}", pageDTO2);
|
|
log.info("开始处理【查询租户会员类型列表】的业务,参数为:{}", pageDTO2);
|
|
|
|
+
|
|
Integer page = pageDTO2.getPage();
|
|
Integer page = pageDTO2.getPage();
|
|
Integer pageSize = pageDTO2.getPageSize();
|
|
Integer pageSize = pageDTO2.getPageSize();
|
|
String likeName = pageDTO2.getLikeName();
|
|
String likeName = pageDTO2.getLikeName();
|
|
@@ -183,30 +179,35 @@ public class TenantVipTypeService implements ITenantVipTypeService {
|
|
|
|
|
|
//检查尝试修改的数据是否存在
|
|
//检查尝试修改的数据是否存在
|
|
Integer tenantVipTypeId = tenantVipTypeFunctionUpdateDTO.getId();
|
|
Integer tenantVipTypeId = tenantVipTypeFunctionUpdateDTO.getId();
|
|
|
|
+ String tenantVipName = tenantVipTypeFunctionUpdateDTO.getTenantVipName();
|
|
log.info("检查尝试修改的数据是否存在");
|
|
log.info("检查尝试修改的数据是否存在");
|
|
int count = tenantVipTypeMapper.countById(tenantVipTypeId);
|
|
int count = tenantVipTypeMapper.countById(tenantVipTypeId);
|
|
if (count == 0) {
|
|
if (count == 0) {
|
|
- String message = "尝试修改的数据已不存在,修改失败,尝试访问的数据已不存在";
|
|
|
|
- log.info("{}", message);
|
|
|
|
- throw new XiaoShiException(message);
|
|
|
|
|
|
+ ThrowException.throwXiaoShiException("修改失败,尝试访问的数据已不存在");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //检查尝试修改的名称是否已存在
|
|
|
|
+ LambdaQueryWrapper<TenantVipType> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ queryWrapper.eq(TenantVipType::getTenantVipName, tenantVipName).ne(TenantVipType::getId, tenantVipTypeId);
|
|
|
|
+ List<TenantVipType> tenantVipTypes = this.list(queryWrapper);
|
|
|
|
+ if (tenantVipTypes.size() > 0) {
|
|
|
|
+ ThrowException.throwXiaoShiException("修改租户会员类型失败,会员名称【" + tenantVipName + "】已存在,请尝试更换名称");
|
|
}
|
|
}
|
|
|
|
|
|
- //修改租户会员类型表数据
|
|
|
|
|
|
+ //修改会员表数据
|
|
TenantVipType tenantVipType = new TenantVipType();
|
|
TenantVipType tenantVipType = new TenantVipType();
|
|
BeanUtils.copyProperties(tenantVipTypeFunctionUpdateDTO, tenantVipType);
|
|
BeanUtils.copyProperties(tenantVipTypeFunctionUpdateDTO, tenantVipType);
|
|
- log.info("修改租户会员类型表数据");
|
|
|
|
|
|
+ log.info("修改会员表数据");
|
|
int rows = tenantVipTypeMapper.updateById(tenantVipType);
|
|
int rows = tenantVipTypeMapper.updateById(tenantVipType);
|
|
if (rows != 1) {
|
|
if (rows != 1) {
|
|
- String message = "修改租户会员类型表数据失败,修改失败,服务器忙请稍后再试";
|
|
|
|
- log.info("{}", message);
|
|
|
|
- throw new XiaoShiException(message);
|
|
|
|
|
|
+ ThrowException.throwXiaoShiException("修改失败,修改会员表数据失败,服务器忙请稍后再试");
|
|
}
|
|
}
|
|
|
|
|
|
- //删除原有租户会员类型和功能关联表数据
|
|
|
|
- log.info("删除原有租户会员类型和功能关联表数据");
|
|
|
|
|
|
+ //删除原有会员和功能关联表数据
|
|
|
|
+ log.info("删除原有会员和功能关联表数据");
|
|
assoTenantVipTypeFunctionMapper.deleteByTenantVipTypeId(tenantVipTypeId);
|
|
assoTenantVipTypeFunctionMapper.deleteByTenantVipTypeId(tenantVipTypeId);
|
|
|
|
|
|
- //新数据入租户会员类型和功能关联表
|
|
|
|
|
|
+ //新数据入会员和功能关联表
|
|
List<AssoTenantVipTypeAndFunction> assoTenantVipTypeAndFunctions = new ArrayList<>();
|
|
List<AssoTenantVipTypeAndFunction> assoTenantVipTypeAndFunctions = new ArrayList<>();
|
|
List<String> functionModifyPaths = tenantVipTypeFunctionUpdateDTO.getFunctionModifyPaths();
|
|
List<String> functionModifyPaths = tenantVipTypeFunctionUpdateDTO.getFunctionModifyPaths();
|
|
for (String functionModifyPath : functionModifyPaths) {
|
|
for (String functionModifyPath : functionModifyPaths) {
|
|
@@ -236,12 +237,10 @@ public class TenantVipTypeService implements ITenantVipTypeService {
|
|
// assoTenantVipTypeAndFunctions.add(assoTenantVipTypeAndFunction2);
|
|
// assoTenantVipTypeAndFunctions.add(assoTenantVipTypeAndFunction2);
|
|
// }
|
|
// }
|
|
}
|
|
}
|
|
- log.info("新数据入租户会员类型和功能关联表");
|
|
|
|
|
|
+ log.info("新数据入会员和功能关联表");
|
|
rows = assoTenantVipTypeFunctionMapper.insertBatch(assoTenantVipTypeAndFunctions);
|
|
rows = assoTenantVipTypeFunctionMapper.insertBatch(assoTenantVipTypeAndFunctions);
|
|
if (rows != functionModifyPaths.size()) {
|
|
if (rows != functionModifyPaths.size()) {
|
|
- String message = "数据插入新租户会员类型和功能关联表失败,修改失败,服务器忙请稍后再试";
|
|
|
|
- log.info("{}", message);
|
|
|
|
- throw new XiaoShiException(message);
|
|
|
|
|
|
+ ThrowException.throwXiaoShiException("修改失败,新数据入会员和功能关联表失败,服务器忙请稍后再试");
|
|
}
|
|
}
|
|
|
|
|
|
log.info("修改租户会员类型完成");
|
|
log.info("修改租户会员类型完成");
|
|
@@ -261,9 +260,7 @@ public class TenantVipTypeService implements ITenantVipTypeService {
|
|
log.info("检查要删除的数据是否存在");
|
|
log.info("检查要删除的数据是否存在");
|
|
int count = tenantVipTypeMapper.countById(id);
|
|
int count = tenantVipTypeMapper.countById(id);
|
|
if (count == 0) {
|
|
if (count == 0) {
|
|
- String message = "删除租户会员类型失败,尝试访问的数据已不存在";
|
|
|
|
- log.info("{}", message);
|
|
|
|
- throw new XiaoShiException(message);
|
|
|
|
|
|
+ ThrowException.throwXiaoShiException("删除租户会员类型失败,尝试访问的数据已不存在");
|
|
}
|
|
}
|
|
|
|
|
|
//检查该会员类型是否有租户使用
|
|
//检查该会员类型是否有租户使用
|
|
@@ -273,19 +270,17 @@ public class TenantVipTypeService implements ITenantVipTypeService {
|
|
tenantMapper.updateByTenantVipType(id);
|
|
tenantMapper.updateByTenantVipType(id);
|
|
}
|
|
}
|
|
|
|
|
|
- //删除租户会员类型表数据
|
|
|
|
- log.info("删除租户会员类型表数据");
|
|
|
|
|
|
+ //删除会员和功能关联表数据
|
|
|
|
+ log.info("删除会员和功能关联表数据");
|
|
|
|
+ assoTenantVipTypeFunctionMapper.deleteByTenantVipTypeId(id);
|
|
|
|
+
|
|
|
|
+ //删除会员表数据
|
|
|
|
+ log.info("删除会员表数据");
|
|
int rows = tenantVipTypeMapper.deleteById(id);
|
|
int rows = tenantVipTypeMapper.deleteById(id);
|
|
if (rows != 1) {
|
|
if (rows != 1) {
|
|
- String message = "删除租户会员类型失败,服务器忙请稍后再试";
|
|
|
|
- log.info("{}", message);
|
|
|
|
- throw new XiaoShiException(message);
|
|
|
|
|
|
+ ThrowException.throwXiaoShiException("删除租户会员类型失败,服务器忙请稍后再试");
|
|
}
|
|
}
|
|
|
|
|
|
- //删除租户会员类型和功能关联表数据
|
|
|
|
- log.info("删除租户会员类型和功能关联表数据");
|
|
|
|
- assoTenantVipTypeFunctionMapper.deleteByTenantVipTypeId(id);
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|