This commit is contained in:
aozhiwei 2020-03-18 13:07:23 +08:00
parent 1f0c2cb55c
commit efc97aca55
2 changed files with 38 additions and 9 deletions

View File

@ -6,8 +6,10 @@ import (
"game/base/platApi" "game/base/platApi"
"game/base/util" "game/base/util"
"game/config" "game/config"
"game/excel"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"strings"
) )
func QQPreOrder(w http.ResponseWriter, r *http.Request) { func QQPreOrder(w http.ResponseWriter, r *http.Request) {
@ -40,8 +42,10 @@ func QQPreOrder(w http.ResponseWriter, r *http.Request) {
} }
func (srv *PayServer) QQPayCallBack(w http.ResponseWriter, r *http.Request) { func (srv *PayServer) QQPayCallBack(w http.ResponseWriter, r *http.Request) {
var data []byte ret := &platApi.QQPayCallBackRet{}
defer func() { defer func() {
log.Info("QQPayCallBack ret:", ret)
data, _ := json.Marshal(ret)
w.Write(data) w.Write(data)
}() }()
@ -59,22 +63,47 @@ func (srv *PayServer) QQPayCallBack(w http.ResponseWriter, r *http.Request) {
if err != nil { if err != nil {
return return
} }
log.Info(" req:", req)
ok := platApi.QQCallBackVerify(req, r.URL.Path, config.QQAppSecret) ok := platApi.QQCallBackVerify(req, r.URL.Path, config.QQAppSecret)
if !ok { if !ok {
ret.Code = 1
ret.Msg = "签名检验失败"
return return
} }
ret := &platApi.QQPayCallBackRet{} extInfo := strings.Split(req.AppRemark, "-")
//ret.Code= if len(extInfo) != 3 {
//ret.Msg = ret.Code = 2
ret.Msg = "app_remark参数格式错误"
log.Info("QQPayCallBack ret:", ret, " req:", req)
data, err = json.Marshal(ret)
if err != nil {
return return
} }
sid := util.StringToInt(extInfo[0])
produce := util.StringToUint32(extInfo[1])
uid := util.StringToUint64(extInfo[2])
info := excel.GetPlatformIdById(produce)
msg := &RechargeCommonC2SMsg{
RoleId: uid,
Rmb: float32(info.Money),
ChargeYb: info.Money * 10,
GiftYb: 0,
OrderId: r.FormValue("bill_no"),
POrderId: r.FormValue("bill_no"),
PlatformIp: r.Header.Get("X-Real_IP"),
AttType: info.Type,
AttValue: info.Index,
}
code, _ := srv.DeliverGood(sid, msg)
if code == 1 || code == 1002 {
ret.Code = 0
} else {
ret.Code = 3
}
log.Info("QQCallback DeliverRecv sid:", sid, " Role:", uid, " OrderId:", msg.OrderId, " POrderId:", msg.POrderId,
" Money:", info.Money, " produce:", produce, " Code:", ret.Code, " code:", code, " err:", err)
//TODO 发货 //TODO 发货
//var serverId uint64 //var serverId uint64
//var uid uint64 //var uid uint64

View File

@ -60,7 +60,7 @@ func QQPrePay(openid string, appid string, zone string, amt string, goodId strin
value.Add("amt", amt) value.Add("amt", amt)
value.Add("goodid", goodId) value.Add("goodid", goodId)
value.Add("good_nun", util.Uint32ToString(goodNum)) value.Add("good_nun", util.Uint32ToString(goodNum))
value.Add("app_remark", appid) value.Add("app_remark", zone + "-" + goodId + "-" + openid)
billNo, _ := util.NextId() billNo, _ := util.NextId()
value.Add("bill_no", util.Int64ToString(billNo)) value.Add("bill_no", util.Int64ToString(billNo))