This commit is contained in:
77
2024-05-20 12:32:57 +08:00
parent 5bfdde942c
commit 6970319697
9 changed files with 46 additions and 9 deletions

View File

@@ -67,7 +67,7 @@ public class SysOssController extends BaseController {
*
* @param file 文件
*/
@SaCheckPermission("system:oss:upload")
// @SaCheckPermission("system:oss:upload")
@Log(title = "OSS对象存储", businessType = BusinessType.INSERT)
@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<Map<String, String>> upload(@RequestPart("file") MultipartFile file) {

View File

@@ -3,6 +3,8 @@ package com.ruoyi.system.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.component.mybatis.core.domain.BaseEntity;
import com.ruoyi.component.tenant.core.TenantEntity;
import com.ruoyi.component.tenant.helper.TenantHelper;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,7 +16,7 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_oss")
public class SysOss extends BaseEntity {
public class SysOss extends TenantEntity {
/**
* 对象存储主键

View File

@@ -5,6 +5,7 @@ import cn.dev33.satoken.secure.BCrypt;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.ttl.TransmittableThreadLocal;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.component.core.constant.CacheConstants;
import com.ruoyi.component.core.constant.Constants;
@@ -79,12 +80,12 @@ public class SysLoginService {
}
// 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可
SysUser user = TenantHelper.ignore(() -> loadUserByUsername(username));
TenantHelper.setTenantId(user.getTenantId());
checkLogin(LoginType.PASSWORD, username, () -> !BCrypt.checkpw(password, user.getPassword()));
// 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了
LoginUser loginUser = buildLoginUser(user);
// 生成token
LoginHelper.loginByDevice(loginUser, DeviceType.PC);
TenantHelper.setTenantId(loginUser.getTenantId());
recordLogininfor(username,loginUser.getUserType(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
recordLoginInfo(user.getUserId(), username);
return StpUtil.getTokenValue();

View File

@@ -19,11 +19,15 @@ import com.ruoyi.component.oss.core.OssClient;
import com.ruoyi.component.oss.entity.UploadResult;
import com.ruoyi.component.oss.enumd.AccessPolicyType;
import com.ruoyi.component.oss.factory.OssFactory;
import com.ruoyi.component.satoken.utils.LoginHelper;
import com.ruoyi.component.tenant.helper.TenantHelper;
import com.ruoyi.system.domain.SysOss;
import com.ruoyi.system.domain.bo.SysOssBo;
import com.ruoyi.system.domain.vo.SysOssVo;
import com.ruoyi.system.domain.vo.SysTenantVo;
import com.ruoyi.system.mapper.SysOssMapper;
import com.ruoyi.system.service.ISysOssService;
import com.ruoyi.system.service.ISysTenantService;
import lombok.RequiredArgsConstructor;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.http.MediaType;
@@ -50,6 +54,7 @@ import java.util.stream.Collectors;
public class SysOssServiceImpl implements ISysOssService, OssService {
private final SysOssMapper baseMapper;
private final ISysTenantService tenantService;
@Override
public TableDataInfo<SysOssVo> queryPageList(SysOssBo bo, PageQuery pageQuery) {
@@ -133,12 +138,16 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
@Override
public SysOssVo upload(MultipartFile file) {
SysTenantVo tenant = tenantService.queryByTenantId(TenantHelper.getTenantId());
if(tenant == null){
throw new ServiceException("平台错误");
}
String originalfileName = file.getOriginalFilename();
String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());
OssClient storage = OssFactory.instance();
UploadResult uploadResult;
try {
uploadResult = storage.uploadSuffix(file.getBytes(), suffix, file.getContentType());
uploadResult = storage.uploadFile(file.getBytes(), tenant.getPrefix(), suffix, file.getContentType());
} catch (IOException e) {
throw new ServiceException(e.getMessage());
}

View File

@@ -157,7 +157,7 @@ public class SysTenantServiceImpl implements ISysTenantService {
roleDept.setRoleId(roleId);
roleDept.setDeptId(deptId);
roleDeptMapper.insert(roleDept);
String adminUsername = bo.getPrefix()+"_admin";
String adminUsername = bo.getPrefix()+"-admin";
// 检测用户是否存在
SysUser sysUser = userMapper.selectUserByUserName(adminUsername);
if(sysUser != null){