diff --git a/pom.xml b/pom.xml
index 7988751..a4641d7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -155,7 +155,7 @@
cn.hutool
hutool-all
- 4.1.12
+ 5.3.3
diff --git a/src/main/java/com/fc/v2/common/conf/oss/OssEndpoint.java b/src/main/java/com/fc/v2/common/conf/oss/OssEndpoint.java
index 2af1074..2a133ce 100644
--- a/src/main/java/com/fc/v2/common/conf/oss/OssEndpoint.java
+++ b/src/main/java/com/fc/v2/common/conf/oss/OssEndpoint.java
@@ -5,7 +5,6 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.DeleteMapping;
@@ -17,7 +16,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
-
import com.amazonaws.services.s3.model.Bucket;
import com.amazonaws.services.s3.model.PutObjectResult;
import com.amazonaws.services.s3.model.S3Object;
@@ -28,6 +26,7 @@ import com.fc.v2.model.auto.TsysUser;
import com.fc.v2.satoken.SaTokenUtil;
import com.fc.v2.service.SysFileService;
import com.fc.v2.util.SnowflakeIdWorker;
+import cn.hutool.crypto.digest.MD5;
/**
* aws 对外提供服务端点
@@ -102,20 +101,35 @@ public class OssEndpoint {
@PostMapping("/object/{bucketName}")
public AjaxResult createObject(@RequestBody MultipartFile object, @PathVariable String bucketName) throws Exception {
String fileName = object.getOriginalFilename();
- String suffixName = fileName.substring(fileName.lastIndexOf(".")).toLowerCase();
- String uuid=SnowflakeIdWorker.getUUID();
- String fileSuffixName=uuid+suffixName;
+ String suffixName=".png";
+ String mediaKey="";
+ //文件名字
+ String fileSuffixName="";
+ if(fileName.lastIndexOf(".")!=-1) {//有后缀
+ suffixName = fileName.substring(fileName.lastIndexOf(".")).toLowerCase();
+ mediaKey=MD5.create().digestHex(fileSuffixName);
+ fileSuffixName=mediaKey+suffixName;
+ }else {//无后缀
+ //取得唯一id
+ mediaKey = MD5.create().digestHex(fileName+suffixName);
+ fileSuffixName=mediaKey+suffixName;
+ }
PutObjectResult putObjectResult=template.putObject(bucketName, fileSuffixName, object.getInputStream(), object.getSize(), object.getContentType());
if(putObjectResult!=null){
- TsysUser tsysUser=SaTokenUtil.getUser();
- SysFile sysFile=null;
- if(tsysUser!=null) {
- sysFile=new SysFile(uuid, fileSuffixName, bucketName, object.getSize(), object.getContentType(),SaTokenUtil.getUserId(), SaTokenUtil.getLoginName(), new Date(),null, null, null);
+ SysFile sysFile=sysFileService.selectByExamplefileName(fileSuffixName);
+
+ if(sysFile==null) {//等于空为新增查询不到的文件
+ if(SaTokenUtil.isLogin()) {
+ sysFile=new SysFile(SnowflakeIdWorker.getUUID(), fileSuffixName, bucketName, object.getSize(), object.getContentType(),SaTokenUtil.getUserId(), SaTokenUtil.getLoginName(), new Date(),null, null, null);
+ }else {
+ sysFile=new SysFile(SnowflakeIdWorker.getUUID(), fileSuffixName, bucketName, object.getSize(), object.getContentType(),"-", "-", new Date(),null, null, null);
+ }
+ int i=sysFileService.insertSelective(sysFile);
+ if(i>0){
+ return AjaxResult.successData(200,template.getObjectInfo(bucketName, fileSuffixName));
+ }
+
}else {
- sysFile=new SysFile(uuid, fileSuffixName, bucketName, object.getSize(), object.getContentType(),"-", "-", new Date(),null, null, null);
- }
- int i=sysFileService.insertSelective(sysFile);
- if(i>0){
return AjaxResult.successData(200,template.getObjectInfo(bucketName, fileSuffixName));
}
}
diff --git a/src/main/java/com/fc/v2/satoken/SaTokenUtil.java b/src/main/java/com/fc/v2/satoken/SaTokenUtil.java
index 43f8ca2..506d091 100644
--- a/src/main/java/com/fc/v2/satoken/SaTokenUtil.java
+++ b/src/main/java/com/fc/v2/satoken/SaTokenUtil.java
@@ -50,7 +50,17 @@ public class SaTokenUtil {
* @Date 2019年11月21日 上午9:58:26
*/
public static String getIp() {
+
return StpUtil.getTokenSession().getString("login_ip");
}
+ /**
+ * 判断是否登录
+ * @return
+ * @author fuce
+ * @Date 2019年11月21日 上午9:58:26
+ */
+ public static boolean isLogin() {
+ return StpUtil.isLogin();
+ }
}
diff --git a/src/main/java/com/fc/v2/service/SysFileService.java b/src/main/java/com/fc/v2/service/SysFileService.java
index 47971f4..7f9a85b 100644
--- a/src/main/java/com/fc/v2/service/SysFileService.java
+++ b/src/main/java/com/fc/v2/service/SysFileService.java
@@ -116,6 +116,18 @@ public class SysFileService implements BaseService {
public List selectByExample(SysFileExample example) {
return sysFileMapper.selectByExample(example);
}
+
+
+ public SysFile selectByExamplefileName(String filename) {
+ SysFileExample example=new SysFileExample();
+ example.createCriteria().andFileNameEqualTo(filename);
+ List sysFiles=sysFileMapper.selectByExample(example);
+ if(sysFiles!=null&&sysFiles.size()>0) {
+ return sysFiles.get(0);
+ }
+ return null;
+ }
+
@Override
public long countByExample(SysFileExample example) {
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 0446723..d56de4a 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -27,8 +27,8 @@ fuce:
server :
port : 8080
##项目名字配置
- #servlet :
- # context-path : /demo
+ servlet :
+ context-path : /goview
tomcat :
uri-encoding : UTF-8
#xx 报错修改的地方