Compare commits

..

No commits in common. "e5f50423ad4b69f24ca43ec037ac0576c8aca1e0" and "222522dc7660a846bb12614ed27be7d4721b6e51" have entirely different histories.

7 changed files with 25 additions and 85 deletions

View File

@ -2,13 +2,10 @@ package console
import ( import (
"PaymentCenter/app/constants/common" "PaymentCenter/app/constants/common"
"PaymentCenter/app/constants/errorcode"
"PaymentCenter/app/data" "PaymentCenter/app/data"
"PaymentCenter/app/http/entities" "PaymentCenter/app/http/entities"
"PaymentCenter/app/http/entities/backend" "PaymentCenter/app/http/entities/backend"
"PaymentCenter/app/models/ordersmodel" "PaymentCenter/app/models/ordersmodel"
"PaymentCenter/app/models/orderthirdpaylogmodel"
"PaymentCenter/app/models/paychannelmodel"
"PaymentCenter/app/services/thirdpay/thirdpay_notify" "PaymentCenter/app/services/thirdpay/thirdpay_notify"
"PaymentCenter/app/third/paymentService" "PaymentCenter/app/third/paymentService"
"PaymentCenter/app/third/paymentService/payCommon" "PaymentCenter/app/third/paymentService/payCommon"
@ -169,47 +166,23 @@ func queryOrder() {
// 查询成功,校验状态 // 查询成功,校验状态
var status int var status int
if result.Code == payCommon.PAY_SUCCESS_CODE { if result.Code == payCommon.PAY_SUCCESS_CODE {
var msg string
switch result.Result.TradeState { switch result.Result.TradeState {
case "SUCCESS": case "SUCCESS":
// 成功 // 成功
status = common.ORDER_STATUS_PAYED status = common.ORDER_STATUS_PAYED
msg = "支付成功"
case "REFUND": case "REFUND":
// 退款 订单支付完成才能退款,所以支付单的状态是支付完成 // 退款 订单支付完成才能退款,所以支付单的状态是支付完成
status = common.ORDER_STATUS_PAYED status = common.ORDER_STATUS_PAYED
msg = "支付成功"
case "NOTPAY": case "NOTPAY":
// 未支付 // 未支付
return return
case "CLOSED": case "CLOSED":
// 关闭 // 关闭
status = common.ORDER_STATUS_CLOSE status = common.ORDER_STATUS_CLOSE
msg = "订单关闭"
} }
// 回调通知下游 todo // 回调通知下游 todo
notifyResult := thirdpay_notify.NewOrderNotifyWithHandle(orderInfo.Id, status, int(result.Result.PayerTotal), msg) notifyResult := thirdpay_notify.NewOrderNotifyWithHandle(orderInfo.Id, status, int(result.Result.PayerTotal), "")
//utils.Log(nil, "主动查询订单支付状态,回调下游", notifyResult) utils.Log(nil, "主动查询订单支付状态,回调下游", notifyResult)
if notifyResult.ErrCode != errorcode.Success {
utils.Log(nil, "主动查询订单支付状态,回调下游失败", notifyResult)
}
payCallback, _ := json.Marshal(result)
merchantCallback, _ := json.Marshal(notifyResult)
thirdRepo := data.NewOrderThirdPayLogRepo(paychannelmodel.GetInstance().GetDb())
log := orderthirdpaylogmodel.OrderThirdPayLog{
OrderId: orderInfo.Id,
PayCallback: string(payCallback),
Status: 1,
PayParam: "",
MerchantCallback: string(merchantCallback),
Type: common.THIRD_ORDER_TYPE_CALL_BACK,
}
// 写日志
_, err = thirdRepo.OrderThirdPayLogInsertOne(&log)
if err != nil {
utils.Log(nil, "主动查询订单支付状态,记录回调日志失败", log.OrderId, err)
}
} }
}(orderInfo) }(orderInfo)
} }
@ -288,7 +261,6 @@ func queryRefundOrder() {
var status int var status int
if result.Code == payCommon.PAY_SUCCESS_CODE { if result.Code == payCommon.PAY_SUCCESS_CODE {
// 退款状态 0未申请1退款中2退款成功3退款失败 // 退款状态 0未申请1退款中2退款成功3退款失败
var msg string
switch result.Result.RefundStatus { switch result.Result.RefundStatus {
case 0: case 0:
// 未申请 // 未申请
@ -301,35 +273,13 @@ func queryRefundOrder() {
case 2: case 2:
// 退款成功 // 退款成功
status = common.ORDER_STATUS_PAYED status = common.ORDER_STATUS_PAYED
msg = "退款成功"
case 3: case 3:
// 退款失败 // 退款失败
status = common.ORDER_STATUS_FAILED status = common.ORDER_STATUS_FAILED
msg = "退款失败"
} }
// 回调通知下游 todo // 回调通知下游 todo
notifyResult := thirdpay_notify.NewOrderNotifyWithHandle(orderInfo.Id, status, int(result.Result.RefundFee), msg) notifyResult := thirdpay_notify.NewOrderNotifyWithHandle(orderInfo.Id, status, int(result.Result.RefundFee), "")
//utils.Log(nil, "主动查询退款订单状态,回调下游", notifyResult) utils.Log(nil, "主动查询退款订单状态,回调下游", notifyResult)
if notifyResult.ErrCode != errorcode.Success {
utils.Log(nil, "查询退款订单状态,回调下游失败", notifyResult)
}
payCallback, _ := json.Marshal(result)
merchantCallback, _ := json.Marshal(notifyResult)
thirdRepo := data.NewOrderThirdPayLogRepo(paychannelmodel.GetInstance().GetDb())
log := orderthirdpaylogmodel.OrderThirdPayLog{
OrderId: orderInfo.Id,
PayCallback: string(payCallback),
Status: 1,
PayParam: "",
MerchantCallback: string(merchantCallback),
Type: common.THIRD_ORDER_TYPE_CALL_BACK,
}
// 写日志
_, err = thirdRepo.OrderThirdPayLogInsertOne(&log)
if err != nil {
utils.Log(nil, "查询退款订单状态,记录回调日志失败", log.OrderId, err)
}
} }
}(orderInfo) }(orderInfo)
} }

View File

@ -2,7 +2,6 @@ package backend
import ( import (
"PaymentCenter/app/constants/errorcode" "PaymentCenter/app/constants/errorcode"
"PaymentCenter/app/constants/pojo"
"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"
@ -63,11 +62,11 @@ func GenerateDecrypt(c *gin.Context) {
var publicKey, privateKey string var publicKey, privateKey string
var err error var err error
switch req.KeyType { switch req.KeyType {
case pojo.SM2: case "sm2":
publicKey, privateKey, err = sm2.GenerateSM2Key() publicKey, privateKey, err = sm2.GenerateSM2Key()
case pojo.RSA: case "rsa":
publicKey, privateKey, err = rsa.GenerateKey() publicKey, privateKey, err = rsa.GenerateKey()
case pojo.SM4: case "sm4":
privateKey, publicKey = sm4.GenerateKey() privateKey, publicKey = sm4.GenerateKey()
default: default:
controllers.HandCodeRes(c, "", errorcode.EncryptTypeNotFound) controllers.HandCodeRes(c, "", errorcode.EncryptTypeNotFound)

View File

@ -9,7 +9,6 @@ import (
"encoding/base64" "encoding/base64"
"encoding/json" "encoding/json"
"errors" "errors"
"github.com/bytedance/sonic"
"github.com/go-playground/locales/zh" "github.com/go-playground/locales/zh"
ut "github.com/go-playground/universal-translator" ut "github.com/go-playground/universal-translator"
"github.com/qit-team/snow-core/redis" "github.com/qit-team/snow-core/redis"
@ -112,10 +111,8 @@ func GenRequest(c *gin.Context, request interface{}) (msgs []string, err error)
if c.Request.Method == "GET" || c.Request.Method == "DELETE" { if c.Request.Method == "GET" || c.Request.Method == "DELETE" {
err = c.ShouldBindQuery(request) err = c.ShouldBindQuery(request)
} else { } else {
err = c.ShouldBind(request) err = c.ShouldBindJSON(request)
} }
var req, _ = sonic.Marshal(request)
utils.Log(c, c.FullPath(), "请求参数", string(req))
if err == nil { if err == nil {
validate := validator.New() validate := validator.New()

View File

@ -96,5 +96,5 @@ func (a *AppUpdateRequest) RequestToDb() (db appmodel.App) {
} }
type GenerateDecryptKeyRequest struct { type GenerateDecryptKeyRequest struct {
KeyType int32 `json:"key_type" form:"key_type" label:"密钥类型"` KeyType string `json:"key_type" form:"key_type" label:"密钥类型"`
} }

View File

@ -27,16 +27,8 @@ func (p *PayChannelResponse) ResponseFromDb(db paychannelmodel.PayChannel) {
p.MerchantId = db.MerchantId p.MerchantId = db.MerchantId
p.ChannelType = db.ChannelType p.ChannelType = db.ChannelType
p.AppId = db.AppId p.AppId = db.AppId
if db.ExpireTime.IsZero() { p.ExpireTime = db.ExpireTime.Format("2006-01-02 15:04:05")
p.ExpireTime = "" p.CreateTime = db.CreateTime.Format("2006-01-02 15:04:05")
} else {
p.ExpireTime = db.ExpireTime.Format("2006-01-02 15:04:05")
}
if db.CreateTime.IsZero() {
p.CreateTime = ""
} else {
p.CreateTime = db.CreateTime.Format("2006-01-02 15:04:05")
}
switch db.ChannelType { switch db.ChannelType {
case common.PAY_CHANNEL_WECHAT_H5, common.PAY_CHANNEL_WECHAT_JSAPI, common.PAY_CHANNEL_WECHAT_NATIVE, common.PAY_CHANNEL_WECHAT_APP, common.PAY_CHANNEL_WECHAT_MINI: case common.PAY_CHANNEL_WECHAT_H5, common.PAY_CHANNEL_WECHAT_JSAPI, common.PAY_CHANNEL_WECHAT_NATIVE, common.PAY_CHANNEL_WECHAT_APP, common.PAY_CHANNEL_WECHAT_MINI:

View File

@ -61,10 +61,12 @@ func Cors() gin.HandlerFunc {
func AdminAuth() gin.HandlerFunc { func AdminAuth() gin.HandlerFunc {
return func(c *gin.Context) { return func(c *gin.Context) {
ip, _ := c.RemoteIP()
utils.Log(c, "请求地址RemoteIP()", ip.String(), config.GetConf().AdminGate)
clientIp := c.ClientIP() clientIp := c.ClientIP()
utils.Log(c, "请求地址clientIp", clientIp, config.GetConf().AdminGate) utils.Log(c, "请求地址clientIp", clientIp)
if config.GetConf().Debug == false && !utils.SliceInStr(clientIp, config.GetConf().AdminGate) { if config.GetConf().Debug == false && !utils.SliceInStr(ip.String(), config.GetConf().AdminGate) {
c.Abort() c.Abort()
controllers.HandCodeRes(c, nil, errorcode.Forbidden) controllers.HandCodeRes(c, nil, errorcode.Forbidden)
return return
@ -110,7 +112,7 @@ func ValidateRequest() gin.HandlerFunc {
handler = requestmapping.FrontRequestMapBeforeDecrypt[path] handler = requestmapping.FrontRequestMapBeforeDecrypt[path]
} }
if handler == nil { if handler == nil {
utils.Log(c, "path", path, "未找到handler") utils.Log(c, "path", path)
controllers.HandCodeRes(c, nil, errorcode.NotFound) controllers.HandCodeRes(c, nil, errorcode.NotFound)
return return
} }

View File

@ -18,31 +18,31 @@ func OrderList(req backend.OrderList) (result []ordersmodel.OrdersBackendList, t
// 拼接查询条件 // 拼接查询条件
conn := builder.NewCond() conn := builder.NewCond()
if req.Id > 0 { if req.Id > 0 {
conn = conn.And(builder.Eq{"orders.id": req.Id}) conn = conn.And(builder.Eq{"id": req.Id})
} }
if req.MerchantId > 0 { if req.MerchantId > 0 {
conn = conn.And(builder.Eq{"orders.merchant_id": req.MerchantId}) conn = conn.And(builder.Eq{"merchant_id": req.MerchantId})
} }
if req.PayChannelId > 0 { if req.PayChannelId > 0 {
conn = conn.And(builder.Eq{"orders.pay_channel_id": req.PayChannelId}) conn = conn.And(builder.Eq{"pay_channel_id": req.PayChannelId})
} }
if req.AppId > 0 { if req.AppId > 0 {
conn = conn.And(builder.Eq{"orders.app_id": req.AppId}) conn = conn.And(builder.Eq{"app_id": req.AppId})
} }
if req.OutTreadNo != "" { if req.OutTreadNo != "" {
conn = conn.And(builder.Like{"orders.out_tread_no", req.OutTreadNo}) conn = conn.And(builder.Like{"out_tread_no", req.OutTreadNo})
} }
if req.Status > 0 { if req.Status > 0 {
conn = conn.And(builder.Eq{"orders.status": req.Status}) conn = conn.And(builder.Eq{"status": req.Status})
} }
if req.OrderType > 0 { if req.OrderType > 0 {
conn = conn.And(builder.Eq{"orders.order_type": req.OrderType}) conn = conn.And(builder.Eq{"order_type": req.OrderType})
} }
if !req.StartTime.IsZero() { if !req.StartTime.IsZero() {
conn = conn.And(builder.Gte{"orders.create_time": req.StartTime}) conn = conn.And(builder.Gte{"start_time": req.StartTime})
} }
if !req.EndTime.IsZero() { if !req.EndTime.IsZero() {
conn = conn.And(builder.Lte{"orders.create_time": req.EndTime}) conn = conn.And(builder.Lte{"end_time": req.EndTime})
} }
// 调用repo // 调用repo