1.0版本完成
This commit is contained in:
@ -0,0 +1,41 @@
|
||||
package co.yixiang.utils;
|
||||
|
||||
/**
|
||||
* 支付状态
|
||||
* @author zhengjie
|
||||
* @date 2018/08/01 16:45:43
|
||||
*/
|
||||
public enum AliPayStatusEnum {
|
||||
|
||||
/**
|
||||
* 交易成功
|
||||
*/
|
||||
FINISHED("交易成功", "TRADE_FINISHED"),
|
||||
|
||||
/**
|
||||
* 支付成功
|
||||
*/
|
||||
SUCCESS("支付成功", "TRADE_SUCCESS"),
|
||||
|
||||
/**
|
||||
* 交易创建
|
||||
*/
|
||||
BUYER_PAY("交易创建", "WAIT_BUYER_PAY"),
|
||||
|
||||
/**
|
||||
* 交易关闭
|
||||
*/
|
||||
CLOSED("交易关闭", "TRADE_CLOSED");
|
||||
|
||||
private String name;
|
||||
private String value;
|
||||
|
||||
AliPayStatusEnum(String name, String value) {
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
}
|
79
yshop-tools/src/main/java/co/yixiang/utils/AlipayUtils.java
Normal file
79
yshop-tools/src/main/java/co/yixiang/utils/AlipayUtils.java
Normal file
@ -0,0 +1,79 @@
|
||||
package co.yixiang.utils;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alipay.api.AlipayApiException;
|
||||
import com.alipay.api.internal.util.AlipaySignature;
|
||||
import co.yixiang.domain.AlipayConfig;
|
||||
import org.springframework.stereotype.Component;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 支付宝工具类
|
||||
* @author zhengjie
|
||||
* @date 2018/09/30 14:04:35
|
||||
*/
|
||||
@Component
|
||||
public class AlipayUtils {
|
||||
|
||||
/**
|
||||
* 生成订单号
|
||||
* @return
|
||||
*/
|
||||
public String getOrderCode() {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
int a = (int)(Math.random() * 9000.0D) + 1000;
|
||||
System.out.println(a);
|
||||
Date date = new Date();
|
||||
String str = sdf.format(date);
|
||||
String[] split = str.split("-");
|
||||
String s = split[0] + split[1] + split[2];
|
||||
String[] split1 = s.split(" ");
|
||||
String s1 = split1[0] + split1[1];
|
||||
String[] split2 = s1.split(":");
|
||||
String s2 = split2[0] + split2[1] + split2[2] + a;
|
||||
return s2;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验签名
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
public boolean rsaCheck(HttpServletRequest request, AlipayConfig alipay){
|
||||
|
||||
/**
|
||||
* 获取支付宝POST过来反馈信息
|
||||
*/
|
||||
Map<String,String> params = new HashMap<>(1);
|
||||
Map requestParams = request.getParameterMap();
|
||||
for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {
|
||||
String name = (String) iter.next();
|
||||
String[] values = (String[]) requestParams.get(name);
|
||||
String valueStr = "";
|
||||
for (int i = 0; i < values.length; i++) {
|
||||
valueStr = (i == values.length - 1) ? valueStr + values[i]
|
||||
: valueStr + values[i] + ",";
|
||||
}
|
||||
params.put(name, valueStr);
|
||||
}
|
||||
|
||||
try {
|
||||
boolean verifyResult = AlipaySignature.rsaCheckV1(params,
|
||||
alipay.getPublicKey(),
|
||||
alipay.getCharset(),
|
||||
alipay.getSignType());
|
||||
return verifyResult;
|
||||
} catch (AlipayApiException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isEmpty(String str){
|
||||
return StrUtil.isEmpty(str);
|
||||
}
|
||||
}
|
58
yshop-tools/src/main/java/co/yixiang/utils/QiNiuUtil.java
Normal file
58
yshop-tools/src/main/java/co/yixiang/utils/QiNiuUtil.java
Normal file
@ -0,0 +1,58 @@
|
||||
package co.yixiang.utils;
|
||||
|
||||
import com.qiniu.storage.Region;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 七牛云存储工具类
|
||||
* @author Zheng Jie
|
||||
* @date 2018-12-31
|
||||
*/
|
||||
public class QiNiuUtil {
|
||||
|
||||
public static final String HUAD = "华东";
|
||||
|
||||
public static final String HUAB = "华北";
|
||||
|
||||
public static final String HUAN = "华南";
|
||||
|
||||
public static final String BEIM = "北美";
|
||||
|
||||
/**
|
||||
* 得到机房的对应关系
|
||||
* @param zone
|
||||
* @return
|
||||
*/
|
||||
public static Region getRegion(String zone){
|
||||
|
||||
if(HUAD.equals(zone)){
|
||||
return Region.huadong();
|
||||
} else if(HUAB.equals(zone)){
|
||||
return Region.huabei();
|
||||
} else if(HUAN.equals(zone)){
|
||||
return Region.huanan();
|
||||
} else if (BEIM.equals(zone)){
|
||||
return Region.beimei();
|
||||
// 否则就是东南亚
|
||||
} else {
|
||||
return Region.qvmHuadong();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 默认不指定key的情况下,以文件内容的hash值作为文件名
|
||||
* @param file
|
||||
* @return
|
||||
*/
|
||||
public static String getKey(String file){
|
||||
StringBuffer key = new StringBuffer(FileUtil.getFileNameNoEx(file));
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||
Date date = new Date();
|
||||
key.append("-");
|
||||
key.append(sdf.format(date));
|
||||
key.append(".");
|
||||
key.append(FileUtil.getExtensionName(file));
|
||||
return key.toString();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user