diff --git a/payment-base-app/src/main/java/com/base/springcloud/bo/MerchantConfigBO.java b/payment-base-app/src/main/java/com/base/springcloud/bo/MerchantConfigBO.java index b3f294c..3810465 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/bo/MerchantConfigBO.java +++ b/payment-base-app/src/main/java/com/base/springcloud/bo/MerchantConfigBO.java @@ -1,6 +1,7 @@ package com.base.springcloud.bo; import lombok.Data; +import org.springframework.web.multipart.MultipartFile; import java.io.File; @@ -35,5 +36,5 @@ public class MerchantConfigBO { /** * 支付证书文件 */ - private File certFile; + private MultipartFile certFile; } diff --git a/payment-base-app/src/main/java/com/base/springcloud/service/imp/MerchantServiceImp.java b/payment-base-app/src/main/java/com/base/springcloud/service/imp/MerchantServiceImp.java index a94d2f7..218901b 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/service/imp/MerchantServiceImp.java +++ b/payment-base-app/src/main/java/com/base/springcloud/service/imp/MerchantServiceImp.java @@ -2,18 +2,16 @@ package com.base.springcloud.service.imp; import com.base.springcloud.bo.MerchantConfigBO; import com.base.springcloud.dao.MerchantConfigMapper; -import com.base.springcloud.dto.MerchantConfigRspDTO; import com.base.springcloud.entity.MerchantConfig; import com.base.springcloud.service.MerchantService; import com.base.springcloud.util.FtpUtil; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.InputStream; +import java.io.*; import java.util.Date; import java.util.List; import java.util.Optional; @@ -29,6 +27,9 @@ public class MerchantServiceImp implements MerchantService { @Autowired private FtpUtil ftpUtil; + @Value("${test_ftp.file_path}") + public String FTP_BASEPATH; + /** * 支付信息配置 * @param merchantConfigBO @@ -36,12 +37,12 @@ public class MerchantServiceImp implements MerchantService { @Override public void paymentConfigure(MerchantConfigBO merchantConfigBO) { // 证书上传服务器 - //String certPath = uplodWecPayCert(merchantConfigBO.getMerchantId(),merchantConfigBO.getCertFile()); + String certPath = uplodWecWindow(merchantConfigBO.getMchId(),merchantConfigBO.getCertFile()); // 商户支付信息保存 MerchantConfig merchantConfig = new MerchantConfig(); merchantConfig.setId(UUID.randomUUID().toString().replace("-", "")); merchantConfig.setCreateTime(new Date()); - //merchantConfig.setCertPath(certPath); + merchantConfig.setCertPath(certPath); BeanUtils.copyProperties(merchantConfigBO,merchantConfig); int count = merchantConfigMapper.insert(merchantConfig); if(count > 0) return; @@ -98,6 +99,27 @@ public class MerchantServiceImp implements MerchantService { return merchantConfigBOList; } + /** + * 测试文件上传 + */ + private String uplodWecWindow(String mchId, MultipartFile certfile){ + if (certfile.isEmpty()) { + // TODO 抛出业务异常 + return "文件上传失败!"; + } + + String fileName = certfile.getOriginalFilename(); + String suffixName = fileName.substring(fileName.lastIndexOf(".")); + File file = new File(FTP_BASEPATH + mchId + suffixName); + try { + certfile.transferTo(file); + return file.getPath() + fileName; + } catch (IOException e) { + // TODO 抛出业务异常 + } + return "文件上传失败!"; + } + /** * 证书上传服务器 * @param mchId diff --git a/payment-base-app/src/main/java/com/base/springcloud/util/FtpUtil.java b/payment-base-app/src/main/java/com/base/springcloud/util/FtpUtil.java index d64ff60..a89bd68 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/util/FtpUtil.java +++ b/payment-base-app/src/main/java/com/base/springcloud/util/FtpUtil.java @@ -17,20 +17,20 @@ public class FtpUtil { //ftp服务器ip地址 @Value("${ftp.ftp_ip}") - private static String FTP_ADDRESS; + private String FTP_ADDRESS; //端口号 - @Value("${ftp.ftp_port}") - private static int FTP_PORT = 21; + @Value("${ftp.ftp_prot}") + private int FTP_PORT; //用户名 @Value("${ftp.ftp_username}") - private static String FTP_USERNAME; + private String FTP_USERNAME; //密码 @Value("${ftp.ftp_password}") - private static String FTP_PASSWORD; + private String FTP_PASSWORD; //路径都是/home/加上用户名 @Value("${ftp.ftp_basepath}") - public final String FTP_BASEPATH = "/home/huanglong"; + public String FTP_BASEPATH; // 文件上传 diff --git a/payment-base-app/src/main/resources/application.yml b/payment-base-app/src/main/resources/application.yml index 34f0332..4e8ece0 100644 --- a/payment-base-app/src/main/resources/application.yml +++ b/payment-base-app/src/main/resources/application.yml @@ -64,4 +64,6 @@ ftp: ftp_prot : 21 ftp_username : wangying ftp_password : 123456 - ftp_basepath : /home/wangying \ No newline at end of file + ftp_basepath : /home/wangying +test_ftp: + file_path : G:\TestFile\ \ No newline at end of file diff --git a/payment-base-app/target/classes/application.yml b/payment-base-app/target/classes/application.yml index 34f0332..4e8ece0 100644 --- a/payment-base-app/target/classes/application.yml +++ b/payment-base-app/target/classes/application.yml @@ -64,4 +64,6 @@ ftp: ftp_prot : 21 ftp_username : wangying ftp_password : 123456 - ftp_basepath : /home/wangying \ No newline at end of file + ftp_basepath : /home/wangying +test_ftp: + file_path : G:\TestFile\ \ No newline at end of file