import io.minio.GetObjectArgs; | import io.minio.GetObjectArgs; | ||||
import io.minio.MinioClient; | import io.minio.MinioClient; | ||||
import io.minio.PutObjectArgs; | import io.minio.PutObjectArgs; | ||||
import lombok.Getter; | |||||
import org.apache.commons.io.FileUtils; | import org.apache.commons.io.FileUtils; | ||||
import org.springframework.beans.factory.annotation.Value; | import org.springframework.beans.factory.annotation.Value; | ||||
import org.springframework.stereotype.Component; | import org.springframework.stereotype.Component; | ||||
@Component | @Component | ||||
public class MinioUtil extends CommonAbstract { | public class MinioUtil extends CommonAbstract { | ||||
@Getter | |||||
@Value("${vmi-minio.url}") | @Value("${vmi-minio.url}") | ||||
private String url; //内网访问地址 | private String url; //内网访问地址 | ||||
@Getter | |||||
@Value("${vmi-minio.proxyNetworkAddr}") | @Value("${vmi-minio.proxyNetworkAddr}") | ||||
private String proxyUrl = "https://qtzl.etcjz.cn/";//代理地址,外网访问 | private String proxyUrl = "https://qtzl.etcjz.cn/";//代理地址,外网访问 | ||||
@NotNull | @NotNull | ||||
private Integer totalFee; | private Integer totalFee; | ||||
/** | /** | ||||
* V2官方文档可能不正确,暂时就不要求必穿,H5必传和V3保持一直 | |||||
* <pre> | * <pre> | ||||
* 字段名:终端IP. | * 字段名:终端IP. | ||||
* 变量名:spbill_create_ip | * 变量名:spbill_create_ip | ||||
* 描述:APP和网页支付提交用户端ip,Native支付填调用微信支付API的机器IP。 | * 描述:APP和网页支付提交用户端ip,Native支付填调用微信支付API的机器IP。 | ||||
* </pre> | * </pre> | ||||
*/ | */ | ||||
@NotBlank | |||||
// @NotBlank | |||||
private String spbillCreateIp; | private String spbillCreateIp; | ||||
/** | /** | ||||
builder.validFieldNotBlank("openid", openid); | builder.validFieldNotBlank("openid", openid); | ||||
} | } | ||||
builder.validNotBlank("spbillCreateIp",TradeType.MWEB.equals(tradeType), | |||||
spbillCreateIp,"当tradeType是'MWEB'时,需指定非空的spbillCreateIp值"); | |||||
builder.validNotBlank("sceneInfo",TradeType.MWEB.equals(tradeType), | builder.validNotBlank("sceneInfo",TradeType.MWEB.equals(tradeType), | ||||
sceneInfo,"当tradeType是'MWEB'时,需指定非空的tradeType值"); | |||||
sceneInfo,"当tradeType是'MWEB'时,需指定非空的sceneInfo值"); | |||||
builder.validNotBlank("productId",TradeType.NATIVE.equals(tradeType), | builder.validNotBlank("productId",TradeType.NATIVE.equals(tradeType), | ||||
productId,"当tradeType是'NATIVE'时,需指定非空的productId值"); | productId,"当tradeType是'NATIVE'时,需指定非空的productId值"); | ||||
} | } |
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeRequest; | import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeRequest; | ||||
import cn.com.taiji.core.model.comm.protocol.SignServiceCommand; | import cn.com.taiji.core.model.comm.protocol.SignServiceCommand; | ||||
import cn.com.taiji.core.model.comm.protocol.SignServiceType; | import cn.com.taiji.core.model.comm.protocol.SignServiceType; | ||||
import cn.com.taiji.core.model.comm.protocol.ats.weiXin.WeiXinServiceCmd; | |||||
import cn.com.taiji.core.model.comm.protocol.ias.IasServiceType; | import cn.com.taiji.core.model.comm.protocol.ias.IasServiceType; | ||||
public enum AssServiceCmd implements SignServiceCommand { | public enum AssServiceCmd implements SignServiceCommand { | ||||
} | } | ||||
@Override | @Override | ||||
public boolean isMyCommand(String fileName) { | |||||
return false; | |||||
public boolean isMyCommand(String ifCode) { | |||||
return this == fromIfCode(ifCode); | |||||
} | } | ||||
@Override | @Override |
// @NotBlank | // @NotBlank | ||||
// private String openId; | // private String openId; | ||||
private String subOpenId;// 原wxOpenId | private String subOpenId;// 原wxOpenId | ||||
@NotBlank | |||||
private String spbillCreateIp;// 页面IP | |||||
private String h5Type;// h5页面类型 | |||||
private String spbillCreateIp;// 页面IP h5支付必填 | |||||
private String h5Type;// h5页面类型 h5支付必填 | |||||
public void relatedValid(ErrorMsgBuilder builder) { | public void relatedValid(ErrorMsgBuilder builder) { | ||||
} | } |
private String partnerId;// 商户号 | private String partnerId;// 商户号 | ||||
private String prepayId;// 预支付交易会话ID | private String prepayId;// 预支付交易会话ID | ||||
private String wxPackage;// 订单详情扩展字符串 | private String wxPackage;// 订单详情扩展字符串 | ||||
private String noncestr;// 随机字符串 | |||||
private String timestamp;// 时间戳 | |||||
private String nonceStr;// 随机字符串 | |||||
private String timeStamp;// 时间戳 | |||||
private String paySign; | |||||
private String sign;// 签名 | private String sign;// 签名 | ||||
private String signType;// 签名方式 | private String signType;// 签名方式 | ||||
private String h5Url;// H5参数 | private String h5Url;// H5参数 |
/** 订单编号 */ | /** 订单编号 */ | ||||
private String orderNo; | private String orderNo; | ||||
/** 支付订单编号 */ | |||||
private String payOrderNo; | |||||
/** 支付表主键id */ | |||||
private String orderPayId; | |||||
/** 支付状态 */ | /** 支付状态 */ | ||||
private OrderPayStatus payStatus; | private OrderPayStatus payStatus; | ||||
/** 支付时间 */ | /** 支付时间 */ |
} | } | ||||
@Override | @Override | ||||
public boolean isMyCommand(String fileName) { | |||||
return false; | |||||
public boolean isMyCommand(String ifCode) { | |||||
return this == fromIfCode(ifCode); | |||||
} | } | ||||
@Override | @Override |
} | } | ||||
@NotBlank | @NotBlank | ||||
private String orderNo; | |||||
private String orderNo; //订单编号 | |||||
@NotNull | @NotNull | ||||
@IntegerConstant(values = "1,2") | @IntegerConstant(values = "1,2") | ||||
private Integer signChannelType=1;// 1:微信小程序 2:支付宝小程序 | private Integer signChannelType=1;// 1:微信小程序 2:支付宝小程序 |