修正访客上传图片
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m15s

This commit is contained in:
mocheng 2025-08-18 19:46:03 +08:00
parent 06ab323f21
commit 38e75e6b6b
6 changed files with 41 additions and 8 deletions

View File

@ -0,0 +1,5 @@
package org.dromara.property.api;
public interface RemoteVisitoreGetCodeInfoService {
String getCodeInfo(String code);
}

View File

@ -0,0 +1,19 @@
package org.dromara.property.dubbo;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.core.constant.GlobalConstants;
import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.property.api.RemoteVisitoreGetCodeInfoService;
import org.dromara.property.domain.bo.QrCodeInfo;
@DubboService
@RequiredArgsConstructor
public class RemoteVisitoreGetCodeInfo implements RemoteVisitoreGetCodeInfoService {
@Override
public String getCodeInfo(String code) {
QrCodeInfo info = RedisUtils.getCacheObject(GlobalConstants.CAPTCHA_CODE_KEY +"Qrcode" +code);
return info.getUserid().toString();
}
}

View File

@ -117,6 +117,10 @@
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>ruoyi-api-resource</artifactId> <artifactId>ruoyi-api-resource</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>property-api</artifactId>
</dependency>
</dependencies> </dependencies>

View File

@ -4,6 +4,8 @@ package org.dromara.resource.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.core.constant.GlobalConstants; import org.dromara.common.core.constant.GlobalConstants;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.QueryGroup; import org.dromara.common.core.validate.QueryGroup;
@ -13,6 +15,7 @@ import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.property.api.RemoteVisitoreGetCodeInfoService;
import org.dromara.resource.domain.QrCodeInfo; import org.dromara.resource.domain.QrCodeInfo;
import org.dromara.resource.domain.bo.SysOssBo; import org.dromara.resource.domain.bo.SysOssBo;
import org.dromara.resource.domain.vo.SysOssUploadVo; import org.dromara.resource.domain.vo.SysOssUploadVo;
@ -41,7 +44,8 @@ import java.util.List;
public class SysOssController extends BaseController { public class SysOssController extends BaseController {
private final ISysOssService iSysOssService; private final ISysOssService iSysOssService;
@DubboReference
private RemoteVisitoreGetCodeInfoService remoteVisitoreGetCodeInfoService;
/** /**
* 查询OSS对象存储列表 * 查询OSS对象存储列表
*/ */
@ -96,12 +100,13 @@ public class SysOssController extends BaseController {
if (ObjectUtil.isNull(file)) { if (ObjectUtil.isNull(file)) {
return R.fail("上传文件不能为空"); return R.fail("上传文件不能为空");
} }
QrCodeInfo info = RedisUtils.getCacheObject(GlobalConstants.CAPTCHA_CODE_KEY+"Qrcode" + code); String codeInfo = remoteVisitoreGetCodeInfoService.getCodeInfo(code);
if (info==null){ // QrCodeInfo info = RedisUtils.getCacheObject(GlobalConstants.CAPTCHA_CODE_KEY+"Qrcode" + code);
if (codeInfo.isBlank()){
return R.fail("二维码已过期"); return R.fail("二维码已过期");
} }
SysOssVo oss = iSysOssService.qrupload(file,info); SysOssVo oss = iSysOssService.qrupload(file,codeInfo);
SysOssUploadVo uploadVo = new SysOssUploadVo(); SysOssUploadVo uploadVo = new SysOssUploadVo();
uploadVo.setUrl(oss.getUrl()); uploadVo.setUrl(oss.getUrl());
uploadVo.setFileName(oss.getOriginalName()); uploadVo.setFileName(oss.getOriginalName());

View File

@ -67,7 +67,7 @@ public interface ISysOssService {
* @param file 要上传的 MultipartFile 对象 * @param file 要上传的 MultipartFile 对象
* @return 上传成功后的 SysOssVo 对象包含文件信息 * @return 上传成功后的 SysOssVo 对象包含文件信息
*/ */
SysOssVo qrupload(MultipartFile file, QrCodeInfo qrCodeInfo); SysOssVo qrupload(MultipartFile file, String qrCodeInfo);
/** /**
* 上传文件到对象存储服务并保存文件信息到数据库 * 上传文件到对象存储服务并保存文件信息到数据库

View File

@ -200,7 +200,7 @@ public class SysOssServiceImpl implements ISysOssService {
} }
@Override @Override
public SysOssVo qrupload(MultipartFile file, QrCodeInfo info) { public SysOssVo qrupload(MultipartFile file, String info) {
String originalfileName = file.getOriginalFilename(); String originalfileName = file.getOriginalFilename();
String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length()); String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());
OssClient storage = OssFactory.instance(); OssClient storage = OssFactory.instance();
@ -242,14 +242,14 @@ public class SysOssServiceImpl implements ISysOssService {
return this.matchingUrl(sysOssVo); return this.matchingUrl(sysOssVo);
} }
private SysOssVo buildResultEntityQr(String originalfileName, String suffix, String configKey, UploadResult uploadResult,QrCodeInfo info) { private SysOssVo buildResultEntityQr(String originalfileName, String suffix, String configKey, UploadResult uploadResult,String info) {
SysOss oss = new SysOss(); SysOss oss = new SysOss();
oss.setUrl(uploadResult.getUrl()); oss.setUrl(uploadResult.getUrl());
oss.setFileSuffix(suffix); oss.setFileSuffix(suffix);
oss.setFileName(uploadResult.getFilename()); oss.setFileName(uploadResult.getFilename());
oss.setOriginalName(originalfileName); oss.setOriginalName(originalfileName);
oss.setService(configKey); oss.setService(configKey);
oss.setCreateBy(info.getUserid()); oss.setCreateBy(Long.valueOf(info));
oss.setCreateTime(new Date()); oss.setCreateTime(new Date());
baseMapper.insert(oss); baseMapper.insert(oss);
SysOssVo sysOssVo = MapstructUtils.convert(oss, SysOssVo.class); SysOssVo sysOssVo = MapstructUtils.convert(oss, SysOssVo.class);