后台,更新请求日志和回调日志data
This commit is contained in:
parent
5326e9c8d9
commit
65621d439b
|
@ -4,8 +4,8 @@ import (
|
||||||
"PaymentCenter/app/constants/common"
|
"PaymentCenter/app/constants/common"
|
||||||
"PaymentCenter/app/data"
|
"PaymentCenter/app/data"
|
||||||
"PaymentCenter/app/http/entities"
|
"PaymentCenter/app/http/entities"
|
||||||
"PaymentCenter/app/models/orderlogmodel"
|
|
||||||
"PaymentCenter/app/models/ordersmodel"
|
"PaymentCenter/app/models/ordersmodel"
|
||||||
|
"PaymentCenter/app/models/orderthirdpaylogmodel"
|
||||||
"PaymentCenter/app/third/paymentService"
|
"PaymentCenter/app/third/paymentService"
|
||||||
"PaymentCenter/app/third/paymentService/payCommon"
|
"PaymentCenter/app/third/paymentService/payCommon"
|
||||||
"PaymentCenter/app/utils"
|
"PaymentCenter/app/utils"
|
||||||
|
@ -140,7 +140,7 @@ func queryOrder() {
|
||||||
err = session.Commit()
|
err = session.Commit()
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
orderLogRepo := data.NewOrderLogRepo(session)
|
orderLogRepo := data.NewOrderThirdPayLogRepo(session)
|
||||||
orderRepo := data.NewOrderRepo(session)
|
orderRepo := data.NewOrderRepo(session)
|
||||||
|
|
||||||
conn := builder.NewCond()
|
conn := builder.NewCond()
|
||||||
|
@ -151,15 +151,15 @@ func queryOrder() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 写入支付日志
|
// 写入日志
|
||||||
log := orderlogmodel.OrderLog{
|
log := orderthirdpaylogmodel.OrderThirdPayLog{
|
||||||
OrderId: orderInfo.Id,
|
OrderId: orderInfo.Id,
|
||||||
PayCallback: "",
|
PayCallback: "",
|
||||||
Status: 0,
|
Status: 0,
|
||||||
MerchantParam: "",
|
MerchantParam: "",
|
||||||
MerchantCallback: "",
|
MerchantCallback: "",
|
||||||
}
|
}
|
||||||
_, err = orderLogRepo.OrderLogInsertOne(&log)
|
_, err = orderLogRepo.OrderThirdPayLogInsertOne(&log)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Log(nil, "主动查询订单支付状态,写入支付日志失败", err)
|
utils.Log(nil, "主动查询订单支付状态,写入支付日志失败", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
package data
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PaymentCenter/app/http/entities"
|
|
||||||
"PaymentCenter/app/models/orderlogmodel"
|
|
||||||
"xorm.io/builder"
|
|
||||||
"xorm.io/xorm"
|
|
||||||
)
|
|
||||||
|
|
||||||
type OrderLogRepo struct {
|
|
||||||
repo xorm.Interface
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewOrderLogRepo(repo xorm.Interface) *OrderLogRepo {
|
|
||||||
return &OrderLogRepo{
|
|
||||||
repo: repo,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *OrderLogRepo) OrderLogList(conn builder.Cond, pageFilter entities.PageRequest, orderLogList *[]orderlogmodel.OrderLog) (int64, error) {
|
|
||||||
repo := m.repo.Where(conn)
|
|
||||||
if pageFilter.Page > 0 {
|
|
||||||
repo = repo.Limit(pageFilter.PageSize, pageFilter.PageSize*(pageFilter.Page-1))
|
|
||||||
}
|
|
||||||
return repo.Desc("create_time").FindAndCount(orderLogList)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *OrderLogRepo) OrderLogInsertOne(orderLog *orderlogmodel.OrderLog) (int64, error) {
|
|
||||||
return m.repo.InsertOne(orderLog)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *OrderLogRepo) OrderLogDelete(orderLog *orderlogmodel.OrderLog, conn builder.Cond) (int64, error) {
|
|
||||||
return m.repo.Where(conn).Delete(orderLog)
|
|
||||||
}
|
|
||||||
|
|
||||||
// columns 参数为要更新的字段
|
|
||||||
func (m *OrderLogRepo) OrderLogUpdate(orderLog *orderlogmodel.OrderLog, conn builder.Cond, columns ...string) (int64, error) {
|
|
||||||
return m.repo.Where(conn).MustCols(columns...).Update(orderLog)
|
|
||||||
}
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
package data
|
||||||
|
|
||||||
|
import (
|
||||||
|
"PaymentCenter/app/http/entities"
|
||||||
|
"PaymentCenter/app/models/orderrequestlogmodel"
|
||||||
|
"xorm.io/builder"
|
||||||
|
"xorm.io/xorm"
|
||||||
|
)
|
||||||
|
|
||||||
|
type OrderRequestLogRepo struct {
|
||||||
|
repo xorm.Interface
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewOrderRequestLogRepo(repo xorm.Interface) *OrderRequestLogRepo {
|
||||||
|
return &OrderRequestLogRepo{
|
||||||
|
repo: repo,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *OrderRequestLogRepo) OrderRequestLogList(conn builder.Cond, pageFilter entities.PageRequest, orderLogList *[]orderrequestlogmodel.OrderRequestLog) (int64, error) {
|
||||||
|
repo := m.repo.Where(conn)
|
||||||
|
if pageFilter.Page > 0 {
|
||||||
|
repo = repo.Limit(pageFilter.PageSize, pageFilter.PageSize*(pageFilter.Page-1))
|
||||||
|
}
|
||||||
|
return repo.Desc("create_time").FindAndCount(orderLogList)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *OrderRequestLogRepo) OrderRequestLogInsertOne(orderLog *orderrequestlogmodel.OrderRequestLog) (int64, error) {
|
||||||
|
return m.repo.InsertOne(orderLog)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *OrderRequestLogRepo) OrderRequestLogDelete(orderLog *orderrequestlogmodel.OrderRequestLog, conn builder.Cond) (int64, error) {
|
||||||
|
return m.repo.Where(conn).Delete(orderLog)
|
||||||
|
}
|
||||||
|
|
||||||
|
// columns 参数为要更新的字段
|
||||||
|
func (m *OrderRequestLogRepo) OrderRequestLogUpdate(orderLog *orderrequestlogmodel.OrderRequestLog, conn builder.Cond, columns ...string) (int64, error) {
|
||||||
|
return m.repo.Where(conn).MustCols(columns...).Update(orderLog)
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
package data
|
||||||
|
|
||||||
|
import (
|
||||||
|
"PaymentCenter/app/http/entities"
|
||||||
|
"PaymentCenter/app/models/orderthirdpaylogmodel"
|
||||||
|
"xorm.io/builder"
|
||||||
|
"xorm.io/xorm"
|
||||||
|
)
|
||||||
|
|
||||||
|
type OrderThirdPayLogRepo struct {
|
||||||
|
repo xorm.Interface
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewOrderThirdPayLogRepo(repo xorm.Interface) *OrderThirdPayLogRepo {
|
||||||
|
return &OrderThirdPayLogRepo{
|
||||||
|
repo: repo,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *OrderThirdPayLogRepo) OrderThirdPayLogList(conn builder.Cond, pageFilter entities.PageRequest, orderLogList *[]orderthirdpaylogmodel.OrderThirdPayLog) (int64, error) {
|
||||||
|
repo := m.repo.Where(conn)
|
||||||
|
if pageFilter.Page > 0 {
|
||||||
|
repo = repo.Limit(pageFilter.PageSize, pageFilter.PageSize*(pageFilter.Page-1))
|
||||||
|
}
|
||||||
|
return repo.Desc("create_time").FindAndCount(orderLogList)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *OrderThirdPayLogRepo) OrderThirdPayLogInsertOne(orderLog *orderthirdpaylogmodel.OrderThirdPayLog) (int64, error) {
|
||||||
|
return m.repo.InsertOne(orderLog)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *OrderThirdPayLogRepo) OrderThirdPayLogDelete(orderLog *orderthirdpaylogmodel.OrderThirdPayLog, conn builder.Cond) (int64, error) {
|
||||||
|
return m.repo.Where(conn).Delete(orderLog)
|
||||||
|
}
|
||||||
|
|
||||||
|
// columns 参数为要更新的字段
|
||||||
|
func (m *OrderThirdPayLogRepo) OrderThirdPayLogUpdate(orderLog *orderthirdpaylogmodel.OrderThirdPayLog, conn builder.Cond, columns ...string) (int64, error) {
|
||||||
|
return m.repo.Where(conn).MustCols(columns...).Update(orderLog)
|
||||||
|
}
|
|
@ -5,8 +5,9 @@ import (
|
||||||
"PaymentCenter/app/http/controllers"
|
"PaymentCenter/app/http/controllers"
|
||||||
"PaymentCenter/app/http/entities"
|
"PaymentCenter/app/http/entities"
|
||||||
"PaymentCenter/app/http/entities/backend"
|
"PaymentCenter/app/http/entities/backend"
|
||||||
"PaymentCenter/app/models/orderlogmodel"
|
"PaymentCenter/app/models/orderrequestlogmodel"
|
||||||
"PaymentCenter/app/models/ordersmodel"
|
"PaymentCenter/app/models/ordersmodel"
|
||||||
|
"PaymentCenter/app/models/orderthirdpaylogmodel"
|
||||||
"PaymentCenter/app/services"
|
"PaymentCenter/app/services"
|
||||||
"github.com/ahmetb/go-linq/v3"
|
"github.com/ahmetb/go-linq/v3"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
@ -36,16 +37,22 @@ func OrderList(c *gin.Context) {
|
||||||
func OrderLogsList(c *gin.Context) {
|
func OrderLogsList(c *gin.Context) {
|
||||||
req, _ := controllers.GetRequest(c).(*backend.OrderLogsListRequest)
|
req, _ := controllers.GetRequest(c).(*backend.OrderLogsListRequest)
|
||||||
req.SetDefault()
|
req.SetDefault()
|
||||||
orderLogList, total, code := services.OrderLogsList(*req)
|
requestLog, thirdLog, code := services.OrderLogsList(*req)
|
||||||
|
|
||||||
result := make([]backend.OrderLogResponse, 0, len(orderLogList))
|
requestLogList := make([]backend.OrderRequestLogResponse, 0, len(requestLog))
|
||||||
linq.From(orderLogList).SelectT(func(in orderlogmodel.OrderLog) (out backend.OrderLogResponse) {
|
linq.From(requestLog).SelectT(func(in orderrequestlogmodel.OrderRequestLog) (out backend.OrderRequestLogResponse) {
|
||||||
out.ResponseFromDb(in)
|
out.ResponseFromDb(in)
|
||||||
return
|
return
|
||||||
}).ToSlice(&result)
|
}).ToSlice(&requestLogList)
|
||||||
data := entities.PageRsp{
|
|
||||||
Total: total,
|
thirdLogList := make([]backend.OrderThirdLogResponse, 0, len(thirdLog))
|
||||||
Data: result,
|
linq.From(thirdLog).SelectT(func(in orderthirdpaylogmodel.OrderThirdPayLog) (out backend.OrderThirdLogResponse) {
|
||||||
}
|
out.ResponseFromDb(in)
|
||||||
controllers.HandCodeRes(c, data, code)
|
return
|
||||||
|
}).ToSlice(&thirdLogList)
|
||||||
|
|
||||||
|
controllers.HandCodeRes(c, gin.H{
|
||||||
|
"request_log_list": requestLogList,
|
||||||
|
"third_log_list": thirdLogList,
|
||||||
|
}, code)
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,9 @@ package backend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"PaymentCenter/app/http/entities"
|
"PaymentCenter/app/http/entities"
|
||||||
"PaymentCenter/app/models/orderlogmodel"
|
"PaymentCenter/app/models/orderrequestlogmodel"
|
||||||
"PaymentCenter/app/models/ordersmodel"
|
"PaymentCenter/app/models/ordersmodel"
|
||||||
|
"PaymentCenter/app/models/orderthirdpaylogmodel"
|
||||||
"PaymentCenter/app/utils"
|
"PaymentCenter/app/utils"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
|
@ -106,17 +107,37 @@ type OrderLogsListRequest struct {
|
||||||
entities.PageRequest
|
entities.PageRequest
|
||||||
}
|
}
|
||||||
|
|
||||||
type OrderLogResponse struct {
|
type OrderRequestLogResponse struct {
|
||||||
|
Id int64 `json:"id"`
|
||||||
|
IpAddress string `json:"ip_address"`
|
||||||
|
OrderId int64 `json:"order_id"`
|
||||||
|
MerchantRequest string `json:"merchant_request"`
|
||||||
|
MerchantResponse string `json:"merchant_response"`
|
||||||
|
CreateTime string `json:"create_time"`
|
||||||
|
Status int `json:"status"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *OrderRequestLogResponse) ResponseFromDb(db orderrequestlogmodel.OrderRequestLog) {
|
||||||
|
o.Id = db.Id
|
||||||
|
o.OrderId = db.OrderId
|
||||||
|
o.IpAddress = db.IpAddress
|
||||||
|
o.Status = db.Status
|
||||||
|
o.MerchantRequest = db.MerchantRequest
|
||||||
|
o.MerchantResponse = db.MerchantResponse
|
||||||
|
o.CreateTime = db.CreateTime.Format("2006-01-02 15:04:05")
|
||||||
|
}
|
||||||
|
|
||||||
|
type OrderThirdLogResponse struct {
|
||||||
Id int64 `json:"id"`
|
Id int64 `json:"id"`
|
||||||
OrderId int64 `json:"order_id"`
|
OrderId int64 `json:"order_id"`
|
||||||
|
CreateTime string `json:"create_time"`
|
||||||
PayCallback string `json:"pay_callback"`
|
PayCallback string `json:"pay_callback"`
|
||||||
Status int `json:"status"`
|
Status int `json:"status"`
|
||||||
MerchantParam string `json:"merchant_param"`
|
MerchantParam string `json:"merchant_param"`
|
||||||
MerchantCallback string `json:"merchant_callback"`
|
MerchantCallback string `json:"merchant_callback"`
|
||||||
CreateTime string `json:"create_time"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *OrderLogResponse) ResponseFromDb(db orderlogmodel.OrderLog) {
|
func (o *OrderThirdLogResponse) ResponseFromDb(db orderthirdpaylogmodel.OrderThirdPayLog) {
|
||||||
o.Id = db.Id
|
o.Id = db.Id
|
||||||
o.OrderId = db.OrderId
|
o.OrderId = db.OrderId
|
||||||
o.PayCallback = db.PayCallback
|
o.PayCallback = db.PayCallback
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
package orderlogmodel
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/qit-team/snow-core/db"
|
|
||||||
"sync"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
once sync.Once
|
|
||||||
m *OrderLogModel
|
|
||||||
)
|
|
||||||
|
|
||||||
// 实体
|
|
||||||
type OrderLog struct {
|
|
||||||
Id int64
|
|
||||||
OrderId int64 `xorm:"'order_id' bigint(20)"`
|
|
||||||
PayCallback string `xorm:"'pay_callback' varchar(255)"`
|
|
||||||
Status int `xorm:"'status' int(11)"`
|
|
||||||
MerchantParam string `xorm:"'merchant_param' varchar(255)"`
|
|
||||||
MerchantCallback string `xorm:"'merchant_callback' varchar(255)"`
|
|
||||||
CreateTime time.Time `xorm:"'create_time' datetime created"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// 表名
|
|
||||||
func (m *OrderLog) TableName() string {
|
|
||||||
return "order_log"
|
|
||||||
}
|
|
||||||
|
|
||||||
// 私有化,防止被外部new
|
|
||||||
type OrderLogModel struct {
|
|
||||||
db.Model //组合基础Model,集成基础Model的属性和方法
|
|
||||||
}
|
|
||||||
|
|
||||||
// 单例模式
|
|
||||||
func GetInstance() *OrderLogModel {
|
|
||||||
once.Do(func() {
|
|
||||||
m = new(OrderLogModel)
|
|
||||||
//m.DiName = "" //设置数据库实例连接,默认db.SingletonMain
|
|
||||||
})
|
|
||||||
return m
|
|
||||||
}
|
|
|
@ -13,12 +13,13 @@ var (
|
||||||
|
|
||||||
// 实体
|
// 实体
|
||||||
type OrderRequestLog struct {
|
type OrderRequestLog struct {
|
||||||
Id int64 `xorm:"'id' bigint(20) pk autoincr"`
|
Id int64
|
||||||
IpAddress string `xorm:"'ip_address' varchar(16)"`
|
IpAddress string `xorm:"'ip_address' varchar(16)"`
|
||||||
|
OrderId int64 `xorm:"'order_id' bigint(20)"`
|
||||||
MerchantRequest string `xorm:"'merchant_request' JSON"`
|
MerchantRequest string `xorm:"'merchant_request' JSON"`
|
||||||
MerchantResponse string `xorm:"'merchant_response' JSON"`
|
MerchantResponse string `xorm:"'merchant_response' JSON"`
|
||||||
CreateTime time.Time `xorm:"'create_time' datetime"`
|
CreateTime time.Time `xorm:"'create_time' datetime created"`
|
||||||
UpdateTime time.Time `xorm:"'update_time' timestamp"`
|
UpdateTime time.Time `xorm:"'update_time' timestamp updated"`
|
||||||
Status int `xorm:"'status' TINYINT"`
|
Status int `xorm:"'status' TINYINT"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,13 +13,13 @@ var (
|
||||||
|
|
||||||
// 实体
|
// 实体
|
||||||
type OrderThirdPayLog struct {
|
type OrderThirdPayLog struct {
|
||||||
Id int64 `xorm:"'id' bigint(20) pk autoincr"`
|
Id int64
|
||||||
OrderId int64 `xorm:"'order_id' bigint(20)"`
|
OrderId int64 `xorm:"'order_id' bigint(20)"`
|
||||||
PayCallback string `xorm:"'pay_callback' varchar(255)"`
|
PayCallback string `xorm:"'pay_callback' varchar(255)"`
|
||||||
Status int `xorm:"'status' TINYINT"`
|
Status int `xorm:"'status' TINYINT"`
|
||||||
MerchantParam string `xorm:"'merchant_param' varchar(255)"`
|
MerchantParam string `xorm:"'merchant_param' varchar(255)"`
|
||||||
MerchantCallback string `xorm:"'merchant_callback' varchar(255)"`
|
MerchantCallback string `xorm:"'merchant_callback' varchar(255)"`
|
||||||
CreateTime time.Time `xorm:"'create_time' datetime"`
|
CreateTime time.Time `xorm:"'create_time' datetime created"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// 表名
|
// 表名
|
||||||
|
|
|
@ -3,8 +3,9 @@ package services
|
||||||
import (
|
import (
|
||||||
"PaymentCenter/app/data"
|
"PaymentCenter/app/data"
|
||||||
"PaymentCenter/app/http/entities/backend"
|
"PaymentCenter/app/http/entities/backend"
|
||||||
"PaymentCenter/app/models/orderlogmodel"
|
"PaymentCenter/app/models/orderrequestlogmodel"
|
||||||
"PaymentCenter/app/models/ordersmodel"
|
"PaymentCenter/app/models/ordersmodel"
|
||||||
|
"PaymentCenter/app/models/orderthirdpaylogmodel"
|
||||||
"PaymentCenter/app/models/paychannelmodel"
|
"PaymentCenter/app/models/paychannelmodel"
|
||||||
"xorm.io/builder"
|
"xorm.io/builder"
|
||||||
)
|
)
|
||||||
|
@ -49,16 +50,25 @@ func OrderList(req backend.OrderList) (result []ordersmodel.OrdersBackendList, t
|
||||||
return orderList, count, code
|
return orderList, count, code
|
||||||
}
|
}
|
||||||
|
|
||||||
func OrderLogsList(req backend.OrderLogsListRequest) (result []orderlogmodel.OrderLog, total int64, code int) {
|
func OrderLogsList(req backend.OrderLogsListRequest) (requestLog []orderrequestlogmodel.OrderRequestLog, thirdLod []orderthirdpaylogmodel.OrderThirdPayLog, code int) {
|
||||||
repo := data.NewOrderLogRepo(paychannelmodel.GetInstance().GetDb())
|
requestRepo := data.NewOrderRequestLogRepo(paychannelmodel.GetInstance().GetDb())
|
||||||
|
thirdRepo := data.NewOrderThirdPayLogRepo(paychannelmodel.GetInstance().GetDb())
|
||||||
|
|
||||||
conn := builder.NewCond()
|
conn := builder.NewCond()
|
||||||
if req.OrderId > 0 {
|
if req.OrderId > 0 {
|
||||||
conn = conn.And(builder.Eq{"order_id": req.OrderId})
|
conn = conn.And(builder.Eq{"order_id": req.OrderId})
|
||||||
}
|
}
|
||||||
// 调用repo
|
// 请求日志
|
||||||
orderLogList := make([]orderlogmodel.OrderLog, 0)
|
orderLogList := make([]orderrequestlogmodel.OrderRequestLog, 0)
|
||||||
count, err := repo.OrderLogList(conn, req.PageRequest, &orderLogList)
|
_, err := requestRepo.OrderRequestLogList(conn, req.PageRequest, &orderLogList)
|
||||||
|
if err != nil {
|
||||||
|
code = handErr(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 三方日志
|
||||||
|
thirdLogList := make([]orderthirdpaylogmodel.OrderThirdPayLog, 0)
|
||||||
|
_, err = thirdRepo.OrderThirdPayLogList(conn, req.PageRequest, &thirdLogList)
|
||||||
code = handErr(err)
|
code = handErr(err)
|
||||||
|
|
||||||
return orderLogList, count, code
|
return orderLogList, thirdLogList, code
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue