Merge branch 'dev/dev1.0' into feature_413_cjh
This commit is contained in:
commit
ad56b5f0e5
|
@ -13,6 +13,7 @@ import (
|
||||||
"PaymentCenter/config"
|
"PaymentCenter/config"
|
||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
"github.com/qit-team/snow-core/command"
|
"github.com/qit-team/snow-core/command"
|
||||||
"strconv"
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
|
@ -23,6 +24,7 @@ import (
|
||||||
func RegisterCommand(c *command.Command) {
|
func RegisterCommand(c *command.Command) {
|
||||||
c.AddFunc("test", test)
|
c.AddFunc("test", test)
|
||||||
c.AddFunc("closeOrder", closeOrder)
|
c.AddFunc("closeOrder", closeOrder)
|
||||||
|
c.AddFunc("queryOrder", queryOrder)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 关闭长时间支付中的订单
|
// 关闭长时间支付中的订单
|
||||||
|
@ -106,6 +108,7 @@ func queryOrder() {
|
||||||
// 拼接条件
|
// 拼接条件
|
||||||
cond := builder.NewCond()
|
cond := builder.NewCond()
|
||||||
cond = cond.And(builder.Eq{"status": common.ORDER_STATUS_PAYING}, builder.Gt{"orders.create_time": time.Now().Add(-time.Second * time.Duration(config.GetConf().CronConfig.QueryOrderTime))})
|
cond = cond.And(builder.Eq{"status": common.ORDER_STATUS_PAYING}, builder.Gt{"orders.create_time": time.Now().Add(-time.Second * time.Duration(config.GetConf().CronConfig.QueryOrderTime))})
|
||||||
|
cond = cond.And(builder.Eq{"order_type": common.ORDER_TYPE_PAY})
|
||||||
order := make([]ordersmodel.OrdersLeftPayChannelList, 0)
|
order := make([]ordersmodel.OrdersLeftPayChannelList, 0)
|
||||||
err := repo.OrdersLeftPayChannelList(cond, entities.PageRequest{}, &order)
|
err := repo.OrdersLeftPayChannelList(cond, entities.PageRequest{}, &order)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -170,6 +173,7 @@ func queryOrder() {
|
||||||
status = common.ORDER_STATUS_PAYED
|
status = common.ORDER_STATUS_PAYED
|
||||||
case "REFUND":
|
case "REFUND":
|
||||||
// 退款
|
// 退款
|
||||||
|
status = common.ORDER_STATUS_REFUND
|
||||||
|
|
||||||
case "NOTPAY":
|
case "NOTPAY":
|
||||||
// 未支付
|
// 未支付
|
||||||
|
@ -183,8 +187,9 @@ func queryOrder() {
|
||||||
|
|
||||||
// 更新订单状态 todo
|
// 更新订单状态 todo
|
||||||
orderUpdate := ordersmodel.Orders{
|
orderUpdate := ordersmodel.Orders{
|
||||||
Id: orderInfo.Id,
|
Id: orderInfo.Id,
|
||||||
Status: status,
|
Status: status,
|
||||||
|
PayerTotal: int(result.Result.PayerTotal),
|
||||||
}
|
}
|
||||||
|
|
||||||
session := ordersmodel.GetInstance().GetDb().NewSession()
|
session := ordersmodel.GetInstance().GetDb().NewSession()
|
||||||
|
@ -216,8 +221,9 @@ func queryOrder() {
|
||||||
OrderId: orderInfo.Id,
|
OrderId: orderInfo.Id,
|
||||||
PayCallback: string(body),
|
PayCallback: string(body),
|
||||||
Status: 0,
|
Status: 0,
|
||||||
PayParam: "",
|
PayParam: fmt.Sprintf(`{"pay_channel_id":%d}`, orderInfo.PayChannelId),
|
||||||
MerchantCallback: "",
|
Type: common.THIRD_ORDER_TYPE_ORDER_QUERY,
|
||||||
|
MerchantCallback: "{}",
|
||||||
}
|
}
|
||||||
_, err = orderLogRepo.OrderThirdPayLogInsertOne(&log)
|
_, err = orderLogRepo.OrderThirdPayLogInsertOne(&log)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -22,19 +22,21 @@ const (
|
||||||
ADMIN_USER_NAME = "User-Name"
|
ADMIN_USER_NAME = "User-Name"
|
||||||
ADMIN_USER_INCLUDEUSERS = "Include-Users"
|
ADMIN_USER_INCLUDEUSERS = "Include-Users"
|
||||||
|
|
||||||
// '订单状态,1待支付、2支付中、3支付成功、4支付失败、5订单关闭',
|
// '订单状态: 1待支付、2支付中、3支付成功、4支付失败、5订单关闭 6支付完成后退款,
|
||||||
ORDER_STATUS_WAITPAY = 1
|
ORDER_STATUS_WAITPAY = 1
|
||||||
ORDER_STATUS_PAYING = 2
|
ORDER_STATUS_PAYING = 2
|
||||||
ORDER_STATUS_PAYED = 3
|
ORDER_STATUS_PAYED = 3
|
||||||
ORDER_STATUS_FAILED = 4
|
ORDER_STATUS_FAILED = 4
|
||||||
ORDER_STATUS_CLOSE = 5
|
ORDER_STATUS_CLOSE = 5
|
||||||
|
ORDER_STATUS_REFUND = 6
|
||||||
|
|
||||||
|
// 订单类型,1支付,2退款
|
||||||
|
ORDER_TYPE_PAY = 1
|
||||||
|
ORDER_TYPE_REFUND = 2
|
||||||
|
|
||||||
STATUS_ENABLE = 1
|
STATUS_ENABLE = 1
|
||||||
STATUS_DISABLED = 2
|
STATUS_DISABLED = 2
|
||||||
|
|
||||||
ORDER_TYPE_PAY = 1
|
|
||||||
ORDER_TYPE_REFUND = 2
|
|
||||||
|
|
||||||
PAY_CHANNLE_TYPE_WECHAT = 1 // 支付类型: 微信
|
PAY_CHANNLE_TYPE_WECHAT = 1 // 支付类型: 微信
|
||||||
PAY_CHANNLE_TYPE_ZFB = 2 // 支付类型:支付宝
|
PAY_CHANNLE_TYPE_ZFB = 2 // 支付类型:支付宝
|
||||||
|
|
||||||
|
|
|
@ -4,9 +4,11 @@ import (
|
||||||
"PaymentCenter/app/constants/errorcode"
|
"PaymentCenter/app/constants/errorcode"
|
||||||
"PaymentCenter/app/http/controllers"
|
"PaymentCenter/app/http/controllers"
|
||||||
"PaymentCenter/app/http/entities/front"
|
"PaymentCenter/app/http/entities/front"
|
||||||
|
"PaymentCenter/app/models/ordersmodel"
|
||||||
"PaymentCenter/app/services"
|
"PaymentCenter/app/services"
|
||||||
"PaymentCenter/app/services/thirdpay"
|
"PaymentCenter/app/services/thirdpay"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
"xorm.io/builder"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Pay(c *gin.Context) {
|
func Pay(c *gin.Context) {
|
||||||
|
@ -30,3 +32,25 @@ func Pay(c *gin.Context) {
|
||||||
controllers.ApiRes(c, thirdpay.PayCallBack(payInfo.Order, true), errorcode.Success)
|
controllers.ApiRes(c, thirdpay.PayCallBack(payInfo.Order, true), errorcode.Success)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 查询订单
|
||||||
|
func QueryOrder(c *gin.Context) {
|
||||||
|
req := controllers.GetRequest(c).(*front.QueryReqs)
|
||||||
|
appCheckInfo := controllers.GetAppCheckInfo(c).(*services.AppCheck)
|
||||||
|
// 查询订单表
|
||||||
|
order := ordersmodel.Orders{
|
||||||
|
OutTreadNo: req.OutTradeNo,
|
||||||
|
AppId: req.AppId,
|
||||||
|
MerchantId: appCheckInfo.App.MerchantId,
|
||||||
|
}
|
||||||
|
cond := builder.NewCond()
|
||||||
|
cond = cond.And(builder.Eq{"out_tread_no": order.OutTreadNo}, builder.Eq{"app_id": order.AppId})
|
||||||
|
_, code := services.OrderFindOne(&order, cond)
|
||||||
|
if code != errorcode.OrdersExist {
|
||||||
|
controllers.ApiRes(c, order, code)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
data := front.OrdersResponse{}
|
||||||
|
data.ResponseFromDb(order)
|
||||||
|
controllers.ApiRes(c, data, errorcode.Success)
|
||||||
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package front
|
package front
|
||||||
|
|
||||||
|
import "PaymentCenter/app/models/ordersmodel"
|
||||||
|
|
||||||
type ApiCommonBody struct {
|
type ApiCommonBody struct {
|
||||||
AppId int64 `json:"app_id" validate:"required"`
|
AppId int64 `json:"app_id" validate:"required"`
|
||||||
Timestamp int64 `json:"timestamp" validate:"required"`
|
Timestamp int64 `json:"timestamp" validate:"required"`
|
||||||
|
@ -26,3 +28,32 @@ type OrderApiResp struct {
|
||||||
Msg string
|
Msg string
|
||||||
Data interface{}
|
Data interface{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type QueryReqs struct {
|
||||||
|
ApiCommonBody
|
||||||
|
OutTradeNo string `json:"out_trade_no" validate:"required" label:"外侧商户订单号"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type OrdersResponse struct {
|
||||||
|
Id int64 `json:"id"`
|
||||||
|
PayChannelId int64 `json:"pay_channel_id"`
|
||||||
|
AppId int64 `json:"app_id"`
|
||||||
|
OutTreadNo string `json:"out_tread_no"`
|
||||||
|
Status int `json:"status"`
|
||||||
|
OrderType int `json:"order_type"`
|
||||||
|
Amount int `json:"amount"`
|
||||||
|
PayerTotal int `json:"payer_total"`
|
||||||
|
CreateTime string `json:"create_time"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *OrdersResponse) ResponseFromDb(db ordersmodel.Orders) {
|
||||||
|
o.Id = db.Id
|
||||||
|
o.PayChannelId = db.PayChannelId
|
||||||
|
o.AppId = db.AppId
|
||||||
|
o.OutTreadNo = db.OutTreadNo
|
||||||
|
o.Status = db.Status
|
||||||
|
o.OrderType = db.OrderType
|
||||||
|
o.Amount = db.Amount
|
||||||
|
o.PayerTotal = db.PayerTotal
|
||||||
|
o.CreateTime = db.CreateTime.Format("2006-01-02 15:04:05")
|
||||||
|
}
|
||||||
|
|
|
@ -59,6 +59,7 @@ func RegisterRoute(router *gin.Engine) {
|
||||||
pay := v1.Group("/pay", middlewares.ValidateRequest(), middlewares.ValidatePayRequest())
|
pay := v1.Group("/pay", middlewares.ValidateRequest(), middlewares.ValidatePayRequest())
|
||||||
{
|
{
|
||||||
pay.POST("/do", front.Pay)
|
pay.POST("/do", front.Pay)
|
||||||
|
pay.POST("/query", front.QueryOrder) //查询订单
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue