Преглед изворни кода

上传图片

release_toaliyun_real
xhxu пре 5 година
родитељ
комит
ee294a8911
18 измењених фајлова са 364 додато и 84 уклоњено
  1. +27
    -11
      mallinkAdmin/src/main/java/com/iformall/controller/sys/UploadController.java
  2. +10
    -1
      mallinkAdmin/src/main/resources/application-dev.yml
  3. +16
    -6
      mallinkBApi/src/main/java/com/iformall/controller/UploadController.java
  4. +10
    -2
      mallinkBApi/src/main/resources/application-dev.yml
  5. +37
    -14
      mallinkCApi/src/main/java/com/iformall/controller/UploadController.java
  6. +10
    -2
      mallinkCApi/src/main/resources/application-dev.yml
  7. +9
    -3
      mallinkCallback/src/main/java/com/iformall/controller/callback/WxMsgCallbackController.java
  8. +10
    -2
      mallinkCallback/src/main/resources/application-dev.yml
  9. +10
    -2
      mallinkMQConsumer/src/main/resources/application-dev.yml
  10. +10
    -2
      mallinkPosApi/src/main/resources/application-dev.yml
  11. +10
    -2
      mallinkSchedule/src/main/resources/application-dev.yml
  12. +99
    -0
      mallinkService/src/main/java/com/iformall/file/aliyun/AliyunOSS.java
  13. +22
    -0
      mallinkService/src/main/java/com/iformall/file/aliyun/bean/AliyunOSSConfig.java
  14. +1
    -1
      mallinkService/src/main/java/com/iformall/sms/EnumSMSChannel.java
  15. +48
    -32
      mallinkSysAdmin/src/main/java/com/iformall/controller/sys/UploadController.java
  16. +10
    -2
      mallinkSysAdmin/src/main/resources/application-dev.yml
  17. +10
    -2
      mallinkWebSocketServer/src/main/resources/application-dev.yml
  18. +15
    -0
      pom.xml

+ 27
- 11
mallinkAdmin/src/main/java/com/iformall/controller/sys/UploadController.java Прегледај датотеку

@@ -6,6 +6,7 @@ import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.file.aliyun.AliyunOSS;
import com.iformall.service.QrCodeService;
import com.iformall.utils.ImgUtil;
import io.swagger.annotations.Api;
@@ -33,6 +34,8 @@ public class UploadController extends BaseController {

@Autowired
private String fmUploadDir;
@Autowired
private AliyunOSS aliyunOSS;

@Autowired
private QrCodeService qrCodeService;
@@ -67,15 +70,16 @@ public class UploadController extends BaseController {

String fileName = UUID.randomUUID().toString();
int dot = multiReq.getOriginalFilename().lastIndexOf('.');
String fileFormat = "";
if (dot >= 0) {
String fileFormat = multiReq.getOriginalFilename().substring(dot, multiReq.getOriginalFilename().length());
fileFormat = multiReq.getOriginalFilename().substring(dot, multiReq.getOriginalFilename().length());
fileName = getFileName(tenantEntity, fileName + fileFormat);
} else {
fileName = getFileName(tenantEntity, fileName);
}

System.out.println(fileName);
ResultData data = qrCodeService.awsUpload(multiReq.getInputStream(), metadata, fileName, tenantEntity);
// ResultData data = qrCodeService.awsUpload(multiReq.getInputStream(), metadata, fileName, tenantEntity);
ResultData data = aliyunOSS.uploadFile(tenantEntity.getTenantId(), fileFormat, multiReq.getInputStream());
return data;
}

@@ -137,15 +141,17 @@ public class UploadController extends BaseController {
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType(multiReq.getContentType());
metadata.setContentLength(newFile.length());
ResultData data = qrCodeService.awsUpload(new FileInputStream(newFile), metadata, fileName, tenantEntity);
// 删除本地缓存
// ResultData data = qrCodeService.awsUpload(new FileInputStream(newFile), metadata, fileName, tenantEntity);
ResultData data = aliyunOSS.uploadFile(tenantEntity.getTenantId(), fileFormat, new FileInputStream(newFile));
// 删除本地缓存
newFile.delete();
return data;
} else {
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType(multiReq.getContentType());
metadata.setContentLength(size);
ResultData data = qrCodeService.awsUpload(multiReq.getInputStream(), metadata, fileName, tenantEntity);
// ResultData data = qrCodeService.awsUpload(multiReq.getInputStream(), metadata, fileName, tenantEntity);
ResultData data = aliyunOSS.uploadFile(tenantEntity.getTenantId(), fileFormat, multiReq.getInputStream());
return data;
}
} catch (Exception e) {
@@ -185,14 +191,17 @@ public class UploadController extends BaseController {

String fileName = UUID.randomUUID().toString();
int dot = multipartFile.getOriginalFilename().lastIndexOf('.');
String fileFormat = "";
if (dot >= 0) {
String fileFormat = multipartFile.getOriginalFilename().substring(dot, multipartFile.getOriginalFilename().length());;
fileFormat = multipartFile.getOriginalFilename().substring(dot, multipartFile.getOriginalFilename().length());;
fileName = getFileName(tenantEntity, fileName + fileFormat);
} else {
fileName = getFileName(tenantEntity, fileName);
}

ResultData data1 = qrCodeService.awsUpload(multipartFile.getInputStream(), metadata, fileName, getTenantInfo());
// ResultData data1 = qrCodeService.awsUpload(multipartFile.getInputStream(), metadata, fileName, getTenantInfo());
ResultData data1 = aliyunOSS.uploadFile(tenantEntity.getTenantId(), fileFormat, multipartFile.getInputStream());

if(data1.code == ResultData.SUCCESS) {
Map _data = (Map)data1.data;
map.put("url", (String) _data.get("url"));
@@ -229,10 +238,17 @@ public class UploadController extends BaseController {
metadata.setContentLength(multiReq.getSize());

String fileName = multiReq.getOriginalFilename();

int dot = multiReq.getOriginalFilename().lastIndexOf('.');
String fileFormat = "";
if (dot >= 0) {
fileFormat = multiReq.getOriginalFilename().substring(dot, multiReq.getOriginalFilename().length());
}
fileName = "cimg/" + fileName;
ResultData data = qrCodeService.awsUpload(multiReq.getInputStream(), metadata, fileName, new TenantEntity() {{
setTenantId("cimg");
}});
// ResultData data = qrCodeService.awsUpload(multiReq.getInputStream(), metadata, fileName, new TenantEntity() {{
// setTenantId("cimg");
// }});
ResultData data = aliyunOSS.uploadFile("cimg", fileFormat, multiReq.getInputStream());
return data;
}



+ 10
- 1
mallinkAdmin/src/main/resources/application-dev.yml Прегледај датотеку

@@ -42,7 +42,7 @@ spring:
max-wait: -1
min-idle: 10

# SMS
aliyun:
sms:
accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V
@@ -53,6 +53,14 @@ spring:
dateFormat: yyyyMMdd
endpointName: cn-hangzhou

oss:
endpoint: oss-cn-beijing.aliyuncs.com
keyid: LTAI4G7ixY4AhvM35F8o3W3V
keysecret: VfWqGb83qIQrS9us45utskl8itd7ry
bucketname: formall
filehost: malinkadmin
filedomain: http://formall.oss-accelerate.aliyuncs.com

# EMAIL
mail:
host: smtp.exmail.qq.com
@@ -67,6 +75,7 @@ spring:
socketFactory:
port: 465
class: javax.net.ssl.SSLSocketFactory

# ROCKETMQ
rocketmq:
nameServer: 127.0.0.1:9876


+ 16
- 6
mallinkBApi/src/main/java/com/iformall/controller/UploadController.java Прегледај датотеку

@@ -15,6 +15,7 @@ import com.iformall.common.ResultData;
import com.iformall.config.AwsProperty;
import com.iformall.domain.po.MallResource;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.file.aliyun.AliyunOSS;
import com.iformall.service.MallResourceService;
import com.iformall.utils.ImgUtil;
import io.swagger.annotations.Api;
@@ -50,6 +51,9 @@ public class UploadController extends BaseController {
@Autowired
private String fmUploadDir;

@Autowired
private AliyunOSS aliyunOSS;

private AmazonS3 s3 = null;

private String getFileName(TenantEntity tenantEntity, String fileName) {
@@ -149,14 +153,16 @@ public class UploadController extends BaseController {

String fileName = UUID.randomUUID().toString();
int dot = multiReq.getOriginalFilename().lastIndexOf('.');
String fileFormat = "";
if (dot >= 0) {
String fileFormat = multiReq.getOriginalFilename().substring(dot, multiReq.getOriginalFilename().length());
fileFormat = multiReq.getOriginalFilename().substring(dot, multiReq.getOriginalFilename().length());
fileName = getFileName(tenantEntity, fileName + fileFormat);
} else {
fileName = getFileName(tenantEntity, fileName);
}

ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, tenantEntity);
// ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, tenantEntity);
ResultData data = aliyunOSS.uploadFile(tenantEntity.getTenantId(), fileFormat, multiReq.getInputStream());
return data;
}

@@ -212,7 +218,8 @@ public class UploadController extends BaseController {
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType(multiReq.getContentType());
metadata.setContentLength(newFile.length());
ResultData data = awsUpload(new FileInputStream(newFile), metadata, fileName, tenantEntity);
// ResultData data = awsUpload(new FileInputStream(newFile), metadata, fileName, tenantEntity);
ResultData data = aliyunOSS.uploadFile(tenantEntity.getTenantId(), fileFormat, new FileInputStream(newFile));
// 删除本地缓存
newFile.delete();
return data;
@@ -220,7 +227,8 @@ public class UploadController extends BaseController {
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType(multiReq.getContentType());
metadata.setContentLength(multiReq.getSize());
ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, tenantEntity);
// ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, tenantEntity);
ResultData data = aliyunOSS.uploadFile(tenantEntity.getTenantId(), fileFormat, multiReq.getInputStream());
return data;
}
}
@@ -256,14 +264,16 @@ public class UploadController extends BaseController {

String fileName = UUID.randomUUID().toString();
int dot = multipartFile.getOriginalFilename().lastIndexOf('.');
String fileFormat = "";
if (dot >= 0) {
String fileFormat = multipartFile.getOriginalFilename().substring(dot, multipartFile.getOriginalFilename().length());
fileFormat = multipartFile.getOriginalFilename().substring(dot, multipartFile.getOriginalFilename().length());
getFileName(tenantEntity, fileName + fileFormat);
} else {
getFileName(tenantEntity, fileName);
}

ResultData data1 = awsUpload(multipartFile.getInputStream(), metadata, fileName, tenantEntity);
// ResultData data1 = awsUpload(multipartFile.getInputStream(), metadata, fileName, tenantEntity);
ResultData data1 = aliyunOSS.uploadFile(tenantEntity.getTenantId(), fileFormat, multipartFile.getInputStream());
if (data1.code == ResultData.SUCCESS) {
Map _data = (Map) data1.data;
map.put("url", (String) _data.get("url"));


+ 10
- 2
mallinkBApi/src/main/resources/application-dev.yml Прегледај датотеку

@@ -52,11 +52,19 @@ spring:
dateFormat: yyyyMMdd
endpointName: cn-hangzhou

oss:
endpoint: oss-cn-beijing.aliyuncs.com
keyid: LTAI4G7ixY4AhvM35F8o3W3V
keysecret: VfWqGb83qIQrS9us45utskl8itd7ry
bucketname: formall
filehost: malinkbapi
filedomain: http://formall.oss-accelerate.aliyuncs.com

# EMAIL
mail:
host: smtp.exmail.qq.com
username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==)
password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码
username: zhengfangyuan@iformall.com
password: xnydCeUzofB2h8qp # 授权密码
properties:
mail:
smtp:


+ 37
- 14
mallinkCApi/src/main/java/com/iformall/controller/UploadController.java Прегледај датотеку

@@ -11,9 +11,11 @@ import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.config.AwsProperty;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.file.aliyun.AliyunOSS;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
@@ -42,6 +44,9 @@ public class UploadController extends BaseController {
@Autowired
private AwsProperty awsProperty;

@Autowired
private AliyunOSS aliyunOSS;

private AmazonS3 s3 = null;

private ResultData awsUpload(MultipartFile multiReq, ObjectMetadata metadata, String fileName) {
@@ -134,15 +139,24 @@ public class UploadController extends BaseController {

String fileName = UUID.randomUUID().toString();
int dot = multiReq.getOriginalFilename().lastIndexOf('.');
String fileFormat = "";
if (dot >= 0) {
String fileFormat = multiReq.getOriginalFilename().substring(dot, multiReq.getOriginalFilename().length());
fileFormat = multiReq.getOriginalFilename().substring(dot, multiReq.getOriginalFilename().length());
fileName = getFileName(tenantEntity, fileName + fileFormat);
} else {
fileName = getFileName(tenantEntity, fileName);
}

ResultData data = awsUpload(multiReq, metadata, fileName);
return data;
// ResultData data = awsUpload(multiReq, metadata, fileName);
try {
ResultData data = aliyunOSS.uploadFile(tenantEntity.getTenantId(), fileFormat, multiReq.getInputStream());
return data;
} catch (IOException e) {
//e.printStackTrace();
logger.error(e.getMessage());
return new ResultData(ErrorCode.PICTURE_ANALYZING_ERROR);
}

}

/**
@@ -176,24 +190,33 @@ public class UploadController extends BaseController {

String fileName = UUID.randomUUID().toString();
int dot = multipartFile.getOriginalFilename().lastIndexOf('.');
String fileFormat = "";
if (dot >= 0) {
String fileFormat = multipartFile.getOriginalFilename().substring(dot, multipartFile.getOriginalFilename().length());
fileFormat = multipartFile.getOriginalFilename().substring(dot, multipartFile.getOriginalFilename().length());
fileName = getFileName(tenantEntity, fileName + fileFormat);
} else {
fileName = getFileName(tenantEntity, fileName);
}

ResultData data1 = awsUpload(multipartFile, metadata, fileName);
if (data1.code == ResultData.SUCCESS) {
Map _data = (Map) data1.data;
map.put("url", (String) _data.get("url"));
dataList.add(map);
} else {
// 部分成功
data.code = ResultData.SUCCESS;
data.data = dataList;
return data;
// ResultData data1 = awsUpload(multipartFile, metadata, fileName);
try {
ResultData data1 = aliyunOSS.uploadFile(tenantEntity.getTenantId(), fileFormat, multipartFile.getInputStream());
if (data1.code == ResultData.SUCCESS) {
Map _data = (Map) data1.data;
map.put("url", (String) _data.get("url"));
dataList.add(map);
} else {
// 部分成功
data.code = ResultData.SUCCESS;
data.data = dataList;
return data;
}
} catch (IOException e) {
//e.printStackTrace();
logger.error(e.getMessage());
return new ResultData(ErrorCode.PICTURE_ANALYZING_ERROR);
}

}
data.code = ResultData.SUCCESS;
data.data = dataList;


+ 10
- 2
mallinkCApi/src/main/resources/application-dev.yml Прегледај датотеку

@@ -52,11 +52,19 @@ spring:
dateFormat: yyyyMMdd
endpointName: cn-hangzhou

oss:
endpoint: oss-cn-beijing.aliyuncs.com
keyid: LTAI4G7ixY4AhvM35F8o3W3V
keysecret: VfWqGb83qIQrS9us45utskl8itd7ry
bucketname: formall
filehost: malinkcapi
filedomain: http://formall.oss-accelerate.aliyuncs.com

# EMAIL
mail:
host: smtp.exmail.qq.com
username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==)
password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码
username: zhengfangyuan@iformall.com
password: xnydCeUzofB2h8qp # 授权密码
properties:
mail:
smtp:


+ 9
- 3
mallinkCallback/src/main/java/com/iformall/controller/callback/WxMsgCallbackController.java Прегледај датотеку

@@ -9,6 +9,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

@RestController
@@ -66,12 +67,17 @@ public class WxMsgCallbackController extends BaseController {
}

@PostMapping(value = "/receivemsgAliyun")
public Result receivemsg(@RequestParam Map<String, String> param) {
public Result receivemsg(@RequestParam List<Map<String, String>> param) {
logger.debug("[" + getIpAddr() + "] WxMsgCallbackController::receivemsgAliyun");
logger.info(param.toString());
try {
//解析param数据插入数据库中
wxMsgCallbackService.receivemsgAliyun(param);
if(param != null && param.size() > 0){
for (Map<String, String> p:param) {
//解析param数据插入数据库中
wxMsgCallbackService.receivemsgAliyun(p);
}
}

}catch(Exception e){
logger.error("aliyun 短信回调ERROR",e);
return new Result(ErrorCode.SYS_SERVER_ERROR);


+ 10
- 2
mallinkCallback/src/main/resources/application-dev.yml Прегледај датотеку

@@ -53,11 +53,19 @@ spring:
dateFormat: yyyyMMdd
endpointName: cn-hangzhou

oss:
endpoint: oss-cn-beijing.aliyuncs.com
keyid: LTAI4G7ixY4AhvM35F8o3W3V
keysecret: VfWqGb83qIQrS9us45utskl8itd7ry
bucketname: formall
filehost: malinkcallback
filedomain: http://formall.oss-accelerate.aliyuncs.com

# EMAIL
mail:
host: smtp.exmail.qq.com
username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==)
password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码
username: zhengfangyuan@iformall.com
password: xnydCeUzofB2h8qp # 授权密码
properties:
mail:
smtp:


+ 10
- 2
mallinkMQConsumer/src/main/resources/application-dev.yml Прегледај датотеку

@@ -54,11 +54,19 @@ spring:
dateFormat: yyyyMMdd
endpointName: cn-hangzhou

oss:
endpoint: oss-cn-beijing.aliyuncs.com
keyid: LTAI4G7ixY4AhvM35F8o3W3V
keysecret: VfWqGb83qIQrS9us45utskl8itd7ry
bucketname: formall
filehost: malinkmqconsumer
filedomain: http://formall.oss-accelerate.aliyuncs.com

# EMAIL
mail:
host: smtp.exmail.qq.com
username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==)
password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码
username: zhengfangyuan@iformall.com
password: xnydCeUzofB2h8qp # 授权密码
properties:
mail:
smtp:


+ 10
- 2
mallinkPosApi/src/main/resources/application-dev.yml Прегледај датотеку

@@ -52,11 +52,19 @@ spring:
dateFormat: yyyyMMdd
endpointName: cn-hangzhou

oss:
endpoint: oss-cn-beijing.aliyuncs.com
keyid: LTAI4G7ixY4AhvM35F8o3W3V
keysecret: VfWqGb83qIQrS9us45utskl8itd7ry
bucketname: formall
filehost: malinkposapi
filedomain: http://formall.oss-accelerate.aliyuncs.com

# EMAIL
mail:
host: smtp.exmail.qq.com
username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==)
password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码
username: zhengfangyuan@iformall.com
password: xnydCeUzofB2h8qp # 授权密码
properties:
mail:
smtp:


+ 10
- 2
mallinkSchedule/src/main/resources/application-dev.yml Прегледај датотеку

@@ -54,11 +54,19 @@ spring:
dateFormat: yyyyMMdd
endpointName: cn-hangzhou

oss:
endpoint: oss-cn-beijing.aliyuncs.com
keyid: LTAI4G7ixY4AhvM35F8o3W3V
keysecret: VfWqGb83qIQrS9us45utskl8itd7ry
bucketname: formall
filehost: malinkschedule
filedomain: http://formall.oss-accelerate.aliyuncs.com

# EMAIL
mail:
host: smtp.exmail.qq.com
username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==)
password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码
username: zhengfangyuan@iformall.com
password: xnydCeUzofB2h8qp # 授权密码
properties:
mail:
smtp:


+ 99
- 0
mallinkService/src/main/java/com/iformall/file/aliyun/AliyunOSS.java Прегледај датотеку

@@ -0,0 +1,99 @@
package com.iformall.file.aliyun;

import com.aliyun.oss.*;
import com.aliyun.oss.model.CannedAccessControlList;
import com.aliyun.oss.model.CreateBucketRequest;
import com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;
import com.iformall.common.ResultData;
import com.iformall.file.aliyun.bean.AliyunOSSConfig;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

import java.io.File;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

@Component
@Slf4j
public class AliyunOSS {

@Autowired
private AliyunOSSConfig aliyunOSSConfig;

public ResultData uploadFile(String folder, String suffix,InputStream inputStream){
String upload = upload(folder,suffix, inputStream);
ResultData data;
if(StringUtils.isNotBlank(upload)){
data = new ResultData();
Map<String, String> map = new HashMap<>();
map.put("url", upload);
data.data = map;
}else{
data = new ResultData(ResultData.ERROR,"上传失败");
}
return data;
}

/**
* 上传
* @param inputStream
* @return
*/
public String upload(String folder, String suffix,InputStream inputStream){
log.info("=========>OSS文件上传开始:");
String endpoint= aliyunOSSConfig.getEndpoint();
String accessKeyId= aliyunOSSConfig.getKeyid();
String accessKeySecret=aliyunOSSConfig.getKeysecret();
String bucketName=aliyunOSSConfig.getBucketname();
String fileHost=aliyunOSSConfig.getFilehost();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = format.format(new Date());

if(null == inputStream){
return null;
}
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId,accessKeySecret);
try {
//容器不存在,就创建
if(! ossClient.doesBucketExist(bucketName)){
ossClient.createBucket(bucketName);
CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName);
createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
ossClient.createBucket(createBucketRequest);
}
if(StringUtils.isNotBlank(folder)){
folder = folder + "/";
}else{
folder = "";
}
//创建文件路径
String fileUrl = folder + fileHost + "/" + dateStr + "/"
+ UUID.randomUUID().toString().replace("-","") + suffix;
//上传文件
PutObjectResult result = ossClient.putObject(new PutObjectRequest(bucketName, fileUrl, inputStream));
//设置权限 这里是公开读
ossClient.setBucketAcl(bucketName,CannedAccessControlList.PublicRead);
if(null != result){
log.info("==========>OSS文件上传成功,OSS地址:"+fileUrl);
return aliyunOSSConfig.getFiledomain() + "/" + fileUrl;
}
}catch (OSSException oe){
log.error(oe.getMessage());
}catch (ClientException ce){
log.error(ce.getMessage());
}finally {
//关闭
ossClient.shutdown();
}
return null;
}

}

+ 22
- 0
mallinkService/src/main/java/com/iformall/file/aliyun/bean/AliyunOSSConfig.java Прегледај датотеку

@@ -0,0 +1,22 @@
package com.iformall.file.aliyun.bean;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
* aliyun 配置
*/
@Component
@Data
@ConfigurationProperties(prefix = "spring.aliyun.oss")
public class AliyunOSSConfig {

private String endpoint;
private String keyid;
private String keysecret;
private String bucketname;
private String filehost;
private String filedomain;

}

+ 1
- 1
mallinkService/src/main/java/com/iformall/sms/EnumSMSChannel.java Прегледај датотеку

@@ -7,7 +7,7 @@ package com.iformall.sms;
public enum EnumSMSChannel {

ALIYUN(11, "ALIYUN"),
WIWIDE(1,"WIWIDE");
WIWIDE(0,"WIWIDE");

public static EnumSMSChannel getEnum(Integer code) {
for (EnumSMSChannel value : values()) {


+ 48
- 32
mallinkSysAdmin/src/main/java/com/iformall/controller/sys/UploadController.java Прегледај датотеку

@@ -14,6 +14,7 @@ import com.iformall.config.AwsProperty;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.MallResource;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.file.aliyun.AliyunOSS;
import com.iformall.service.MallResourceService;
import com.iformall.utils.ImgUtil;
import io.swagger.annotations.Api;
@@ -43,6 +44,9 @@ public class UploadController extends BaseController {
@Autowired
private String fmUploadDir;

@Autowired
private AliyunOSS aliyunOSS;

@Autowired
private MallResourceService mallResourceService;

@@ -145,14 +149,16 @@ public class UploadController extends BaseController {

String fileName = UUID.randomUUID().toString();
int dot = multiReq.getOriginalFilename().lastIndexOf('.');
String fileFormat = "";
if (dot >= 0) {
String fileFormat = multiReq.getOriginalFilename().substring(dot, multiReq.getOriginalFilename().length());
fileFormat = multiReq.getOriginalFilename().substring(dot, multiReq.getOriginalFilename().length());
fileName = getFileName(tenantEntity, fileName + fileFormat);
} else {
fileName = getFileName(tenantEntity, fileName);
}

ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, tenantEntity);
// ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, tenantEntity);
ResultData data = aliyunOSS.uploadFile(tenantEntity.getTenantId(), fileFormat, multiReq.getInputStream());
return data;
}

@@ -207,7 +213,8 @@ public class UploadController extends BaseController {
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType(multiReq.getContentType());
metadata.setContentLength(newFile.length());
ResultData data = awsUpload(new FileInputStream(newFile), metadata, fileName, tenantEntity);
// ResultData data = awsUpload(new FileInputStream(newFile), metadata, fileName, tenantEntity);
ResultData data = aliyunOSS.uploadFile(tenantEntity.getTenantId(), fileFormat, new FileInputStream(newFile));
// 删除本地缓存
newFile.delete();
return data;
@@ -215,7 +222,8 @@ public class UploadController extends BaseController {
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType(multiReq.getContentType());
metadata.setContentLength(multiReq.getSize());
ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, tenantEntity);
// ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, tenantEntity);
ResultData data = aliyunOSS.uploadFile(tenantEntity.getTenantId(), fileFormat, multiReq.getInputStream());
return data;
}
}
@@ -251,14 +259,16 @@ public class UploadController extends BaseController {

String fileName = UUID.randomUUID().toString();
int dot = multipartFile.getOriginalFilename().lastIndexOf('.');
String fileFormat = "";
if (dot >= 0) {
String fileFormat = multipartFile.getOriginalFilename().substring(dot, multipartFile.getOriginalFilename().length());
fileFormat = multipartFile.getOriginalFilename().substring(dot, multipartFile.getOriginalFilename().length());
fileName = getFileName(tenantEntity, fileName + fileFormat);
} else {
fileName = getFileName(tenantEntity, fileName);
}

ResultData data1 = awsUpload(multipartFile.getInputStream(), metadata, fileName, tenantEntity);
// ResultData data1 = awsUpload(multipartFile.getInputStream(), metadata, fileName, tenantEntity);
ResultData data1 = aliyunOSS.uploadFile(tenantEntity.getTenantId(), fileFormat, multipartFile.getInputStream());
if(data1.code == ResultData.SUCCESS) {
Map _data = (Map)data1.data;
map.put("url", (String) _data.get("url"));
@@ -296,34 +306,40 @@ public class UploadController extends BaseController {

String fileName = multiReq.getOriginalFilename();
fileName = "cimg/" + fileName;
ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, new TenantEntity() {{
setTenantId("cimg");
}});
int dot = multiReq.getOriginalFilename().lastIndexOf('.');
String fileFormat = "";
if (dot >= 0) {
fileFormat = multiReq.getOriginalFilename().substring(dot, multiReq.getOriginalFilename().length());
}
// ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, new TenantEntity() {{
// setTenantId("cimg");
// }});
ResultData data = aliyunOSS.uploadFile("cimg", fileFormat, multiReq.getInputStream());
return data;
}

/**
* AWS
* @return
* @throws Exception
*/
@GetMapping(value = "/lists")
@ApiOperation("aws列举文件")
public ResultData awsList() throws Exception {
logger.info("[" + getIpAddr() + "] UploadController::cimgUpload");
try{
ObjectListing ol = s3.listObjects(awsProperty.getBucketName());
List<S3ObjectSummary> objects = ol.getObjectSummaries();
for (S3ObjectSummary os: objects) {
logger.info(os.toString());
break;
}
}catch (Exception e){
e.printStackTrace();
}
return new ResultData();
}
// /**
// * AWS
// * @return
// * @throws Exception
// */
// @GetMapping(value = "/lists")
// @ApiOperation("aws列举文件")
// public ResultData awsList() throws Exception {
// logger.info("[" + getIpAddr() + "] UploadController::cimgUpload");
//
// try{
// ObjectListing ol = s3.listObjects(awsProperty.getBucketName());
// List<S3ObjectSummary> objects = ol.getObjectSummaries();
// for (S3ObjectSummary os: objects) {
// logger.info(os.toString());
// break;
// }
// }catch (Exception e){
// e.printStackTrace();
// }
//
// return new ResultData();
// }

}

+ 10
- 2
mallinkSysAdmin/src/main/resources/application-dev.yml Прегледај датотеку

@@ -52,11 +52,19 @@ spring:
dateFormat: yyyyMMdd
endpointName: cn-hangzhou

oss:
endpoint: oss-cn-beijing.aliyuncs.com
keyid: LTAI4G7ixY4AhvM35F8o3W3V
keysecret: VfWqGb83qIQrS9us45utskl8itd7ry
bucketname: formall
filehost: malinksysadmin
filedomain: http://formall.oss-accelerate.aliyuncs.com

# EMAIL
mail:
host: smtp.exmail.qq.com
username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==)
password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码
username: zhengfangyuan@iformall.com
password: xnydCeUzofB2h8qp # 授权密码
properties:
mail:
smtp:


+ 10
- 2
mallinkWebSocketServer/src/main/resources/application-dev.yml Прегледај датотеку

@@ -54,11 +54,19 @@ spring:
dateFormat: yyyyMMdd
endpointName: cn-hangzhou

oss:
endpoint: oss-cn-beijing.aliyuncs.com
keyid: LTAI4G7ixY4AhvM35F8o3W3V
keysecret: VfWqGb83qIQrS9us45utskl8itd7ry
bucketname: formall
filehost: malinkwebsocketserver
filedomain: http://formall.oss-accelerate.aliyuncs.com

# EMAIL
mail:
host: smtp.exmail.qq.com
username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==)
password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码
username: zhengfangyuan@iformall.com
password: xnydCeUzofB2h8qp # 授权密码
properties:
mail:
smtp:


+ 15
- 0
pom.xml Прегледај датотеку

@@ -387,6 +387,21 @@
<version>2.1.0</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.aliyun.oss/aliyun-sdk-oss -->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>




</dependencies>



Loading…
Откажи
Сачувај