| @@ -6,6 +6,7 @@ import com.iformall.common.ErrorCode; | |||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.controller.base.BaseController; | import com.iformall.controller.base.BaseController; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.file.aliyun.AliyunOSS; | |||||
| import com.iformall.service.QrCodeService; | import com.iformall.service.QrCodeService; | ||||
| import com.iformall.utils.ImgUtil; | import com.iformall.utils.ImgUtil; | ||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| @@ -33,6 +34,8 @@ public class UploadController extends BaseController { | |||||
| @Autowired | @Autowired | ||||
| private String fmUploadDir; | private String fmUploadDir; | ||||
| @Autowired | |||||
| private AliyunOSS aliyunOSS; | |||||
| @Autowired | @Autowired | ||||
| private QrCodeService qrCodeService; | private QrCodeService qrCodeService; | ||||
| @@ -67,15 +70,16 @@ public class UploadController extends BaseController { | |||||
| String fileName = UUID.randomUUID().toString(); | String fileName = UUID.randomUUID().toString(); | ||||
| int dot = multiReq.getOriginalFilename().lastIndexOf('.'); | int dot = multiReq.getOriginalFilename().lastIndexOf('.'); | ||||
| String fileFormat = ""; | |||||
| if (dot >= 0) { | 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); | fileName = getFileName(tenantEntity, fileName + fileFormat); | ||||
| } else { | } else { | ||||
| fileName = getFileName(tenantEntity, fileName); | 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; | return data; | ||||
| } | } | ||||
| @@ -137,15 +141,17 @@ public class UploadController extends BaseController { | |||||
| ObjectMetadata metadata = new ObjectMetadata(); | ObjectMetadata metadata = new ObjectMetadata(); | ||||
| metadata.setContentType(multiReq.getContentType()); | metadata.setContentType(multiReq.getContentType()); | ||||
| metadata.setContentLength(newFile.length()); | 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(); | newFile.delete(); | ||||
| return data; | return data; | ||||
| } else { | } else { | ||||
| ObjectMetadata metadata = new ObjectMetadata(); | ObjectMetadata metadata = new ObjectMetadata(); | ||||
| metadata.setContentType(multiReq.getContentType()); | metadata.setContentType(multiReq.getContentType()); | ||||
| metadata.setContentLength(size); | 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; | return data; | ||||
| } | } | ||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| @@ -185,14 +191,17 @@ public class UploadController extends BaseController { | |||||
| String fileName = UUID.randomUUID().toString(); | String fileName = UUID.randomUUID().toString(); | ||||
| int dot = multipartFile.getOriginalFilename().lastIndexOf('.'); | int dot = multipartFile.getOriginalFilename().lastIndexOf('.'); | ||||
| String fileFormat = ""; | |||||
| if (dot >= 0) { | 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); | fileName = getFileName(tenantEntity, fileName + fileFormat); | ||||
| } else { | } else { | ||||
| fileName = getFileName(tenantEntity, fileName); | 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) { | if(data1.code == ResultData.SUCCESS) { | ||||
| Map _data = (Map)data1.data; | Map _data = (Map)data1.data; | ||||
| map.put("url", (String) _data.get("url")); | map.put("url", (String) _data.get("url")); | ||||
| @@ -229,10 +238,17 @@ public class UploadController extends BaseController { | |||||
| metadata.setContentLength(multiReq.getSize()); | metadata.setContentLength(multiReq.getSize()); | ||||
| String fileName = multiReq.getOriginalFilename(); | 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; | 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; | return data; | ||||
| } | } | ||||
| @@ -42,7 +42,7 @@ spring: | |||||
| max-wait: -1 | max-wait: -1 | ||||
| min-idle: 10 | min-idle: 10 | ||||
| # SMS | |||||
| aliyun: | aliyun: | ||||
| sms: | sms: | ||||
| accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V | accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V | ||||
| @@ -53,6 +53,14 @@ spring: | |||||
| dateFormat: yyyyMMdd | dateFormat: yyyyMMdd | ||||
| endpointName: cn-hangzhou | 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 | |||||
| mail: | mail: | ||||
| host: smtp.exmail.qq.com | host: smtp.exmail.qq.com | ||||
| @@ -67,6 +75,7 @@ spring: | |||||
| socketFactory: | socketFactory: | ||||
| port: 465 | port: 465 | ||||
| class: javax.net.ssl.SSLSocketFactory | class: javax.net.ssl.SSLSocketFactory | ||||
| # ROCKETMQ | # ROCKETMQ | ||||
| rocketmq: | rocketmq: | ||||
| nameServer: 127.0.0.1:9876 | nameServer: 127.0.0.1:9876 | ||||
| @@ -15,6 +15,7 @@ import com.iformall.common.ResultData; | |||||
| import com.iformall.config.AwsProperty; | import com.iformall.config.AwsProperty; | ||||
| import com.iformall.domain.po.MallResource; | import com.iformall.domain.po.MallResource; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.file.aliyun.AliyunOSS; | |||||
| import com.iformall.service.MallResourceService; | import com.iformall.service.MallResourceService; | ||||
| import com.iformall.utils.ImgUtil; | import com.iformall.utils.ImgUtil; | ||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| @@ -50,6 +51,9 @@ public class UploadController extends BaseController { | |||||
| @Autowired | @Autowired | ||||
| private String fmUploadDir; | private String fmUploadDir; | ||||
| @Autowired | |||||
| private AliyunOSS aliyunOSS; | |||||
| private AmazonS3 s3 = null; | private AmazonS3 s3 = null; | ||||
| private String getFileName(TenantEntity tenantEntity, String fileName) { | private String getFileName(TenantEntity tenantEntity, String fileName) { | ||||
| @@ -149,14 +153,16 @@ public class UploadController extends BaseController { | |||||
| String fileName = UUID.randomUUID().toString(); | String fileName = UUID.randomUUID().toString(); | ||||
| int dot = multiReq.getOriginalFilename().lastIndexOf('.'); | int dot = multiReq.getOriginalFilename().lastIndexOf('.'); | ||||
| String fileFormat = ""; | |||||
| if (dot >= 0) { | 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); | fileName = getFileName(tenantEntity, fileName + fileFormat); | ||||
| } else { | } else { | ||||
| fileName = getFileName(tenantEntity, fileName); | 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; | return data; | ||||
| } | } | ||||
| @@ -212,7 +218,8 @@ public class UploadController extends BaseController { | |||||
| ObjectMetadata metadata = new ObjectMetadata(); | ObjectMetadata metadata = new ObjectMetadata(); | ||||
| metadata.setContentType(multiReq.getContentType()); | metadata.setContentType(multiReq.getContentType()); | ||||
| metadata.setContentLength(newFile.length()); | 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(); | newFile.delete(); | ||||
| return data; | return data; | ||||
| @@ -220,7 +227,8 @@ public class UploadController extends BaseController { | |||||
| ObjectMetadata metadata = new ObjectMetadata(); | ObjectMetadata metadata = new ObjectMetadata(); | ||||
| metadata.setContentType(multiReq.getContentType()); | metadata.setContentType(multiReq.getContentType()); | ||||
| metadata.setContentLength(multiReq.getSize()); | 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; | return data; | ||||
| } | } | ||||
| } | } | ||||
| @@ -256,14 +264,16 @@ public class UploadController extends BaseController { | |||||
| String fileName = UUID.randomUUID().toString(); | String fileName = UUID.randomUUID().toString(); | ||||
| int dot = multipartFile.getOriginalFilename().lastIndexOf('.'); | int dot = multipartFile.getOriginalFilename().lastIndexOf('.'); | ||||
| String fileFormat = ""; | |||||
| if (dot >= 0) { | if (dot >= 0) { | ||||
| String fileFormat = multipartFile.getOriginalFilename().substring(dot, multipartFile.getOriginalFilename().length()); | |||||
| fileFormat = multipartFile.getOriginalFilename().substring(dot, multipartFile.getOriginalFilename().length()); | |||||
| getFileName(tenantEntity, fileName + fileFormat); | getFileName(tenantEntity, fileName + fileFormat); | ||||
| } else { | } else { | ||||
| getFileName(tenantEntity, 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) { | if (data1.code == ResultData.SUCCESS) { | ||||
| Map _data = (Map) data1.data; | Map _data = (Map) data1.data; | ||||
| map.put("url", (String) _data.get("url")); | map.put("url", (String) _data.get("url")); | ||||
| @@ -52,11 +52,19 @@ spring: | |||||
| dateFormat: yyyyMMdd | dateFormat: yyyyMMdd | ||||
| endpointName: cn-hangzhou | 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 | |||||
| mail: | mail: | ||||
| host: smtp.exmail.qq.com | host: smtp.exmail.qq.com | ||||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||||
| username: zhengfangyuan@iformall.com | |||||
| password: xnydCeUzofB2h8qp # 授权密码 | |||||
| properties: | properties: | ||||
| mail: | mail: | ||||
| smtp: | smtp: | ||||
| @@ -11,9 +11,11 @@ import com.amazonaws.services.s3.AmazonS3ClientBuilder; | |||||
| import com.amazonaws.services.s3.model.CannedAccessControlList; | import com.amazonaws.services.s3.model.CannedAccessControlList; | ||||
| import com.amazonaws.services.s3.model.ObjectMetadata; | import com.amazonaws.services.s3.model.ObjectMetadata; | ||||
| import com.amazonaws.services.s3.model.PutObjectRequest; | import com.amazonaws.services.s3.model.PutObjectRequest; | ||||
| import com.iformall.common.ErrorCode; | |||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.config.AwsProperty; | import com.iformall.config.AwsProperty; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.file.aliyun.AliyunOSS; | |||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| import io.swagger.annotations.ApiOperation; | import io.swagger.annotations.ApiOperation; | ||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| @@ -42,6 +44,9 @@ public class UploadController extends BaseController { | |||||
| @Autowired | @Autowired | ||||
| private AwsProperty awsProperty; | private AwsProperty awsProperty; | ||||
| @Autowired | |||||
| private AliyunOSS aliyunOSS; | |||||
| private AmazonS3 s3 = null; | private AmazonS3 s3 = null; | ||||
| private ResultData awsUpload(MultipartFile multiReq, ObjectMetadata metadata, String fileName) { | private ResultData awsUpload(MultipartFile multiReq, ObjectMetadata metadata, String fileName) { | ||||
| @@ -134,15 +139,24 @@ public class UploadController extends BaseController { | |||||
| String fileName = UUID.randomUUID().toString(); | String fileName = UUID.randomUUID().toString(); | ||||
| int dot = multiReq.getOriginalFilename().lastIndexOf('.'); | int dot = multiReq.getOriginalFilename().lastIndexOf('.'); | ||||
| String fileFormat = ""; | |||||
| if (dot >= 0) { | 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); | fileName = getFileName(tenantEntity, fileName + fileFormat); | ||||
| } else { | } else { | ||||
| fileName = getFileName(tenantEntity, fileName); | 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(); | String fileName = UUID.randomUUID().toString(); | ||||
| int dot = multipartFile.getOriginalFilename().lastIndexOf('.'); | int dot = multipartFile.getOriginalFilename().lastIndexOf('.'); | ||||
| String fileFormat = ""; | |||||
| if (dot >= 0) { | 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); | fileName = getFileName(tenantEntity, fileName + fileFormat); | ||||
| } else { | } else { | ||||
| fileName = getFileName(tenantEntity, fileName); | 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.code = ResultData.SUCCESS; | ||||
| data.data = dataList; | data.data = dataList; | ||||
| @@ -52,11 +52,19 @@ spring: | |||||
| dateFormat: yyyyMMdd | dateFormat: yyyyMMdd | ||||
| endpointName: cn-hangzhou | 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 | |||||
| mail: | mail: | ||||
| host: smtp.exmail.qq.com | host: smtp.exmail.qq.com | ||||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||||
| username: zhengfangyuan@iformall.com | |||||
| password: xnydCeUzofB2h8qp # 授权密码 | |||||
| properties: | properties: | ||||
| mail: | mail: | ||||
| smtp: | smtp: | ||||
| @@ -9,6 +9,7 @@ import org.slf4j.LoggerFactory; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.web.bind.annotation.*; | import org.springframework.web.bind.annotation.*; | ||||
| import java.util.List; | |||||
| import java.util.Map; | import java.util.Map; | ||||
| @RestController | @RestController | ||||
| @@ -66,12 +67,17 @@ public class WxMsgCallbackController extends BaseController { | |||||
| } | } | ||||
| @PostMapping(value = "/receivemsgAliyun") | @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.debug("[" + getIpAddr() + "] WxMsgCallbackController::receivemsgAliyun"); | ||||
| logger.info(param.toString()); | logger.info(param.toString()); | ||||
| try { | try { | ||||
| //解析param数据插入数据库中 | |||||
| wxMsgCallbackService.receivemsgAliyun(param); | |||||
| if(param != null && param.size() > 0){ | |||||
| for (Map<String, String> p:param) { | |||||
| //解析param数据插入数据库中 | |||||
| wxMsgCallbackService.receivemsgAliyun(p); | |||||
| } | |||||
| } | |||||
| }catch(Exception e){ | }catch(Exception e){ | ||||
| logger.error("aliyun 短信回调ERROR",e); | logger.error("aliyun 短信回调ERROR",e); | ||||
| return new Result(ErrorCode.SYS_SERVER_ERROR); | return new Result(ErrorCode.SYS_SERVER_ERROR); | ||||
| @@ -53,11 +53,19 @@ spring: | |||||
| dateFormat: yyyyMMdd | dateFormat: yyyyMMdd | ||||
| endpointName: cn-hangzhou | 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 | |||||
| mail: | mail: | ||||
| host: smtp.exmail.qq.com | host: smtp.exmail.qq.com | ||||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||||
| username: zhengfangyuan@iformall.com | |||||
| password: xnydCeUzofB2h8qp # 授权密码 | |||||
| properties: | properties: | ||||
| mail: | mail: | ||||
| smtp: | smtp: | ||||
| @@ -54,11 +54,19 @@ spring: | |||||
| dateFormat: yyyyMMdd | dateFormat: yyyyMMdd | ||||
| endpointName: cn-hangzhou | 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 | |||||
| mail: | mail: | ||||
| host: smtp.exmail.qq.com | host: smtp.exmail.qq.com | ||||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||||
| username: zhengfangyuan@iformall.com | |||||
| password: xnydCeUzofB2h8qp # 授权密码 | |||||
| properties: | properties: | ||||
| mail: | mail: | ||||
| smtp: | smtp: | ||||
| @@ -52,11 +52,19 @@ spring: | |||||
| dateFormat: yyyyMMdd | dateFormat: yyyyMMdd | ||||
| endpointName: cn-hangzhou | 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 | |||||
| mail: | mail: | ||||
| host: smtp.exmail.qq.com | host: smtp.exmail.qq.com | ||||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||||
| username: zhengfangyuan@iformall.com | |||||
| password: xnydCeUzofB2h8qp # 授权密码 | |||||
| properties: | properties: | ||||
| mail: | mail: | ||||
| smtp: | smtp: | ||||
| @@ -54,11 +54,19 @@ spring: | |||||
| dateFormat: yyyyMMdd | dateFormat: yyyyMMdd | ||||
| endpointName: cn-hangzhou | 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 | |||||
| mail: | mail: | ||||
| host: smtp.exmail.qq.com | host: smtp.exmail.qq.com | ||||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||||
| username: zhengfangyuan@iformall.com | |||||
| password: xnydCeUzofB2h8qp # 授权密码 | |||||
| properties: | properties: | ||||
| mail: | mail: | ||||
| smtp: | smtp: | ||||
| @@ -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; | |||||
| } | |||||
| } | |||||
| @@ -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; | |||||
| } | |||||
| @@ -7,7 +7,7 @@ package com.iformall.sms; | |||||
| public enum EnumSMSChannel { | public enum EnumSMSChannel { | ||||
| ALIYUN(11, "ALIYUN"), | ALIYUN(11, "ALIYUN"), | ||||
| WIWIDE(1,"WIWIDE"); | |||||
| WIWIDE(0,"WIWIDE"); | |||||
| public static EnumSMSChannel getEnum(Integer code) { | public static EnumSMSChannel getEnum(Integer code) { | ||||
| for (EnumSMSChannel value : values()) { | for (EnumSMSChannel value : values()) { | ||||
| @@ -14,6 +14,7 @@ import com.iformall.config.AwsProperty; | |||||
| import com.iformall.controller.base.BaseController; | import com.iformall.controller.base.BaseController; | ||||
| import com.iformall.domain.po.MallResource; | import com.iformall.domain.po.MallResource; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.file.aliyun.AliyunOSS; | |||||
| import com.iformall.service.MallResourceService; | import com.iformall.service.MallResourceService; | ||||
| import com.iformall.utils.ImgUtil; | import com.iformall.utils.ImgUtil; | ||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| @@ -43,6 +44,9 @@ public class UploadController extends BaseController { | |||||
| @Autowired | @Autowired | ||||
| private String fmUploadDir; | private String fmUploadDir; | ||||
| @Autowired | |||||
| private AliyunOSS aliyunOSS; | |||||
| @Autowired | @Autowired | ||||
| private MallResourceService mallResourceService; | private MallResourceService mallResourceService; | ||||
| @@ -145,14 +149,16 @@ public class UploadController extends BaseController { | |||||
| String fileName = UUID.randomUUID().toString(); | String fileName = UUID.randomUUID().toString(); | ||||
| int dot = multiReq.getOriginalFilename().lastIndexOf('.'); | int dot = multiReq.getOriginalFilename().lastIndexOf('.'); | ||||
| String fileFormat = ""; | |||||
| if (dot >= 0) { | 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); | fileName = getFileName(tenantEntity, fileName + fileFormat); | ||||
| } else { | } else { | ||||
| fileName = getFileName(tenantEntity, fileName); | 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; | return data; | ||||
| } | } | ||||
| @@ -207,7 +213,8 @@ public class UploadController extends BaseController { | |||||
| ObjectMetadata metadata = new ObjectMetadata(); | ObjectMetadata metadata = new ObjectMetadata(); | ||||
| metadata.setContentType(multiReq.getContentType()); | metadata.setContentType(multiReq.getContentType()); | ||||
| metadata.setContentLength(newFile.length()); | 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(); | newFile.delete(); | ||||
| return data; | return data; | ||||
| @@ -215,7 +222,8 @@ public class UploadController extends BaseController { | |||||
| ObjectMetadata metadata = new ObjectMetadata(); | ObjectMetadata metadata = new ObjectMetadata(); | ||||
| metadata.setContentType(multiReq.getContentType()); | metadata.setContentType(multiReq.getContentType()); | ||||
| metadata.setContentLength(multiReq.getSize()); | 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; | return data; | ||||
| } | } | ||||
| } | } | ||||
| @@ -251,14 +259,16 @@ public class UploadController extends BaseController { | |||||
| String fileName = UUID.randomUUID().toString(); | String fileName = UUID.randomUUID().toString(); | ||||
| int dot = multipartFile.getOriginalFilename().lastIndexOf('.'); | int dot = multipartFile.getOriginalFilename().lastIndexOf('.'); | ||||
| String fileFormat = ""; | |||||
| if (dot >= 0) { | 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); | fileName = getFileName(tenantEntity, fileName + fileFormat); | ||||
| } else { | } else { | ||||
| fileName = getFileName(tenantEntity, fileName); | 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) { | if(data1.code == ResultData.SUCCESS) { | ||||
| Map _data = (Map)data1.data; | Map _data = (Map)data1.data; | ||||
| map.put("url", (String) _data.get("url")); | map.put("url", (String) _data.get("url")); | ||||
| @@ -296,34 +306,40 @@ public class UploadController extends BaseController { | |||||
| String fileName = multiReq.getOriginalFilename(); | String fileName = multiReq.getOriginalFilename(); | ||||
| fileName = "cimg/" + fileName; | 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; | 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(); | |||||
| // } | |||||
| } | } | ||||
| @@ -52,11 +52,19 @@ spring: | |||||
| dateFormat: yyyyMMdd | dateFormat: yyyyMMdd | ||||
| endpointName: cn-hangzhou | 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 | |||||
| mail: | mail: | ||||
| host: smtp.exmail.qq.com | host: smtp.exmail.qq.com | ||||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||||
| username: zhengfangyuan@iformall.com | |||||
| password: xnydCeUzofB2h8qp # 授权密码 | |||||
| properties: | properties: | ||||
| mail: | mail: | ||||
| smtp: | smtp: | ||||
| @@ -54,11 +54,19 @@ spring: | |||||
| dateFormat: yyyyMMdd | dateFormat: yyyyMMdd | ||||
| endpointName: cn-hangzhou | 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 | |||||
| mail: | mail: | ||||
| host: smtp.exmail.qq.com | host: smtp.exmail.qq.com | ||||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||||
| username: zhengfangyuan@iformall.com | |||||
| password: xnydCeUzofB2h8qp # 授权密码 | |||||
| properties: | properties: | ||||
| mail: | mail: | ||||
| smtp: | smtp: | ||||
| @@ -387,6 +387,21 @@ | |||||
| <version>2.1.0</version> | <version>2.1.0</version> | ||||
| </dependency> | </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> | </dependencies> | ||||