| @@ -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; | |||
| } | |||
| @@ -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 | |||
| 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 | |||
| @@ -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")); | |||
| @@ -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 | |||
| mail: | |||
| host: smtp.exmail.qq.com | |||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||
| username: zhengfangyuan@iformall.com | |||
| password: xnydCeUzofB2h8qp # 授权密码 | |||
| properties: | |||
| mail: | |||
| smtp: | |||
| @@ -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; | |||
| @@ -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 | |||
| mail: | |||
| host: smtp.exmail.qq.com | |||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||
| username: zhengfangyuan@iformall.com | |||
| password: xnydCeUzofB2h8qp # 授权密码 | |||
| properties: | |||
| mail: | |||
| smtp: | |||
| @@ -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 | |||
| @@ -51,12 +52,17 @@ public class WxMsgCallbackController extends BaseController { | |||
| * @param param | |||
| */ | |||
| @PostMapping(value = "/receivemodelAliyun") | |||
| public Result receiveverifymodel(@RequestParam Map<String, String> param) { | |||
| public Result receiveverifymodel(@RequestBody List<Map<String, String>> param) { | |||
| logger.debug("[" + getIpAddr() + "] WxMsgCallbackController::receivemodelAliyun"); | |||
| logger.info(param.toString()); | |||
| try { | |||
| //解析param数据插入数据库中 | |||
| wxMsgCallbackService.receivemodelAliyun(param); | |||
| if(param != null && param.size() > 0){ | |||
| for (Map<String, String> p:param) { | |||
| //解析param数据插入数据库中 | |||
| wxMsgCallbackService.receivemodelAliyun(p); | |||
| } | |||
| } | |||
| }catch(Exception e){ | |||
| logger.error("aliyun 模板回调ERROR",e); | |||
| return new Result(ErrorCode.SYS_SERVER_ERROR); | |||
| @@ -66,12 +72,17 @@ public class WxMsgCallbackController extends BaseController { | |||
| } | |||
| @PostMapping(value = "/receivemsgAliyun") | |||
| public Result receivemsg(@RequestParam Map<String, String> param) { | |||
| public Result receivemsg(@RequestBody 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); | |||
| @@ -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 | |||
| mail: | |||
| host: smtp.exmail.qq.com | |||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||
| username: zhengfangyuan@iformall.com | |||
| password: xnydCeUzofB2h8qp # 授权密码 | |||
| properties: | |||
| mail: | |||
| smtp: | |||
| @@ -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 | |||
| mail: | |||
| host: smtp.exmail.qq.com | |||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||
| username: zhengfangyuan@iformall.com | |||
| password: xnydCeUzofB2h8qp # 授权密码 | |||
| properties: | |||
| mail: | |||
| smtp: | |||
| @@ -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 | |||
| mail: | |||
| host: smtp.exmail.qq.com | |||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||
| username: zhengfangyuan@iformall.com | |||
| password: xnydCeUzofB2h8qp # 授权密码 | |||
| properties: | |||
| mail: | |||
| smtp: | |||
| @@ -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 | |||
| mail: | |||
| host: smtp.exmail.qq.com | |||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||
| username: zhengfangyuan@iformall.com | |||
| password: xnydCeUzofB2h8qp # 授权密码 | |||
| properties: | |||
| mail: | |||
| smtp: | |||
| @@ -44,7 +44,7 @@ public class WxMsgConfig extends TenantEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value="appid",name="appid") | |||
| private String appid; | |||
| @io.swagger.annotations.ApiModelProperty(value="是否阿里云发短信1:是;0:否",name="isAliyunSMS") | |||
| private Integer isAliyunSMS; | |||
| @io.swagger.annotations.ApiModelProperty(value="发短信渠道0:wiwidi; 11:aliyun",name="smsChannel") | |||
| private Integer smsChannel; | |||
| } | |||
| @@ -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; | |||
| } | |||
| @@ -167,11 +167,11 @@ public class WxMsgCallbackServiceImpl implements WxMsgCallbackService { | |||
| //approved:审核通过 | |||
| //rejected:审核未通过 | |||
| String templateStatus = param.get("template_status"); | |||
| if("approving".equals(templateStatus)){ | |||
| if("approving".equalsIgnoreCase(templateStatus)){ | |||
| wxMsgModel.setStatus(2); | |||
| }else if("approved".equals(templateStatus)){ | |||
| }else if("approved".equalsIgnoreCase(templateStatus)){ | |||
| wxMsgModel.setStatus(1); | |||
| }else if("rejected".equals(templateStatus)){ | |||
| }else if("rejected".equalsIgnoreCase(templateStatus)){ | |||
| wxMsgModel.setStatus(0); | |||
| }else{ | |||
| wxMsgModel.setStatus(-1); | |||
| @@ -190,7 +190,7 @@ public class WxMsgCallbackServiceImpl implements WxMsgCallbackService { | |||
| String success = param.get("success"); | |||
| WxMsgCallback wxMsgCallback = new WxMsgCallback(); | |||
| wxMsgCallback.setBatchNo(param.get("biz_id")); | |||
| if("true".equals(success)){ | |||
| if("true".equalsIgnoreCase(success)){ | |||
| wxMsgCallback.setStatus(EnumMsgSendStatus.MSG_SEND_SUCCESS.getCode()); | |||
| if(StringUtils.isNotBlank(param.get("out_id"))){ | |||
| WxCouponPassword couponPassword = new WxCouponPassword(); | |||
| @@ -17,6 +17,7 @@ import com.iformall.mapper.WxMsgModelMapper; | |||
| import com.iformall.service.WxMsgModelService; | |||
| import com.iformall.sms.SMSFactory; | |||
| import com.iformall.utils.*; | |||
| import org.apache.commons.lang3.StringUtils; | |||
| import org.slf4j.Logger; | |||
| import org.slf4j.LoggerFactory; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| @@ -74,7 +75,7 @@ public class WxMsgModelServiceImpl implements WxMsgModelService { | |||
| String result = SMSFactory.addTemplate(secret, bid, wxMsgConfig.getPublickey(), signature, | |||
| content, wxMsgConfig.getModelnotifyurl(),EnumVerifyCode.NO.getCode().toString(), | |||
| wxMsgModel.getName(),2,wxMsgModel.getName(),wxMsgConfig.getIsAliyunSMS()); | |||
| wxMsgModel.getName(),1,wxMsgModel.getName(),wxMsgConfig.getSmsChannel()); | |||
| JSONObject jsonObjectResult = JSONObject.parseObject(result); | |||
| String ret = jsonObjectResult.get("ret").toString(); | |||
| logger.info("短信模板创建结果:" + result); | |||
| @@ -83,16 +84,24 @@ public class WxMsgModelServiceImpl implements WxMsgModelService { | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| wxMsgModel.setId(idWorker.nextId()); | |||
| wxMsgModel.setTenantId(wxMsgModel.getTenantId()); | |||
| String data = jsonObjectResult.get("data").toString(); | |||
| wxMsgModel.setModelId(Integer.valueOf(data)); | |||
| wxMsgModel.setModelCode(jsonObjectResult.get("aliyunModelCode").toString()); | |||
| if(jsonObjectResult.get("data") != null){ | |||
| String data = jsonObjectResult.get("data").toString(); | |||
| wxMsgModel.setModelId(Integer.valueOf(data)); | |||
| } | |||
| if(jsonObjectResult.get("aliyunModelCode") != null){ | |||
| wxMsgModel.setModelCode(jsonObjectResult.get("aliyunModelCode").toString()); | |||
| } | |||
| wxMsgModel.setCreatetime(new Date()); | |||
| wxMsgModel.setStatus(2);//审核中 | |||
| wxMsgModelMapper.insert(wxMsgModel); | |||
| } else { | |||
| String data = jsonObjectResult.get("data").toString(); | |||
| wxMsgModel.setModelId(Integer.valueOf(data)); | |||
| wxMsgModel.setModelCode(jsonObjectResult.get("aliyunModelCode").toString()); | |||
| if(jsonObjectResult.get("data") != null){ | |||
| String data = jsonObjectResult.get("data").toString(); | |||
| wxMsgModel.setModelId(Integer.valueOf(data)); | |||
| } | |||
| if(jsonObjectResult.get("aliyunModelCode") != null){ | |||
| wxMsgModel.setModelCode(jsonObjectResult.get("aliyunModelCode").toString()); | |||
| } | |||
| wxMsgModel.setStatus(2);//审核中 | |||
| wxMsgModelMapper.updateById(wxMsgModel); | |||
| } | |||
| @@ -124,7 +124,7 @@ public class WxMsgValidationcodeModelServiceImpl implements WxMsgValidationcodeM | |||
| String result = SMSFactory.addTemplate(secret, bid, wxMsgConfig.getPublickey(), signature, content, | |||
| wxMsgConfig.getVerifynotifyurl(),EnumVerifyCode.YES.getCode().toString(), | |||
| wxMsgModel.getName(),1,wxMsgModel.getName(),wxMsgConfig.getIsAliyunSMS()); | |||
| wxMsgModel.getName(),1,wxMsgModel.getName(),wxMsgConfig.getSmsChannel()); | |||
| JSONObject jsonObjectResult = JSONObject.parseObject(result); | |||
| String ret = jsonObjectResult.get("ret").toString(); | |||
| @@ -133,15 +133,24 @@ public class WxMsgValidationcodeModelServiceImpl implements WxMsgValidationcodeM | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| wxMsgModel.setId(idWorker.nextId()); | |||
| wxMsgModel.setTenantId(wxMsgModel.getTenantId()); | |||
| String data = jsonObjectResult.get("data").toString(); | |||
| wxMsgModel.setModelId(Integer.valueOf(data)); | |||
| wxMsgModel.setModelCode(jsonObjectResult.get("aliyunModelCode").toString()); | |||
| if(jsonObjectResult.get("data") != null){ | |||
| String data = jsonObjectResult.get("data").toString(); | |||
| wxMsgModel.setModelId(Integer.valueOf(data)); | |||
| } | |||
| if(jsonObjectResult.get("aliyunModelCode") != null){ | |||
| wxMsgModel.setModelCode(jsonObjectResult.get("aliyunModelCode").toString()); | |||
| } | |||
| wxMsgModel.setCreatetime(new Date()); | |||
| wxMsgModel.setStatus(2);//审核中 | |||
| wxMsgValidationcodeModelMapper.insert(wxMsgModel); | |||
| } else { | |||
| String data = jsonObjectResult.get("data").toString(); | |||
| wxMsgModel.setModelId(Integer.valueOf(data)); | |||
| if(jsonObjectResult.get("data") != null){ | |||
| String data = jsonObjectResult.get("data").toString(); | |||
| wxMsgModel.setModelId(Integer.valueOf(data)); | |||
| } | |||
| if(jsonObjectResult.get("aliyunModelCode") != null){ | |||
| wxMsgModel.setModelCode(jsonObjectResult.get("aliyunModelCode").toString()); | |||
| } | |||
| wxMsgModel.setStatus(2);//审核中 | |||
| wxMsgValidationcodeModelMapper.updateById(wxMsgModel); | |||
| } | |||
| @@ -103,7 +103,7 @@ public class SendCallBackSmsServiceImpl implements MsgSendService { | |||
| */ | |||
| String result = SMSFactory.sendSms(secret, bid, publickey, phone, signature, msg, notifyUrl, | |||
| EnumVerifyCode.NO.getCode().toString(), modelId, | |||
| null,wxMsgModel.getModelCode(),Long.toString(record.getId()),wxMsgConfig.getIsAliyunSMS()); | |||
| null,wxMsgModel.getModelCode(),Long.toString(record.getId()),wxMsgConfig.getSmsChannel()); | |||
| @@ -102,7 +102,7 @@ public class SendSmsServiceImpl implements MsgSendService { | |||
| String result = SMSFactory.sendSms(secret, bid, publickey, phone, signature, msg, notifyUrl, | |||
| EnumVerifyCode.YES.getCode().toString(), modelId, | |||
| JSON.toJSONString(record.getDynamicContentMap()),wxMsgValidationcodeModel.getModelCode(), | |||
| id,wxMsgConfig.getIsAliyunSMS()); | |||
| id,wxMsgConfig.getSmsChannel()); | |||
| JSONObject jsonObjectResult = JSONObject.parseObject(result); | |||
| String ret = jsonObjectResult.get("ret").toString(); | |||
| String batchNo = jsonObjectResult.get("data").toString(); | |||
| @@ -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()) { | |||
| @@ -34,7 +34,7 @@ public class AliyunSMS implements SMSExcutor { | |||
| sms.setSignName(signature); | |||
| Result result = this.sendSms(sms); | |||
| if(result.getSendSmsResponse().getCode() != null | |||
| && result.getSendSmsResponse().getCode().equals("ok")){ | |||
| && result.getSendSmsResponse().getCode().equalsIgnoreCase("ok")){ | |||
| SMSResult.setRet("1"); | |||
| SMSResult.setData(result.getSendSmsResponse().getBizId()); | |||
| } | |||
| @@ -50,7 +50,7 @@ public class AliyunSMS implements SMSExcutor { | |||
| smsTemplate.setTemplateType(templateType); | |||
| smsTemplate.setRemark(remark); | |||
| AddSmsTemplateResponse addSmsTemplateResponse = this.addSmsTemplate(smsTemplate); | |||
| if(addSmsTemplateResponse.getCode() != null && addSmsTemplateResponse.getCode().equals("ok")){ | |||
| if(addSmsTemplateResponse.getCode() != null && addSmsTemplateResponse.getCode().equalsIgnoreCase("ok")){ | |||
| SMSResult.setRet("1"); | |||
| SMSResult.setAliyunModelCode(addSmsTemplateResponse.getTemplateCode()); | |||
| } | |||
| @@ -97,6 +97,7 @@ public class AliyunSMS implements SMSExcutor { | |||
| log.error("添加签名发生错误。错误代码是 [{}],错误消息是 [{}],错误请求ID是 [{}],错误Msg是 [{}],错误类型是 [{}]", | |||
| e.getErrCode(), e.getMessage(), e.getRequestId(), e.getErrMsg(), e.getErrorType()); | |||
| } | |||
| log.info("添加签名-----" + response.getCode() + "----" + response.getMessage()); | |||
| return response; | |||
| } | |||
| @@ -115,6 +116,7 @@ public class AliyunSMS implements SMSExcutor { | |||
| log.error("删除签名发生错误。错误代码是 [{}],错误消息是 [{}],错误请求ID是 [{}],错误Msg是 [{}],错误类型是 [{}]", | |||
| e.getErrCode(), e.getMessage(), e.getRequestId(), e.getErrMsg(), e.getErrorType()); | |||
| } | |||
| log.info("删除签名-----" + response.getCode() + "----" + response.getMessage()); | |||
| return response; | |||
| } | |||
| @@ -135,6 +137,7 @@ public class AliyunSMS implements SMSExcutor { | |||
| log.error("修改签名发生错误。错误代码是 [{}],错误消息是 [{}],错误请求ID是 [{}],错误Msg是 [{}],错误类型是 [{}]", | |||
| e.getErrCode(), e.getMessage(), e.getRequestId(), e.getErrMsg(), e.getErrorType()); | |||
| } | |||
| log.info("修改签名----" + response.getCode() + "----" + response.getMessage()); | |||
| return response; | |||
| } | |||
| @@ -153,6 +156,7 @@ public class AliyunSMS implements SMSExcutor { | |||
| log.error("查询签名发生错误。错误代码是 [{}],错误消息是 [{}],错误请求ID是 [{}],错误Msg是 [{}],错误类型是 [{}]", | |||
| e.getErrCode(), e.getMessage(), e.getRequestId(), e.getErrMsg(), e.getErrorType()); | |||
| } | |||
| log.info("查询签名----" + response.getCode() + "----" + response.getMessage()); | |||
| return response; | |||
| } | |||
| @@ -171,9 +175,10 @@ public class AliyunSMS implements SMSExcutor { | |||
| try { | |||
| response = acsClient.getAcsResponse(request); | |||
| } catch (ClientException e) { | |||
| log.error("添加签名发生错误。错误代码是 [{}],错误消息是 [{}],错误请求ID是 [{}],错误Msg是 [{}],错误类型是 [{}]", | |||
| log.error(" 添加模板发生错误。错误代码是 [{}],错误消息是 [{}],错误请求ID是 [{}],错误Msg是 [{}],错误类型是 [{}]", | |||
| e.getErrCode(), e.getMessage(), e.getRequestId(), e.getErrMsg(), e.getErrorType()); | |||
| } | |||
| log.info(" 添加模板----" + response.getCode() + "----" + response.getMessage()); | |||
| return response; | |||
| } | |||
| @@ -189,9 +194,10 @@ public class AliyunSMS implements SMSExcutor { | |||
| try { | |||
| response = acsClient.getAcsResponse(request); | |||
| } catch (ClientException e) { | |||
| log.error("删除签名发生错误。错误代码是 [{}],错误消息是 [{}],错误请求ID是 [{}],错误Msg是 [{}],错误类型是 [{}]", | |||
| log.error("删除模板发生错误。错误代码是 [{}],错误消息是 [{}],错误请求ID是 [{}],错误Msg是 [{}],错误类型是 [{}]", | |||
| e.getErrCode(), e.getMessage(), e.getRequestId(), e.getErrMsg(), e.getErrorType()); | |||
| } | |||
| log.info(" 删除模板----" + response.getCode() + "----" + response.getMessage()); | |||
| return response; | |||
| } | |||
| @@ -211,9 +217,10 @@ public class AliyunSMS implements SMSExcutor { | |||
| try { | |||
| response = acsClient.getAcsResponse(request); | |||
| } catch (ClientException e) { | |||
| log.error("修改签名发生错误。错误代码是 [{}],错误消息是 [{}],错误请求ID是 [{}],错误Msg是 [{}],错误类型是 [{}]", | |||
| log.error("修改模板发生错误。错误代码是 [{}],错误消息是 [{}],错误请求ID是 [{}],错误Msg是 [{}],错误类型是 [{}]", | |||
| e.getErrCode(), e.getMessage(), e.getRequestId(), e.getErrMsg(), e.getErrorType()); | |||
| } | |||
| log.info(" 修改模板----" + response.getCode() + "----" + response.getMessage()); | |||
| return response; | |||
| } | |||
| @@ -229,9 +236,10 @@ public class AliyunSMS implements SMSExcutor { | |||
| try { | |||
| response = acsClient.getAcsResponse(request); | |||
| } catch (ClientException e) { | |||
| log.error("查询签名发生错误。错误代码是 [{}],错误消息是 [{}],错误请求ID是 [{}],错误Msg是 [{}],错误类型是 [{}]", | |||
| log.error("查询模板发生错误。错误代码是 [{}],错误消息是 [{}],错误请求ID是 [{}],错误Msg是 [{}],错误类型是 [{}]", | |||
| e.getErrCode(), e.getMessage(), e.getRequestId(), e.getErrMsg(), e.getErrorType()); | |||
| } | |||
| log.info(" 查询模板----" + response.getCode() + "----" + response.getMessage()); | |||
| return response; | |||
| } | |||
| @@ -19,14 +19,14 @@ | |||
| <result column="modelnotifyurl" jdbcType="VARCHAR" property="modelnotifyurl" /> | |||
| <result column="verifynotifyurl" jdbcType="VARCHAR" property="verifynotifyurl" /> | |||
| <result column="appid" jdbcType="VARCHAR" property="appid" /> | |||
| <result column="isAliyunSMS" jdbcType="SMALLINT" property="isAliyunSMS" /> | |||
| <result column="sms_channel" jdbcType="SMALLINT" property="smsChannel" /> | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `id`,`tenant_id`,`parent_tenant_id`,`secret`,`publickey`,`bid`,`recharge`,`remains`,`total`,`account`, | |||
| `reminderstatus`,`reminder`,`phone`,`notifyurl`,`modelnotifyurl`,`verifynotifyurl`,`appid`,`isAliyunSMS` | |||
| `reminderstatus`,`reminder`,`phone`,`notifyurl`,`modelnotifyurl`,`verifynotifyurl`,`appid`,`sms_channel` | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| @@ -104,8 +104,8 @@ | |||
| </if> | |||
| <if test=" null != isAliyunSMS "> | |||
| and `appid` = #{isAliyunSMS} | |||
| <if test=" null != smsChannel "> | |||
| and `sms_channel` = #{smsChannel} | |||
| </if> | |||
| @@ -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(); | |||
| // } | |||
| } | |||
| @@ -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 | |||
| mail: | |||
| host: smtp.exmail.qq.com | |||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||
| username: zhengfangyuan@iformall.com | |||
| password: xnydCeUzofB2h8qp # 授权密码 | |||
| properties: | |||
| mail: | |||
| smtp: | |||
| @@ -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 | |||
| mail: | |||
| host: smtp.exmail.qq.com | |||
| username: ENC(lknBjZsA24AaQEXuy0fFw3acd4v4Xsf3CsgDcRZgjlYnNAL9R07d/w==) | |||
| password: ENC(gIkVPuYMmJ/EDxry8QIfGumIAk4plAwolGrfg1fiM3U=) # 授权密码 | |||
| username: zhengfangyuan@iformall.com | |||
| password: xnydCeUzofB2h8qp # 授权密码 | |||
| properties: | |||
| mail: | |||
| smtp: | |||
| @@ -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> | |||