This commit is contained in:
menxipeng
2025-08-03 13:58:34 +08:00
parent 58e70a009d
commit d6c5934dba
21 changed files with 1027 additions and 7 deletions

View File

@@ -185,7 +185,11 @@
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-easysdk -->
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-easysdk</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,62 @@
package com.ruoyi.common.config;
import com.alipay.easysdk.factory.Factory;
import com.alipay.easysdk.kernel.Config;
import lombok.Getter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
/**
* 描述:
*
* @author menxipeng by 2023/12/15
*/
@Getter
@Component
public class AliPayConfig {
@Value("${alipay.gateway}")
private String aliPayGateway;
@Value("${alipay.appid}")
private String aliPayAppid;
@Value("${alipay.privateKey}")
private String aliPayPrivateKey;
@Value("${alipay.publicKey}")
private String aliPayPublicKey;
@Value("${alipay.merchantCertPath}")
private String merchantCertPath;
@Value("${alipay.alipayCertPath}")
private String alipayCertPath;
@Value("${alipay.alipayRootCertPath}")
private String alipayRootCertPath;
@Value("${alipay.notifyUrl}")
private String aliPayNotifyUrl;
@Value("${alipay.authUrl}")
private String aliPayAuthUrl;
@Value("${alipay.timeout}")
private Integer aliTimeOut;
@Bean
public void init() {
Config config = new Config();
config.protocol = "https";
config.gatewayHost = "openapi.alipay.com";
config.signType = "RSA2";
config.appId = aliPayAppid;
// 为避免私钥随源码泄露,推荐从文件中读取私钥字符串而不是写入源码中
config.merchantPrivateKey = aliPayPrivateKey;
//注证书文件路径支持设置为文件系统中的路径或CLASS_PATH中的路径优先从文件系统中加载加载失败后会继续尝试从CLASS_PATH中加载
config.merchantCertPath = merchantCertPath;
config.alipayCertPath = alipayCertPath;
config.alipayRootCertPath = alipayRootCertPath;
//注:如果采用非证书模式,则无需赋值上面的三个证书路径,改为赋值如下的支付宝公钥字符串即可
//可设置异步通知接收服务地址(可选)
config.notifyUrl = aliPayNotifyUrl;
Factory.setOptions(config);
}
}

View File

@@ -0,0 +1,56 @@
//package com.ruoyi.common.config;
//
//import com.lvcai.lvcaibiwebstarter.constant
// .IStatusCode;
//import com.lvcai.lvcaibiwebstarter.enums.GenericStatusCode;
//import lombok.AllArgsConstructor;
//import lombok.Data;
//import lombok.Setter;
//
///**
// * 描述:
// *
// * @author menxipeng by 2023/12/15
// */
//
//@AllArgsConstructor
//public enum PayStatusCode {
//
// /**
// * 稍后再试
// */
// TRY_AGAIN_LATER(902, "稍后再试"),
//
// /**
// * 支付方式错误
// */
// PAY_TYPE_ERROR(990, "支付方式错误"),
//
// PAY_ERROR(991, "支付失败"),
// /**
// * 支付宝预创建订单失败
// */
// ALI_PRE_CREATE_FAIL(992, "支付宝预创建订单失败"),
//
// // 重复上传
// REPEAT_UPLOAD(993, "重复上传"),
// ;
//
// public int codeValue;
// public String msg;
//
// @Override
// public int getCodeSegment() {
// return 15;
// }
//
// @Override
// public int getCodeValue() {
// return this.codeValue;
// }
//
// @Override
// public String getMsg() {
// return this.msg;
// }
//}

View File

@@ -0,0 +1,331 @@
package com.ruoyi.common.core.domain.entity;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 【请填写功能名称】对象 order_info
*
* @author ruoyi
* @date 2025-08-03
*/
public class OrderInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** */
private String id;
/** 订单号 */
@Excel(name = "订单号")
private Long orderId;
/** 订单名称 */
@Excel(name = "订单名称")
private String orderName;
/** 用户id */
@Excel(name = "用户id")
private Long userId;
/** 金额 分 */
@Excel(name = "金额 分")
private Long amount;
/** 支付方式 aliPay / wechatPay / applePay */
@Excel(name = "支付方式 aliPay / wechatPay / applePay ")
private String payType;
/** 交易时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "交易时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date payTime;
/** 支付状态 1 创建订单 2 待出货 3 已完成 */
@Excel(name = "支付状态 1 创建订单 2 待出货 3 已完成")
private Long payStatus;
/** 开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date startTime;
/** 截止时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "截止时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date endTime;
/** 1删除 */
@Excel(name = "1删除")
private Long idDel;
/** 回调时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "回调时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date callTime;
/** 套餐类型 1 包月 3 包季度 6 半年 12 一年 */
@Excel(name = "套餐类型 1 包月 3 包季度 6 半年 12 一年")
private String packageType;
/** 回调内容 */
@Excel(name = "回调内容")
private String callbackContent;
/** 第三方支付交易号 */
@Excel(name = "第三方支付交易号")
private String tradeNo;
/** 已退款金额(单位:分) */
@Excel(name = "已退款金额(单位:分)")
private Long refundAmount;
/** 退款时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date refundTime;
/** 下单用户ip */
@Excel(name = "下单用户ip")
private String clientIp;
/** 设备类型 */
@Excel(name = "设备类型")
private String deviceType;
/** 乐观锁版本号 */
@Excel(name = "乐观锁版本号")
private Long version;
public void setId(String id)
{
this.id = id;
}
public String getId()
{
return id;
}
public void setOrderId(Long orderId)
{
this.orderId = orderId;
}
public Long getOrderId()
{
return orderId;
}
public void setOrderName(String orderName)
{
this.orderName = orderName;
}
public String getOrderName()
{
return orderName;
}
public void setUserId(Long userId)
{
this.userId = userId;
}
public Long getUserId()
{
return userId;
}
public void setAmount(Long amount)
{
this.amount = amount;
}
public Long getAmount()
{
return amount;
}
public void setPayType(String payType)
{
this.payType = payType;
}
public String getPayType()
{
return payType;
}
public void setPayTime(Date payTime)
{
this.payTime = payTime;
}
public Date getPayTime()
{
return payTime;
}
public void setPayStatus(Long payStatus)
{
this.payStatus = payStatus;
}
public Long getPayStatus()
{
return payStatus;
}
public void setStartTime(Date startTime)
{
this.startTime = startTime;
}
public Date getStartTime()
{
return startTime;
}
public void setEndTime(Date endTime)
{
this.endTime = endTime;
}
public Date getEndTime()
{
return endTime;
}
public void setIdDel(Long idDel)
{
this.idDel = idDel;
}
public Long getIdDel()
{
return idDel;
}
public void setCallTime(Date callTime)
{
this.callTime = callTime;
}
public Date getCallTime()
{
return callTime;
}
public void setPackageType(String packageType)
{
this.packageType = packageType;
}
public String getPackageType()
{
return packageType;
}
public void setCallbackContent(String callbackContent)
{
this.callbackContent = callbackContent;
}
public String getCallbackContent()
{
return callbackContent;
}
public void setTradeNo(String tradeNo)
{
this.tradeNo = tradeNo;
}
public String getTradeNo()
{
return tradeNo;
}
public void setRefundAmount(Long refundAmount)
{
this.refundAmount = refundAmount;
}
public Long getRefundAmount()
{
return refundAmount;
}
public void setRefundTime(Date refundTime)
{
this.refundTime = refundTime;
}
public Date getRefundTime()
{
return refundTime;
}
public void setClientIp(String clientIp)
{
this.clientIp = clientIp;
}
public String getClientIp()
{
return clientIp;
}
public void setDeviceType(String deviceType)
{
this.deviceType = deviceType;
}
public String getDeviceType()
{
return deviceType;
}
public void setVersion(Long version)
{
this.version = version;
}
public Long getVersion()
{
return version;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("orderId", getOrderId())
.append("orderName", getOrderName())
.append("userId", getUserId())
.append("amount", getAmount())
.append("payType", getPayType())
.append("payTime", getPayTime())
.append("payStatus", getPayStatus())
.append("startTime", getStartTime())
.append("endTime", getEndTime())
.append("createTime", getCreateTime())
.append("idDel", getIdDel())
.append("updateTime", getUpdateTime())
.append("callTime", getCallTime())
.append("packageType", getPackageType())
.append("callbackContent", getCallbackContent())
.append("tradeNo", getTradeNo())
.append("refundAmount", getRefundAmount())
.append("refundTime", getRefundTime())
.append("clientIp", getClientIp())
.append("deviceType", getDeviceType())
.append("version", getVersion())
.toString();
}
}

View File

@@ -0,0 +1,24 @@
package com.ruoyi.common.core.domain.entity;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
@Getter
@NoArgsConstructor
@AllArgsConstructor
public enum PayStatusEnum {
// `pay_status` int DEFAULT NULL COMMENT '支付状态 1 待支付 2 待出货 3 待退款 4 已退款 5 已完成',
CREATE(1, "待支付"),
PENDING(2,"待出货"),
WAIT_REFUND(3,"待退款"),
REFUND(4,"已退款"),
COMPLETE(5,"已完成")
;
public long status;
public String desc;
}