hotgo/server/internal/model/input/payin/pay.go

199 lines
8.2 KiB
Go

// Package payin
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package payin
import (
"context"
"github.com/gogf/gf/v2/encoding/gjson"
"hotgo/internal/model/entity"
"hotgo/internal/model/input/form"
"github.com/gogf/gf/v2/os/gtime"
)
// PayNotifyInp 异步通知
type PayNotifyInp struct {
PayType string `json:"payType" description:"支付类型"`
}
type PayNotifyModel struct {
PayType string `json:"payType" description:"支付类型"`
Code string `json:"code" description:"状态码"`
Message string `json:"message" description:"响应文本消息"`
}
type PayNotifyUpdate struct {
TransactionId string `json:"transactionId" description:"交易号"`
PayStatus int `json:"payStatus" description:"支付状态"`
PayAt *gtime.Time `json:"payAt" description:"支付时间"`
PayIp string `json:"payIp" description:"支付者ip"`
TraceIds *gjson.Json `json:"traceIds" description:"链路id集合"`
}
// PayCreateInp 创建支付订单和日志
type PayCreateInp struct {
Subject string `json:"subject" description:"订单标题"`
Detail *gjson.Json `json:"detail" description:"支付商品详情"`
OrderSn string `json:"orderSn" description:"关联订单号"`
OrderGroup string `json:"orderGroup" description:"组别[默认统一支付类型]"`
Openid string `json:"openid" description:"openid"`
PayType string `json:"payType" description:"支付类型"`
TradeType string `json:"tradeType" description:"交易类型"`
PayAmount float64 `json:"payAmount" description:"支付金额"`
ReturnUrl string `json:"returnUrl" description:"买家付款成功跳转地址"`
}
type PayCreateModel struct {
Order *CreateOrderModel
}
// PayEditInp 修改/新增支付日志
type PayEditInp struct {
entity.PayLog
}
func (in *PayEditInp) Filter(ctx context.Context) (err error) {
return
}
type PayEditModel struct{}
// PayDeleteInp 删除支付日志
type PayDeleteInp struct {
Id interface{} `json:"id" v:"required#ID不能为空" dc:"ID"`
}
func (in *PayDeleteInp) Filter(ctx context.Context) (err error) {
return
}
type PayDeleteModel struct{}
// PayViewInp 获取指定支付日志信息
type PayViewInp struct {
Id int64 `json:"id" v:"required#ID不能为空" dc:"ID"`
}
func (in *PayViewInp) Filter(ctx context.Context) (err error) {
return
}
type PayViewModel struct {
entity.PayLog
}
// PayListInp 获取支付日志列表
type PayListInp struct {
form.PageReq
Id int64 `json:"id" dc:"ID"`
Status int `json:"status" dc:"状态"`
CreatedAt []*gtime.Time `json:"createdAt" dc:"创建时间"`
}
func (in *PayListInp) Filter(ctx context.Context) (err error) {
return
}
type PayListModel struct {
Id int64 `json:"id" description:"主键"`
MemberId uint64 `json:"memberId" description:"用户id"`
AppId string `json:"appId" description:"应用id"`
AddonsName string `json:"addonsName" description:"插件名称"`
OrderSn string `json:"orderSn" description:"关联订单号"`
OrderGroup string `json:"orderGroup" description:"组别[默认统一支付类型]"`
Openid string `json:"openid" description:"openid"`
MchId string `json:"mchId" description:"商户支付账户"`
Body string `json:"body" description:"创建支付报文"`
AuthCode string `json:"authCode" description:"刷卡码"`
OutTradeNo string `json:"outTradeNo" description:"商户订单号"`
TransactionId string `json:"transactionId" description:"交易号"`
PayType int `json:"payType" description:"支付类型"`
PayFee float64 `json:"payFee" description:"支付金额"`
PayStatus int `json:"payStatus" description:"支付状态"`
PayAt *gtime.Time `json:"payAt" description:"支付时间"`
TradeType string `json:"tradeType" description:"交易类型"`
RefundSn string `json:"refundSn" description:"退款编号"`
RefundFee float64 `json:"refundFee" description:"退款金额"`
RefundRemark string `json:"refundRemark" description:"退款备注"`
IsRefund int `json:"isRefund" description:"是否退款"`
CreateIp string `json:"createIp" description:"创建者ip"`
PayIp string `json:"payIp" description:"支付者ip"`
NotifyUrl string `json:"notifyUrl" description:"支付通知回调地址"`
ReturnUrl string `json:"returnUrl" description:"买家付款成功跳转地址"`
TraceIds *gjson.Json `json:"traceIds" description:"链路id集合"`
Status int `json:"status" description:"状态"`
CreatedAt *gtime.Time `json:"createdAt" description:"创建时间"`
UpdatedAt *gtime.Time `json:"updatedAt" description:"修改时间"`
}
// PayExportModel 导出支付日志
type PayExportModel struct {
Id int64 `json:"id" description:"主键"`
MemberId uint64 `json:"memberId" description:"用户id"`
AppId string `json:"appId" description:"应用id"`
AddonsName string `json:"addonsName" description:"插件名称"`
OrderSn string `json:"orderSn" description:"关联订单号"`
OrderGroup string `json:"orderGroup" description:"组别[默认统一支付类型]"`
Openid string `json:"openid" description:"openid"`
MchId string `json:"mchId" description:"商户支付账户"`
Body string `json:"body" description:"创建支付报文"`
AuthCode string `json:"authCode" description:"刷卡码"`
OutTradeNo string `json:"outTradeNo" description:"商户订单号"`
TransactionId string `json:"transactionId" description:"交易号"`
PayType int `json:"payType" description:"支付类型"`
PayFee float64 `json:"payFee" description:"支付金额"`
PayStatus int `json:"payStatus" description:"支付状态"`
PayAt *gtime.Time `json:"payAt" description:"支付时间"`
TradeType string `json:"tradeType" description:"交易类型"`
RefundSn string `json:"refundSn" description:"退款编号"`
RefundFee float64 `json:"refundFee" description:"退款金额"`
RefundRemark string `json:"refundRemark" description:"退款备注"`
IsRefund int `json:"isRefund" description:"是否退款"`
CreateIp string `json:"createIp" description:"创建者ip"`
PayIp string `json:"payIp" description:"支付者ip"`
NotifyUrl string `json:"notifyUrl" description:"支付通知回调地址"`
ReturnUrl string `json:"returnUrl" description:"买家付款成功跳转地址"`
TraceIds *gjson.Json `json:"traceIds" description:"链路id集合"`
Status int `json:"status" description:"状态"`
CreatedAt *gtime.Time `json:"createdAt" description:"创建时间"`
UpdatedAt *gtime.Time `json:"updatedAt" description:"修改时间"`
}
// PayMaxSortInp 获取支付日志最大排序
type PayMaxSortInp struct{}
func (in *PayMaxSortInp) Filter(ctx context.Context) (err error) {
return
}
type PayMaxSortModel struct {
Sort int `json:"sort" description:"排序"`
}
// PayStatusInp 更新支付日志状态
type PayStatusInp struct {
Id int64 `json:"id" v:"required#ID不能为空" dc:"ID"`
Status int `json:"status" dc:"状态"`
}
func (in *PayStatusInp) Filter(ctx context.Context) (err error) {
return
}
type PayStatusModel struct{}
// PaySwitchInp 更新支付日志开关状态
type PaySwitchInp struct {
form.SwitchReq
Id int64 `json:"id" v:"required#ID不能为空" dc:"ID"`
}
func (in *PaySwitchInp) Filter(ctx context.Context) (err error) {
return
}
type PaySwitchModel struct{}