diff --git a/payment-base-app/payment-base-app.iml b/payment-base-app/payment-base-app.iml
index 5a17eb0..c6fb175 100644
--- a/payment-base-app/payment-base-app.iml
+++ b/payment-base-app/payment-base-app.iml
@@ -95,7 +95,6 @@
-
@@ -110,7 +109,6 @@
-
@@ -178,5 +176,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/payment-base-app/pom.xml b/payment-base-app/pom.xml
index 6ed0cab..4b6b1cf 100644
--- a/payment-base-app/pom.xml
+++ b/payment-base-app/pom.xml
@@ -11,6 +11,10 @@
payment-base-app
+
+ 3.6.0
+
+
org.springframework.boot
@@ -152,8 +156,42 @@
maven-assembly-plugin
3.0.0
+
+
+
+ com.aliyun.oss
+ aliyun-sdk-oss
+ ${aliyun.oss.version}
+
+
+
+
+ io.minio
+ minio
+ 8.0.3
+ true
+
+
+
+ aliyun
+ aliyun Repository
+ http://maven.aliyun.com/nexus/content/groups/public
+
+ false
+
+
+
+ jeecg
+ jeecg Repository
+ http://maven.jeecg.org/nexus/content/repositories/jeecg
+
+ false
+
+
+
+
rbs-pay
diff --git a/payment-base-app/src/main/java/com/base/springcloud/aspect/config/JimuMinioConfig.java b/payment-base-app/src/main/java/com/base/springcloud/aspect/config/JimuMinioConfig.java
new file mode 100644
index 0000000..06c0d7c
--- /dev/null
+++ b/payment-base-app/src/main/java/com/base/springcloud/aspect/config/JimuMinioConfig.java
@@ -0,0 +1,172 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by Fernflower decompiler)
+//
+
+package com.base.springcloud.aspect.config;
+
+import com.base.springcloud.util.MinioUtil;
+import com.base.springcloud.util.oConvertUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Component;
+
+@Component("jimuMinioConfig")
+@ConfigurationProperties(
+ prefix = "jeecg.minio"
+)
+@ConditionalOnProperty(
+ value = {"jeecg.uploadType"},
+ havingValue = "minio",
+ matchIfMissing = true
+)
+public class JimuMinioConfig {
+ private static final Logger log = LoggerFactory.getLogger(JimuMinioConfig.class);
+ private String minioUrl;
+ private String minioName;
+ private String minioPass;
+ private String bucketName;
+
+ @Bean
+ public JimuMinioConfig initJimuMinio() {
+ if (oConvertUtils.isNotEmpty(this.minioUrl)) {
+ if (!this.minioUrl.startsWith("http")) {
+ this.minioUrl = "http://" + this.minioUrl;
+ }
+
+ if (!this.minioUrl.endsWith("/")) {
+ this.minioUrl = this.minioUrl.concat("/");
+ }
+ }
+
+ try {
+ MinioUtil.setMinioUrl(this.minioUrl);
+ MinioUtil.setMinioName(this.minioName);
+ MinioUtil.setMinioPass(this.minioPass);
+ MinioUtil.setBucketName(this.bucketName);
+ } catch (NoClassDefFoundError var2) {
+ log.error("[JimuReport] 加载上传配置失败,Minio版本不匹配,请升级Minio依赖到8.0.3+", var2);
+ }
+
+ return new JimuMinioConfig();
+ }
+
+ public JimuMinioConfig() {
+ }
+
+ public String getMinioUrl() {
+ return this.minioUrl;
+ }
+
+ public String getMinioName() {
+ return this.minioName;
+ }
+
+ public String getMinioPass() {
+ return this.minioPass;
+ }
+
+ public String getBucketName() {
+ return this.bucketName;
+ }
+
+ public void setMinioUrl(String minioUrl) {
+ this.minioUrl = minioUrl;
+ }
+
+ public void setMinioName(String minioName) {
+ this.minioName = minioName;
+ }
+
+ public void setMinioPass(String minioPass) {
+ this.minioPass = minioPass;
+ }
+
+ public void setBucketName(String bucketName) {
+ this.bucketName = bucketName;
+ }
+
+ public boolean equals(Object o) {
+ if (o == this) {
+ return true;
+ } else if (!(o instanceof JimuMinioConfig)) {
+ return false;
+ } else {
+ JimuMinioConfig var2 = (JimuMinioConfig)o;
+ if (!var2.canEqual(this)) {
+ return false;
+ } else {
+ label59: {
+ String var3 = this.getMinioUrl();
+ String var4 = var2.getMinioUrl();
+ if (var3 == null) {
+ if (var4 == null) {
+ break label59;
+ }
+ } else if (var3.equals(var4)) {
+ break label59;
+ }
+
+ return false;
+ }
+
+ String var5 = this.getMinioName();
+ String var6 = var2.getMinioName();
+ if (var5 == null) {
+ if (var6 != null) {
+ return false;
+ }
+ } else if (!var5.equals(var6)) {
+ return false;
+ }
+
+ String var7 = this.getMinioPass();
+ String var8 = var2.getMinioPass();
+ if (var7 == null) {
+ if (var8 != null) {
+ return false;
+ }
+ } else if (!var7.equals(var8)) {
+ return false;
+ }
+
+ String var9 = this.getBucketName();
+ String var10 = var2.getBucketName();
+ if (var9 == null) {
+ if (var10 != null) {
+ return false;
+ }
+ } else if (!var9.equals(var10)) {
+ return false;
+ }
+
+ return true;
+ }
+ }
+ }
+
+ protected boolean canEqual(Object other) {
+ return other instanceof JimuMinioConfig;
+ }
+
+ public int hashCode() {
+ boolean var1 = true;
+ byte var2 = 1;
+ String var3 = this.getMinioUrl();
+ int var7 = var2 * 59 + (var3 == null ? 43 : var3.hashCode());
+ String var4 = this.getMinioName();
+ var7 = var7 * 59 + (var4 == null ? 43 : var4.hashCode());
+ String var5 = this.getMinioPass();
+ var7 = var7 * 59 + (var5 == null ? 43 : var5.hashCode());
+ String var6 = this.getBucketName();
+ var7 = var7 * 59 + (var6 == null ? 43 : var6.hashCode());
+ return var7;
+ }
+
+ public String toString() {
+ return "JimuMinioConfig(minioUrl=" + this.getMinioUrl() + ", minioName=" + this.getMinioName() + ", minioPass=" + this.getMinioPass() + ", bucketName=" + this.getBucketName() + ")";
+ }
+}
diff --git a/payment-base-app/src/main/java/com/base/springcloud/aspect/config/JimuOssConfiguration.java b/payment-base-app/src/main/java/com/base/springcloud/aspect/config/JimuOssConfiguration.java
new file mode 100644
index 0000000..d31e6d6
--- /dev/null
+++ b/payment-base-app/src/main/java/com/base/springcloud/aspect/config/JimuOssConfiguration.java
@@ -0,0 +1,179 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by Fernflower decompiler)
+//
+
+package com.base.springcloud.aspect.config;
+
+import com.base.springcloud.util.OssBootUtil;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Component;
+
+@Component("jimuOssConfiguration")
+@ConfigurationProperties(
+ prefix = "jeecg.oss"
+)
+@ConditionalOnProperty(
+ value = {"jeecg.uploadType"},
+ havingValue = "alioss",
+ matchIfMissing = true
+)
+public class JimuOssConfiguration {
+ private String endpoint;
+ private String accessKey;
+ private String secretKey;
+ private String bucketName;
+ private String staticDomain;
+
+ @Bean
+ public OssBootUtil initJimuOssBootConfiguration() {
+ OssBootUtil.setEndPoint(this.endpoint);
+ OssBootUtil.setAccessKeyId(this.accessKey);
+ OssBootUtil.setAccessKeySecret(this.secretKey);
+ OssBootUtil.setBucketName(this.bucketName);
+ OssBootUtil.setStaticDomain(this.staticDomain);
+ return new OssBootUtil();
+ }
+
+ public JimuOssConfiguration() {
+ }
+
+ public String getEndpoint() {
+ return this.endpoint;
+ }
+
+ public String getAccessKey() {
+ return this.accessKey;
+ }
+
+ public String getSecretKey() {
+ return this.secretKey;
+ }
+
+ public String getBucketName() {
+ return this.bucketName;
+ }
+
+ public String getStaticDomain() {
+ return this.staticDomain;
+ }
+
+ public void setEndpoint(String endpoint) {
+ this.endpoint = endpoint;
+ }
+
+ public void setAccessKey(String accessKey) {
+ this.accessKey = accessKey;
+ }
+
+ public void setSecretKey(String secretKey) {
+ this.secretKey = secretKey;
+ }
+
+ public void setBucketName(String bucketName) {
+ this.bucketName = bucketName;
+ }
+
+ public void setStaticDomain(String staticDomain) {
+ this.staticDomain = staticDomain;
+ }
+
+ public boolean equals(Object o) {
+ if (o == this) {
+ return true;
+ } else if (!(o instanceof JimuOssConfiguration)) {
+ return false;
+ } else {
+ JimuOssConfiguration var2 = (JimuOssConfiguration)o;
+ if (!var2.canEqual(this)) {
+ return false;
+ } else {
+ label71: {
+ String var3 = this.getEndpoint();
+ String var4 = var2.getEndpoint();
+ if (var3 == null) {
+ if (var4 == null) {
+ break label71;
+ }
+ } else if (var3.equals(var4)) {
+ break label71;
+ }
+
+ return false;
+ }
+
+ String var5 = this.getAccessKey();
+ String var6 = var2.getAccessKey();
+ if (var5 == null) {
+ if (var6 != null) {
+ return false;
+ }
+ } else if (!var5.equals(var6)) {
+ return false;
+ }
+
+ label57: {
+ String var7 = this.getSecretKey();
+ String var8 = var2.getSecretKey();
+ if (var7 == null) {
+ if (var8 == null) {
+ break label57;
+ }
+ } else if (var7.equals(var8)) {
+ break label57;
+ }
+
+ return false;
+ }
+
+ String var9 = this.getBucketName();
+ String var10 = var2.getBucketName();
+ if (var9 == null) {
+ if (var10 != null) {
+ return false;
+ }
+ } else if (!var9.equals(var10)) {
+ return false;
+ }
+
+ String var11 = this.getStaticDomain();
+ String var12 = var2.getStaticDomain();
+ if (var11 == null) {
+ if (var12 == null) {
+ return true;
+ }
+ } else if (var11.equals(var12)) {
+ return true;
+ }
+
+ return false;
+ }
+ }
+ }
+
+ protected boolean canEqual(Object other) {
+ return other instanceof JimuOssConfiguration;
+ }
+
+ public int hashCode() {
+ boolean var1 = true;
+ byte var2 = 1;
+ String var3 = this.getEndpoint();
+ int var8 = var2 * 59 + (var3 == null ? 43 : var3.hashCode());
+ String var4 = this.getAccessKey();
+ var8 = var8 * 59 + (var4 == null ? 43 : var4.hashCode());
+ String var5 = this.getSecretKey();
+ var8 = var8 * 59 + (var5 == null ? 43 : var5.hashCode());
+ String var6 = this.getBucketName();
+ var8 = var8 * 59 + (var6 == null ? 43 : var6.hashCode());
+ String var7 = this.getStaticDomain();
+ var8 = var8 * 59 + (var7 == null ? 43 : var7.hashCode());
+ return var8;
+ }
+
+ public String toString() {
+ return "JimuOssConfiguration(endpoint=" + this.getEndpoint() + ", accessKey=" + this.getAccessKey() + ", secretKey=" + this.getSecretKey() + ", bucketName=" + this.getBucketName() + ", staticDomain=" + this.getStaticDomain() + ")";
+ }
+}
diff --git a/payment-base-app/src/main/java/com/base/springcloud/constant/ErrorConstant.java b/payment-base-app/src/main/java/com/base/springcloud/constant/ErrorConstant.java
index 82e40e3..867acfd 100644
--- a/payment-base-app/src/main/java/com/base/springcloud/constant/ErrorConstant.java
+++ b/payment-base-app/src/main/java/com/base/springcloud/constant/ErrorConstant.java
@@ -23,7 +23,8 @@ public enum ErrorConstant {
REGISTER_REFUND_FAIL("RBS00018","退款订单登记失败!"),
SYNC_WEC_REFUND_STATE_FAIL("RBS00019","同步微信退款状态失败!"),
BILL_COMPLETE_PAYMENT("RBS00020","销售单据已完成付款!"),
- ALL_BILL_COMPLETE_PAYMENT("RBS00020","所有销售单据已完成付款!");
+ ALL_BILL_COMPLETE_PAYMENT("RBS00020","所有销售单据已完成付款!"),
+ MISTAKE_TARGET("RBS00021","要提供的对象不是数组!");
private String code;
private String message;
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 1d2edba..6e60a70 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
@@ -10,6 +10,7 @@ import com.base.springcloud.entity.MerchantConfig;
import com.base.springcloud.service.DepartService;
import com.base.springcloud.service.MerchantService;
import com.base.springcloud.util.FtpUtil;
+import com.base.springcloud.util.OssBootUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -49,7 +50,7 @@ public class MerchantServiceImp implements MerchantService {
@Override
public void paymentConfigure(MerchantConfigBO merchantConfigBO) {
// 证书上传服务器
- String certPath = uplodWecWindow(merchantConfigBO.getMchId(),merchantConfigBO.getCertFile());
+ String certPath = uploadCertificate(merchantConfigBO.getCertFile());
// 商户支付信息保存
MerchantConfig merchantConfig = new MerchantConfig();
merchantConfig.setId(UUID.randomUUID().toString().replace("-", ""));
@@ -69,6 +70,10 @@ public class MerchantServiceImp implements MerchantService {
departService.savePayDepart(departBO);
}
+ private String uploadCertificate(MultipartFile certFile) {
+ return OssBootUtil.upload(certFile, "merchant/paymentConfigure");
+ }
+
/**
* 支付信息配置删除
* @param mchId
diff --git a/payment-base-app/src/main/java/com/base/springcloud/util/CommonUtils.java b/payment-base-app/src/main/java/com/base/springcloud/util/CommonUtils.java
new file mode 100644
index 0000000..8ade3fc
--- /dev/null
+++ b/payment-base-app/src/main/java/com/base/springcloud/util/CommonUtils.java
@@ -0,0 +1,431 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by Fernflower decompiler)
+//
+
+package com.base.springcloud.util;
+
+//import org.jeecgframework.minidao.util.MiniDaoUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+//import javax.sql.DataSource;
+import java.lang.reflect.Array;
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.regex.PatternSyntaxException;
+
+public class CommonUtils {
+ private static final Logger log = LoggerFactory.getLogger(CommonUtils.class);
+ public static ThreadLocal dateFormat = new ThreadLocal() {
+ protected SimpleDateFormat initialValue() {
+ return new SimpleDateFormat("yyyy-MM-dd");
+ }
+ };
+ public static ThreadLocal dateTimeFormat = new ThreadLocal() {
+ protected SimpleDateFormat initialValue() {
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ }
+ };
+ private static String DB_TYPE = "";
+
+ public CommonUtils() {
+ }
+
+ public static String getCurrentDateTimeString(Date now) {
+ if (now == null) {
+ now = new Date();
+ }
+
+ return ((SimpleDateFormat)dateTimeFormat.get()).format(now);
+ }
+
+ public static String getCurrentDateString(Date now) {
+ if (now == null) {
+ now = new Date();
+ }
+
+ return ((SimpleDateFormat)dateFormat.get()).format(now);
+ }
+
+ public static String getFileName(String fileName) {
+ int var1 = fileName.lastIndexOf(47);
+ int var2 = fileName.lastIndexOf(92);
+ int var3 = var2 > var1 ? var2 : var1;
+ if (var3 != -1) {
+ fileName = fileName.substring(var3 + 1);
+ }
+
+ fileName = fileName.replace("=", "").replace(",", "").replace("&", "").replace("#", "");
+ String var4 = "[`_《》~!@%^&*()+=|{}':;',\\[\\]<>?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
+ Pattern var5 = Pattern.compile(var4);
+ Matcher var6 = var5.matcher(fileName);
+ return var6.replaceAll("").trim();
+ }
+
+ public static String upload(MultipartFile file, String bizPath, String uploadType) {
+ String var3 = "";
+ if ("minio".equals(uploadType)) {
+ var3 = MinioUtil.upload(file, bizPath);
+ } else {
+ var3 = OssBootUtil.upload(file, bizPath);
+ }
+
+ return var3;
+ }
+
+ public static String upload(MultipartFile file, String bizPath, String uploadType, String customBucket) {
+ String var4 = "";
+ if ("minio".equals(uploadType)) {
+ var4 = MinioUtil.upload(file, bizPath, customBucket);
+ } else {
+ var4 = OssBootUtil.upload(file, bizPath, customBucket);
+ }
+
+ return var4;
+ }
+
+ /*public static String getDatabaseType() {
+ if (oConvertUtils.isNotEmpty(DB_TYPE)) {
+ return DB_TYPE;
+ } else {
+ try {
+ DataSource var0 = (DataSource)JimuSpringContextUtils.getApplicationContext().getBean(DataSource.class);
+ return MiniDaoUtil.getDbType(var0);
+ } catch (Exception var1) {
+ log.warn(var1.getMessage(), var1);
+ return "";
+ }
+ }
+ }*/
+
+ /*public static Integer getIntParameter(String params, Integer def) {
+ HttpServletRequest var2 = JimuSpringContextUtils.getHttpServletRequest();
+ String var3 = var2.getParameter(params);
+ return isNotEmpty(var3) ? Integer.parseInt(var3.toString()) : def;
+ }*/
+
+ public static Integer getIntParameter(HttpServletRequest request, String params, Integer def) {
+ String var3 = request.getParameter(params);
+ return isNotEmpty(var3) ? Integer.parseInt(var3.toString()) : def;
+ }
+
+ public static String filter(String str) throws PatternSyntaxException {
+ String var1 = "[`_《》~!@#$%^&*()+=|{}':;',\\[\\].<>?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
+ Pattern var2 = Pattern.compile(var1);
+ Matcher var3 = var2.matcher(str);
+ return var3.replaceAll("").trim();
+ }
+
+ public static boolean anyOneIsNull(Object... objs) {
+ int var1 = objs.length;
+
+ for(int var2 = 0; var2 < var1; ++var2) {
+ Object var3 = objs[var2];
+ if (isEmpty(var3)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ public static boolean anyOneIsNotNull(Object... objs) {
+ int var1 = objs.length;
+
+ for(int var2 = 0; var2 < var1; ++var2) {
+ Object var3 = objs[var2];
+ if (isNotEmpty(var3)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ public static boolean allIsNull(Object... objs) {
+ int var1 = objs.length;
+ int var2 = 0;
+
+ for(int var3 = 0; var3 < var1; ++var3) {
+ Object var4 = objs[var3];
+ if (isEmpty(var4)) {
+ ++var2;
+ }
+ }
+
+ if (var2 == var1) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ public static Long[] listToLong(List list) {
+ Long[] var1 = (Long[])list.toArray(new Long[list.size()]);
+ return var1;
+ }
+
+ public static Boolean gt(BigDecimal v1, BigDecimal v2) {
+ Boolean var2 = false;
+ if (v1.compareTo(v2) == 1) {
+ var2 = true;
+ }
+
+ return var2;
+ }
+
+ public static Boolean ge(BigDecimal v1, BigDecimal v2) {
+ Boolean var2 = false;
+ if (v1.compareTo(v2) == 1) {
+ var2 = true;
+ }
+
+ if (v1.compareTo(v2) == 0) {
+ var2 = true;
+ }
+
+ return var2;
+ }
+
+ public static Boolean lt(BigDecimal v1, BigDecimal v2) {
+ Boolean var2 = false;
+ if (v1.compareTo(v2) == -1) {
+ var2 = true;
+ }
+
+ return var2;
+ }
+
+ public static Boolean eq(BigDecimal v1, BigDecimal v2) {
+ Boolean var2 = false;
+ if (isNotEmpty(v1) && v1.compareTo(v2) == 0) {
+ var2 = true;
+ }
+
+ return var2;
+ }
+
+ public static Boolean le(BigDecimal v1, BigDecimal v2) {
+ Boolean var2 = false;
+ if (isNotEmpty(v1)) {
+ if (v1.compareTo(v2) == -1) {
+ var2 = true;
+ }
+
+ if (v1.compareTo(v2) == 0) {
+ var2 = true;
+ }
+ }
+
+ return var2;
+ }
+
+ public static Boolean gtzero(BigDecimal v) {
+ Boolean var1 = false;
+ if (isNotEmpty(v) && v.doubleValue() > 0.0D) {
+ var1 = true;
+ }
+
+ return var1;
+ }
+
+ public static Boolean gezero(BigDecimal v) {
+ Boolean var1 = false;
+ if (isNotEmpty(v) && (v.compareTo(BigDecimal.ZERO) == 0 || v.compareTo(BigDecimal.ZERO) == 1)) {
+ var1 = true;
+ }
+
+ return var1;
+ }
+
+ public static Boolean eqzero(BigDecimal v) {
+ Boolean var1 = false;
+ if (isNotEmpty(v) && v.compareTo(BigDecimal.ZERO) == 0) {
+ var1 = true;
+ }
+
+ return var1;
+ }
+
+ public static Boolean nezero(BigDecimal v) {
+ Boolean var1 = true;
+ if (isNotEmpty(v) && v.compareTo(BigDecimal.ZERO) == 0) {
+ var1 = false;
+ }
+
+ return var1;
+ }
+
+ public static Boolean ltzero(BigDecimal v) {
+ Boolean var1 = false;
+ if (isNotEmpty(v) && v.doubleValue() < 0.0D) {
+ var1 = true;
+ }
+
+ return var1;
+ }
+
+ public static Boolean lezero(BigDecimal v) {
+ Boolean var1 = false;
+ if (isNotEmpty(v)) {
+ if (v.compareTo(BigDecimal.ZERO) == 0) {
+ var1 = true;
+ }
+
+ if (v.compareTo(BigDecimal.ZERO) == -1) {
+ var1 = true;
+ }
+ }
+
+ return var1;
+ }
+
+ public static boolean contains(String[] stringArray, String source) {
+ List var2 = Arrays.asList(stringArray);
+ return var2.contains(source);
+ }
+
+ public static boolean contains(List stringArray, String source) {
+ return stringArray.contains(source);
+ }
+
+ public static boolean allNotNull(Object... obj) {
+ return !anyOneIsNull(obj);
+ }
+
+ public static boolean isNotEmpty(Object obj) {
+ return !isEmpty(obj);
+ }
+
+ public static boolean isEmpty(Object obj) {
+ if (obj == null) {
+ return true;
+ } else if (obj.getClass().isArray()) {
+ return Array.getLength(obj) == 0;
+ } else if (obj instanceof CharSequence) {
+ return ((CharSequence)obj).length() == 0;
+ } else if (obj instanceof String) {
+ return ((String)obj).trim().equals("");
+ } else if (obj instanceof Collection) {
+ return ((Collection)obj).isEmpty();
+ } else {
+ return obj instanceof Map ? ((Map)obj).isEmpty() : false;
+ }
+ }
+
+ public static String renamePic(String fileName) {
+ String var1 = fileName.substring(fileName.lastIndexOf("."));
+ return UUID.randomUUID().toString().replace("-", "") + var1;
+ }
+
+ public static BigDecimal getBigDecimal(BigDecimal v, String def) {
+ return isEmpty(v) ? new BigDecimal(def) : v;
+ }
+
+ public static BigDecimal getBigDecimal(BigDecimal v, BigDecimal def) {
+ return isEmpty(v) ? def : v;
+ }
+
+ public static String getString(String v) {
+ return isEmpty(v) ? "" : v;
+ }
+
+ public static String getString(String v, String defval) {
+ return isEmpty(v) ? defval : v;
+ }
+
+ public static Integer getInteger(Integer v, Integer defval) {
+ return isEmpty(v) ? defval : v;
+ }
+
+ public static Integer getInteger(String v, Integer defval) {
+ return isEmpty(v) ? defval : Integer.parseInt(v);
+ }
+
+ public static String chineseNumber2Int(String chineseNumber) {
+ String[] var1 = new String[]{"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
+ String[] var2 = new String[]{"十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千"};
+ String var3 = "";
+ int var4 = chineseNumber.length();
+
+ for(int var5 = 0; var5 < var4; ++var5) {
+ int var6 = chineseNumber.charAt(var5) - 48;
+ if (var5 != var4 - 1 && var6 != 0) {
+ var3 = var3 + var1[var6] + var2[var4 - 2 - var5];
+ } else {
+ var3 = var3 + var1[var6];
+ }
+
+ System.out.println(" " + var3);
+ }
+
+ return var3;
+ }
+
+ public static String getAlias(String tableName) {
+ String[] var1 = tableName.split("_");
+ String var2 = "";
+ if (var1.length > 2) {
+ String[] var3 = var1;
+ int var4 = var1.length;
+
+ for(int var5 = 0; var5 < var4; ++var5) {
+ String var6 = var3[var5];
+ var2 = var2 + var6.substring(0, 1);
+ }
+ } else {
+ var2 = var1[var1.length - 1];
+ }
+
+ return var2;
+ }
+
+ public static String string2Unicode(String string) {
+ String var1 = "";
+ if (isNotEmpty(string)) {
+ StringBuffer var2 = new StringBuffer();
+
+ for(int var3 = 0; var3 < string.length(); ++var3) {
+ char var4 = string.charAt(var3);
+ var2.append("\\u" + Integer.toHexString(var4));
+ }
+
+ var1 = var2.toString();
+ }
+
+ return var1;
+ }
+
+ public static Long[] StringArray2LongArray(String[] stringArray) {
+ ArrayList var1 = new ArrayList();
+ String[] var2 = stringArray;
+ int var3 = stringArray.length;
+
+ for(int var4 = 0; var4 < var3; ++var4) {
+ String var5 = var2[var4];
+
+ try {
+ var1.add(Long.parseLong(var5));
+ } catch (NumberFormatException var7) {
+ var7.printStackTrace();
+ }
+ }
+
+ Long[] var8 = (Long[])var1.toArray(new Long[var1.size()]);
+ return var8;
+ }
+
+ public static String getString(Object obj, String def) {
+ return oConvertUtils.isNotEmpty(obj) ? obj.toString() : def;
+ }
+
+ public static Long getLong(Object obj, Long def) {
+ return oConvertUtils.isNotEmpty(obj) ? Long.parseLong(obj.toString()) : def;
+ }
+}
diff --git a/payment-base-app/src/main/java/com/base/springcloud/util/MinioUtil.java b/payment-base-app/src/main/java/com/base/springcloud/util/MinioUtil.java
new file mode 100644
index 0000000..f24752a
--- /dev/null
+++ b/payment-base-app/src/main/java/com/base/springcloud/util/MinioUtil.java
@@ -0,0 +1,160 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by Fernflower decompiler)
+//
+
+package com.base.springcloud.util;
+
+import io.minio.*;
+import io.minio.BucketExistsArgs.Builder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.InputStream;
+import java.net.URLDecoder;
+
+public class MinioUtil {
+ private static final Logger log = LoggerFactory.getLogger(MinioUtil.class);
+ private static String minioUrl;
+ private static String minioName;
+ private static String minioPass;
+ private static String bucketName;
+ private static MinioClient minioClient = null;
+
+ public MinioUtil() {
+ }
+
+ public static void setMinioUrl(String minioUrl) {
+ MinioUtil.minioUrl = minioUrl;
+ }
+
+ public static void setMinioName(String minioName) {
+ MinioUtil.minioName = minioName;
+ }
+
+ public static void setMinioPass(String minioPass) {
+ MinioUtil.minioPass = minioPass;
+ }
+
+ public static void setBucketName(String bucketName) {
+ MinioUtil.bucketName = bucketName;
+ }
+
+ public static String getMinioUrl() {
+ return minioUrl;
+ }
+
+ public static String getBucketName() {
+ return bucketName;
+ }
+
+ public static String upload(MultipartFile file, String bizPath, String customBucket) {
+ String var3 = "";
+ bizPath = CommonUtils.filter(bizPath);
+ String var4 = bucketName;
+ if (oConvertUtils.isNotEmpty(customBucket)) {
+ var4 = customBucket;
+ }
+
+ try {
+ initMinio(minioUrl, minioName, minioPass);
+ if (minioClient.bucketExists((BucketExistsArgs)((Builder)BucketExistsArgs.builder().bucket(var4)).build())) {
+ log.debug("Bucket already exists.");
+ } else {
+ minioClient.makeBucket((MakeBucketArgs)((io.minio.MakeBucketArgs.Builder)MakeBucketArgs.builder().bucket(var4)).build());
+ log.debug("create a new bucket.");
+ }
+
+ InputStream var5 = file.getInputStream();
+ String var6 = file.getOriginalFilename();
+ if ("".equals(var6)) {
+ var6 = file.getName();
+ }
+
+ var6 = CommonUtils.getFileName(var6);
+ String var7 = bizPath + "/" + var6.substring(0, var6.lastIndexOf(".")) + "_" + System.currentTimeMillis() + var6.substring(var6.indexOf("."));
+ if (var7.startsWith("/")) {
+ var7 = var7.substring(1);
+ }
+
+ PutObjectArgs var8 = (PutObjectArgs)((io.minio.PutObjectArgs.Builder)((io.minio.PutObjectArgs.Builder)PutObjectArgs.builder().object(var7)).bucket(var4)).contentType("application/octet-stream").stream(var5, (long)var5.available(), -1L).build();
+ minioClient.putObject(var8);
+ var5.close();
+ var3 = minioUrl + var4 + "/" + var7;
+ } catch (Exception var9) {
+ log.error(var9.getMessage(), var9);
+ }
+
+ return var3;
+ }
+
+ public static String upload(MultipartFile file, String bizPath) {
+ return upload(file, bizPath, (String)null);
+ }
+
+ public static InputStream getMinioFile(String bucketName, String objectName) {
+ GetObjectResponse var2 = null;
+
+ try {
+ initMinio(minioUrl, minioName, minioPass);
+ GetObjectArgs var3 = (GetObjectArgs)((io.minio.GetObjectArgs.Builder)((io.minio.GetObjectArgs.Builder)GetObjectArgs.builder().object(objectName)).bucket(bucketName)).build();
+ var2 = minioClient.getObject(var3);
+ } catch (Exception var4) {
+ log.error("文件获取失败" + var4.getMessage(), var4);
+ }
+
+ return var2;
+ }
+
+ public static void removeObject(String bucketName, String objectName) {
+ try {
+ initMinio(minioUrl, minioName, minioPass);
+ RemoveObjectArgs var2 = (RemoveObjectArgs)((io.minio.RemoveObjectArgs.Builder)((io.minio.RemoveObjectArgs.Builder)RemoveObjectArgs.builder().object(objectName)).bucket(bucketName)).build();
+ minioClient.removeObject(var2);
+ } catch (Exception var3) {
+ log.error("文件删除失败" + var3.getMessage(), var3);
+ }
+
+ }
+
+ public static String getObjectURL(String bucketName, String objectName, Integer expires) {
+ initMinio(minioUrl, minioName, minioPass);
+
+ try {
+ GetPresignedObjectUrlArgs var3 = (GetPresignedObjectUrlArgs)((io.minio.GetPresignedObjectUrlArgs.Builder)((io.minio.GetPresignedObjectUrlArgs.Builder)GetPresignedObjectUrlArgs.builder().object(objectName)).bucket(bucketName)).expiry(expires).build();
+ String var4 = minioClient.getPresignedObjectUrl(var3);
+ return URLDecoder.decode(var4, "UTF-8");
+ } catch (Exception var5) {
+ log.error("文件路径获取失败" + var5.getMessage(), var5);
+ return null;
+ }
+ }
+
+ private static MinioClient initMinio(String minioUrl, String minioName, String minioPass) {
+ if (minioClient == null) {
+ try {
+ minioClient = MinioClient.builder().endpoint(minioUrl).credentials(minioName, minioPass).build();
+ } catch (Exception var4) {
+ var4.printStackTrace();
+ }
+ }
+
+ return minioClient;
+ }
+
+ public static String upload(InputStream stream, String relativePath) throws Exception {
+ initMinio(minioUrl, minioName, minioPass);
+ if (minioClient.bucketExists((BucketExistsArgs)((Builder)BucketExistsArgs.builder().bucket(bucketName)).build())) {
+ log.debug("Bucket already exists.");
+ } else {
+ minioClient.makeBucket((MakeBucketArgs)((io.minio.MakeBucketArgs.Builder)MakeBucketArgs.builder().bucket(bucketName)).build());
+ log.debug("create a new bucket.");
+ }
+
+ PutObjectArgs var2 = (PutObjectArgs)((io.minio.PutObjectArgs.Builder)((io.minio.PutObjectArgs.Builder)PutObjectArgs.builder().object(relativePath)).bucket(bucketName)).contentType("application/octet-stream").stream(stream, (long)stream.available(), -1L).build();
+ minioClient.putObject(var2);
+ stream.close();
+ return minioUrl + bucketName + "/" + relativePath;
+ }
+}
diff --git a/payment-base-app/src/main/java/com/base/springcloud/util/OssBootUtil.java b/payment-base-app/src/main/java/com/base/springcloud/util/OssBootUtil.java
new file mode 100644
index 0000000..b4e3c30
--- /dev/null
+++ b/payment-base-app/src/main/java/com/base/springcloud/util/OssBootUtil.java
@@ -0,0 +1,253 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by Fernflower decompiler)
+//
+
+package com.base.springcloud.util;
+
+import com.aliyun.oss.ClientConfiguration;
+import com.aliyun.oss.OSSClient;
+import com.aliyun.oss.common.auth.DefaultCredentialProvider;
+import com.aliyun.oss.model.CannedAccessControlList;
+import com.aliyun.oss.model.OSSObject;
+import com.aliyun.oss.model.PutObjectResult;
+import org.apache.tomcat.util.http.fileupload.FileItemStream;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLDecoder;
+import java.util.Date;
+import java.util.UUID;
+
+public class OssBootUtil {
+ private static final Logger log = LoggerFactory.getLogger(OssBootUtil.class);
+ private static String endPoint;
+ private static String accessKeyId;
+ private static String accessKeySecret;
+ private static String bucketName;
+ private static String staticDomain;
+ private static OSSClient ossClient = null;
+
+ public OssBootUtil() {
+ }
+
+ public static void setEndPoint(String endPoint) {
+ OssBootUtil.endPoint = endPoint;
+ }
+
+ public static void setAccessKeyId(String accessKeyId) {
+ OssBootUtil.accessKeyId = accessKeyId;
+ }
+
+ public static void setAccessKeySecret(String accessKeySecret) {
+ OssBootUtil.accessKeySecret = accessKeySecret;
+ }
+
+ public static void setBucketName(String bucketName) {
+ OssBootUtil.bucketName = bucketName;
+ }
+
+ public static void setStaticDomain(String staticDomain) {
+ OssBootUtil.staticDomain = staticDomain;
+ }
+
+ public static String getStaticDomain() {
+ return staticDomain;
+ }
+
+ public static String getEndPoint() {
+ return endPoint;
+ }
+
+ public static String getAccessKeyId() {
+ return accessKeyId;
+ }
+
+ public static String getAccessKeySecret() {
+ return accessKeySecret;
+ }
+
+ public static String getBucketName() {
+ return bucketName;
+ }
+
+ public static OSSClient getOssClient() {
+ return ossClient;
+ }
+
+ public static String upload(MultipartFile file, String fileDir, String customBucket) {
+ String var3 = null;
+ initOSS(endPoint, accessKeyId, accessKeySecret);
+ StringBuilder var4 = new StringBuilder();
+ String var5 = bucketName;
+ if (oConvertUtils.isNotEmpty(customBucket)) {
+ var5 = customBucket;
+ }
+
+ try {
+ if (!ossClient.doesBucketExist(var5)) {
+ ossClient.createBucket(var5);
+ }
+
+ String var6 = file.getOriginalFilename();
+ if ("" == var6) {
+ var6 = file.getName();
+ }
+
+ var6 = CommonUtils.getFileName(var6);
+ String var7 = var6.substring(0, var6.lastIndexOf(".")) + "_" + System.currentTimeMillis() + var6.substring(var6.indexOf("."));
+ if (!fileDir.endsWith("/")) {
+ fileDir = fileDir.concat("/");
+ }
+
+ fileDir = CommonUtils.filter(fileDir);
+ var4 = var4.append(fileDir + var7);
+ if (oConvertUtils.isNotEmpty(staticDomain) && staticDomain.toLowerCase().startsWith("http")) {
+ var3 = staticDomain + "/" + var4;
+ } else {
+ var3 = "https://" + var5 + "." + endPoint + "/" + var4;
+ }
+
+ PutObjectResult var8 = ossClient.putObject(var5, var4.toString(), file.getInputStream());
+ if (var8 != null) {
+ log.debug("------OSS文件上传成功------" + var4);
+ }
+
+ return var3;
+ } catch (IOException var9) {
+ var9.printStackTrace();
+ return null;
+ }
+ }
+
+ public static String upload(MultipartFile file, String fileDir) {
+ return upload(file, fileDir, (String)null);
+ }
+
+ public static String upload(FileItemStream file, String fileDir) {
+ String var2 = null;
+ initOSS(endPoint, accessKeyId, accessKeySecret);
+ StringBuilder var3 = new StringBuilder();
+
+ try {
+ String var4 = file.getName().substring(file.getName().lastIndexOf(46));
+ String var5 = UUID.randomUUID().toString().replace("-", "") + var4;
+ if (!fileDir.endsWith("/")) {
+ fileDir = fileDir.concat("/");
+ }
+
+ fileDir = CommonUtils.filter(fileDir);
+ var3 = var3.append(fileDir + var5);
+ if (oConvertUtils.isNotEmpty(staticDomain) && staticDomain.toLowerCase().startsWith("http")) {
+ var2 = staticDomain + "/" + var3;
+ } else {
+ var2 = "https://" + bucketName + "." + endPoint + "/" + var3;
+ }
+
+ PutObjectResult var6 = ossClient.putObject(bucketName, var3.toString(), file.openStream());
+ ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead);
+ if (var6 != null) {
+ log.debug("------OSS文件上传成功------" + var3);
+ }
+
+ return var2;
+ } catch (IOException var7) {
+ var7.printStackTrace();
+ return null;
+ }
+ }
+
+ public static void deleteUrl(String url) {
+ deleteUrl(url, (String)null);
+ }
+
+ public static void deleteUrl(String url, String bucket) {
+ String var2 = bucketName;
+ if (oConvertUtils.isNotEmpty(bucket)) {
+ var2 = bucket;
+ }
+
+ String var3 = "";
+ if (oConvertUtils.isNotEmpty(staticDomain) && staticDomain.toLowerCase().startsWith("http")) {
+ var3 = staticDomain + "/";
+ } else {
+ var3 = "https://" + var2 + "." + endPoint + "/";
+ }
+
+ url = url.replace(var3, "");
+ ossClient.deleteObject(var2, url);
+ }
+
+ public static void delete(String fileName) {
+ ossClient.deleteObject(bucketName, fileName);
+ }
+
+ public static InputStream getOssFile(String objectName, String bucket) {
+ BufferedInputStream var2 = null;
+
+ try {
+ String var3 = bucketName;
+ if (oConvertUtils.isNotEmpty(bucket)) {
+ var3 = bucket;
+ }
+
+ initOSS(endPoint, accessKeyId, accessKeySecret);
+ OSSObject var4 = ossClient.getObject(var3, objectName);
+ var2 = new BufferedInputStream(var4.getObjectContent());
+ } catch (Exception var5) {
+ log.error("文件获取失败" + var5.getMessage());
+ }
+
+ return var2;
+ }
+
+ public static InputStream getOssFile(String objectName) {
+ return getOssFile(objectName, (String)null);
+ }
+
+ public static String getObjectURL(String bucketName, String objectName, Date expires) {
+ initOSS(endPoint, accessKeyId, accessKeySecret);
+
+ try {
+ if (ossClient.doesObjectExist(bucketName, objectName)) {
+ URL var3 = ossClient.generatePresignedUrl(bucketName, objectName, expires);
+ return URLDecoder.decode(var3.toString(), "UTF-8");
+ }
+ } catch (Exception var4) {
+ log.error("文件路径获取失败" + var4.getMessage());
+ }
+
+ return null;
+ }
+
+ private static OSSClient initOSS(String endpoint, String accessKeyId, String accessKeySecret) {
+ if (ossClient == null) {
+ ossClient = new OSSClient(endpoint, new DefaultCredentialProvider(accessKeyId, accessKeySecret), new ClientConfiguration());
+ }
+
+ return ossClient;
+ }
+
+ public static String upload(InputStream stream, String relativePath) {
+ String var2 = null;
+ initOSS(endPoint, accessKeyId, accessKeySecret);
+ if (oConvertUtils.isNotEmpty(staticDomain) && staticDomain.toLowerCase().startsWith("http")) {
+ var2 = staticDomain + "/" + relativePath;
+ } else {
+ var2 = "https://" + bucketName + "." + endPoint + "/" + relativePath;
+ }
+
+ PutObjectResult var4 = ossClient.putObject(bucketName, relativePath.toString(), stream);
+ ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead);
+ if (var4 != null) {
+ log.debug("------OSS文件上传成功------" + relativePath);
+ }
+
+ return var2;
+ }
+}
diff --git a/payment-base-app/src/main/java/com/base/springcloud/util/oConvertUtils.java b/payment-base-app/src/main/java/com/base/springcloud/util/oConvertUtils.java
new file mode 100644
index 0000000..410c8ae
--- /dev/null
+++ b/payment-base-app/src/main/java/com/base/springcloud/util/oConvertUtils.java
@@ -0,0 +1,443 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by Fernflower decompiler)
+//
+
+package com.base.springcloud.util;
+
+import com.base.springcloud.aspect.annotation.BusinessException;
+import com.base.springcloud.constant.ErrorConstant;
+import org.apache.commons.codec.binary.Base64;
+//import org.jeecg.modules.jmreport.common.expetion.JimuReportException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.lang.reflect.Array;
+import java.lang.reflect.Field;
+import java.math.BigDecimal;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.*;
+
+public class oConvertUtils {
+ private static final Logger log = LoggerFactory.getLogger(oConvertUtils.class);
+
+ public oConvertUtils() {
+ }
+
+ public static boolean isEmptyString(CharSequence str) {
+ return str == null || str.length() == 0 || str == "null" || str == "";
+ }
+
+ public static boolean isEmptyMap(Map, ?> map) {
+ return null == map || map.isEmpty();
+ }
+
+ public static boolean isEmptyIterable(Iterable> iterable) {
+ return null == iterable || isEmpty(iterable.iterator());
+ }
+
+ public static boolean isEmptyIterator(Iterator> Iterator) {
+ return null == Iterator || !Iterator.hasNext();
+ }
+
+ public static boolean isArray(Object obj) {
+ return null == obj ? false : obj.getClass().isArray();
+ }
+
+ public static boolean isEmptyArray(Object array) {
+ if (null == array) {
+ return true;
+ } else if (isArray(array)) {
+ return 0 == Array.getLength(array);
+ } else {
+ throw new BusinessException(ErrorConstant.MISTAKE_TARGET);
+ }
+ }
+
+ public static boolean isEmpty(Object obj) {
+ if (null == obj) {
+ return true;
+ } else if (obj instanceof CharSequence) {
+ return isEmptyString((CharSequence)obj);
+ } else if (obj instanceof Map) {
+ return isEmptyMap((Map)obj);
+ } else if (obj instanceof Iterable) {
+ return isEmptyIterable((Iterable)obj);
+ } else if (obj instanceof Iterator) {
+ return isEmptyIterator((Iterator)obj);
+ } else {
+ return isArray(obj) ? isEmptyArray(obj) : false;
+ }
+ }
+
+ public static boolean isNotEmpty(Object object) {
+ return !isEmpty(object);
+ }
+
+ public static String decode(String strIn, String sourceCode, String targetCode) {
+ String var3 = code2code(strIn, sourceCode, targetCode);
+ return var3;
+ }
+
+ public static boolean isNumeric(String str) {
+ return str.matches("-?[0-9]+.?[0-9]*");
+ }
+
+ private static String code2code(String strIn, String sourceCode, String targetCode) {
+ String var3 = null;
+ if (strIn != null && !strIn.trim().equals("")) {
+ try {
+ byte[] var4 = strIn.getBytes(sourceCode);
+
+ for(int var5 = 0; var5 < var4.length; ++var5) {
+ System.out.print(var4[var5] + " ");
+ }
+
+ var3 = new String(var4, targetCode);
+ return var3;
+ } catch (Exception var6) {
+ var6.printStackTrace();
+ return null;
+ }
+ } else {
+ return strIn;
+ }
+ }
+
+ public static int getInt(String s, int defval) {
+ if (s != null && s != "") {
+ try {
+ return Integer.parseInt(s);
+ } catch (NumberFormatException var3) {
+ return defval;
+ }
+ } else {
+ return defval;
+ }
+ }
+
+ public static int getInt(String s) {
+ if (s != null && s != "") {
+ try {
+ return Integer.parseInt(s);
+ } catch (NumberFormatException var2) {
+ return 0;
+ }
+ } else {
+ return 0;
+ }
+ }
+
+ public static int getInt(String s, Integer df) {
+ if (s != null && s != "") {
+ try {
+ return Integer.parseInt(s);
+ } catch (NumberFormatException var3) {
+ return 0;
+ }
+ } else {
+ return df;
+ }
+ }
+
+ public static int getInt(Object object, int defval) {
+ if (isEmpty(object)) {
+ return defval;
+ } else {
+ try {
+ return object instanceof Float ? ((Float)object).intValue() : Integer.parseInt(object.toString());
+ } catch (NumberFormatException var3) {
+ return defval;
+ }
+ }
+ }
+
+ public static Integer getInt(Object object) {
+ if (isEmpty(object)) {
+ return null;
+ } else {
+ try {
+ return object instanceof Float ? ((Float)object).intValue() : Integer.parseInt(object.toString());
+ } catch (NumberFormatException var2) {
+ return null;
+ }
+ }
+ }
+
+ public static int getInt(BigDecimal s, int defval) {
+ return s == null ? defval : s.intValue();
+ }
+
+ public static String getString(String s) {
+ return getString(s, "");
+ }
+
+ public static String getString(Object object) {
+ return isEmpty(object) ? "" : object.toString().trim();
+ }
+
+ public static String getString(int i) {
+ return String.valueOf(i);
+ }
+
+ public static String getString(float i) {
+ return String.valueOf(i);
+ }
+
+ public static String getString(String s, String defval) {
+ return isEmpty(s) ? defval : s.trim();
+ }
+
+ public static String getString(Object s, String defval) {
+ return isEmpty(s) ? defval : s.toString().trim();
+ }
+
+ public static String getJmString(Object s) {
+ return isEmpty(s) ? "" : s.toString();
+ }
+
+ public static String getIp() {
+ String var0 = null;
+
+ try {
+ InetAddress var1 = InetAddress.getLocalHost();
+ var0 = var1.getHostAddress();
+ } catch (UnknownHostException var2) {
+ var2.printStackTrace();
+ }
+
+ return var0;
+ }
+
+ public static String camelToUnderline(String para) {
+ if (para.length() < 3) {
+ return para.toLowerCase();
+ } else {
+ StringBuilder var1 = new StringBuilder(para);
+ int var2 = 0;
+
+ for(int var3 = 2; var3 < para.length(); ++var3) {
+ if (Character.isUpperCase(para.charAt(var3))) {
+ var1.insert(var3 + var2, "_");
+ ++var2;
+ }
+ }
+
+ return var1.toString().toLowerCase();
+ }
+ }
+
+ public static Field[] getAllFields(Object object) {
+ Class var1 = object.getClass();
+
+ ArrayList var2;
+ for(var2 = new ArrayList(); var1 != null; var1 = var1.getSuperclass()) {
+ var2.addAll(new ArrayList(Arrays.asList(var1.getDeclaredFields())));
+ }
+
+ Field[] var3 = new Field[var2.size()];
+ var2.toArray(var3);
+ return var3;
+ }
+
+ public static String join(Object[] array, String separator, int startIndex, int endIndex) {
+ if (array == null) {
+ return null;
+ } else {
+ if (separator == null) {
+ separator = "";
+ }
+
+ int var4 = endIndex - startIndex;
+ if (var4 <= 0) {
+ return "";
+ } else {
+ StringBuilder var5 = newStringBuilder(var4);
+ if (array[startIndex] != null) {
+ var5.append(array[startIndex]);
+ }
+
+ for(int var6 = startIndex + 1; var6 < endIndex; ++var6) {
+ var5.append(separator);
+ if (array[var6] != null) {
+ var5.append(array[var6]);
+ }
+ }
+
+ return var5.toString();
+ }
+ }
+ }
+
+ private static StringBuilder newStringBuilder(int noOfItems) {
+ return new StringBuilder(noOfItems * 16);
+ }
+
+ public static int indexOfIgnoreCase(CharSequence str, CharSequence searchStr, int startPos) {
+ if (str != null && searchStr != null) {
+ if (startPos < 0) {
+ startPos = 0;
+ }
+
+ int var3 = str.length() - searchStr.length() + 1;
+ if (startPos > var3) {
+ return -1;
+ } else if (searchStr.length() == 0) {
+ return startPos;
+ } else {
+ for(int var4 = startPos; var4 < var3; ++var4) {
+ if (regionMatches(str, true, var4, searchStr, 0, searchStr.length())) {
+ return var4;
+ }
+ }
+
+ return -1;
+ }
+ } else {
+ return -1;
+ }
+ }
+
+ public static boolean regionMatches(CharSequence cs, boolean ignoreCase, int thisStart, CharSequence substring, int start, int length) {
+ if (cs instanceof String && substring instanceof String) {
+ return ((String)cs).regionMatches(ignoreCase, thisStart, (String)substring, start, length);
+ } else {
+ int var6 = thisStart;
+ int var7 = start;
+ int var8 = length;
+ int var9 = cs.length() - thisStart;
+ int var10 = substring.length() - start;
+ if (thisStart >= 0 && start >= 0 && length >= 0) {
+ if (var9 >= length && var10 >= length) {
+ while(var8-- > 0) {
+ char var11 = cs.charAt(var6++);
+ char var12 = substring.charAt(var7++);
+ if (var11 != var12) {
+ if (!ignoreCase) {
+ return false;
+ }
+
+ if (Character.toUpperCase(var11) != Character.toUpperCase(var12) && Character.toLowerCase(var11) != Character.toLowerCase(var12)) {
+ return false;
+ }
+ }
+ }
+
+ return true;
+ } else {
+ return false;
+ }
+ } else {
+ return false;
+ }
+ }
+ }
+
+ public static byte[] decodeBase64(String base64Str) {
+ byte[] var1 = Base64.decodeBase64(base64Str);
+ return var1;
+ }
+
+ public static List deepCopy(List list) {
+ try {
+ ByteArrayOutputStream var1 = new ByteArrayOutputStream();
+ Throwable var2 = null;
+
+ Object var9;
+ try {
+ ObjectOutputStream var3 = new ObjectOutputStream(var1);
+ Throwable var4 = null;
+
+ try {
+ var3.writeObject(list);
+ ByteArrayInputStream var5 = new ByteArrayInputStream(var1.toByteArray());
+ Throwable var6 = null;
+
+ try {
+ ObjectInputStream var7 = new ObjectInputStream(var5);
+ Throwable var8 = null;
+
+ try {
+ var9 = (List)var7.readObject();
+ } catch (Throwable var85) {
+ var9 = var85;
+ var8 = var85;
+ throw var85;
+ } finally {
+ if (var7 != null) {
+ if (var8 != null) {
+ try {
+ var7.close();
+ } catch (Throwable var84) {
+ var8.addSuppressed(var84);
+ }
+ } else {
+ var7.close();
+ }
+ }
+
+ }
+ } catch (Throwable var87) {
+ var6 = var87;
+ throw var87;
+ } finally {
+ if (var5 != null) {
+ if (var6 != null) {
+ try {
+ var5.close();
+ } catch (Throwable var83) {
+ var6.addSuppressed(var83);
+ }
+ } else {
+ var5.close();
+ }
+ }
+
+ }
+ } catch (Throwable var89) {
+ var4 = var89;
+ throw var89;
+ } finally {
+ if (var3 != null) {
+ if (var4 != null) {
+ try {
+ var3.close();
+ } catch (Throwable var82) {
+ var4.addSuppressed(var82);
+ }
+ } else {
+ var3.close();
+ }
+ }
+
+ }
+ } catch (Throwable var91) {
+ var2 = var91;
+ throw var91;
+ } finally {
+ if (var1 != null) {
+ if (var2 != null) {
+ try {
+ var1.close();
+ } catch (Throwable var81) {
+ var2.addSuppressed(var81);
+ }
+ } else {
+ var1.close();
+ }
+ }
+
+ }
+
+ return (List)var9;
+ } catch (Exception var93) {
+ log.warn(var93.getMessage());
+ return Collections.emptyList();
+ }
+ }
+}
diff --git a/payment-base-app/src/main/resources/application-dev.yml b/payment-base-app/src/main/resources/application-dev.yml
index 7794fce..77f6728 100644
--- a/payment-base-app/src/main/resources/application-dev.yml
+++ b/payment-base-app/src/main/resources/application-dev.yml
@@ -31,6 +31,27 @@ spring:
shutdown-timeout: 100ms
password: Redis@CS0731
port: 6200
+ #JimuReport[上传配置]
+ jeecg:
+ # local|minio|alioss
+ uploadType: alioss
+ # local
+ path:
+ #文件路径
+ upload: /opt/upload
+ # alioss
+ oss:
+ staticDomain: http://rrimage.oss-cn-beijing.aliyuncs.com
+ endpoint: oss-cn-beijing.aliyuncs.com
+ accessKey: LTAIFKTe6ghqO5q2
+ secretKey: 8rhlQcMggzfx5jIWpMK8idayrHungs
+ bucketName: rrimage
+ # minio
+ minio:
+ minio_url: http://minio.jeecg.com
+ minio_name: ??
+ minio_pass: ??
+ bucketName: ??
cache:
type: simple
servlet: