This commit is contained in:
li 2022-10-25 15:06:14 +08:00
parent 00c1972fb5
commit 24b6a4a6d4
2 changed files with 154 additions and 5 deletions

View File

@ -550,6 +550,7 @@ func GetGameCardSearch(name string, page, pageSize int, storeId uint32) ([]GameC
logger.Error("err:", err)
return cards, 0, err
}
cardMap := make(map[uint32]GameCard, 0)
cardIds := make([]uint64, 0, len(cards))
for i, _ := range cards {
@ -597,12 +598,13 @@ func GetGameCardSearch(name string, page, pageSize int, storeId uint32) ([]GameC
if cardCount.Count%uint32(pageSize) == 0 {
totalPage = cardCount.Count / uint32(pageSize)
}
if len(list) != 0 {
if uint32(page) < totalPage-1 && totalPage != 1 {
cards = list[page*pageSize : (page+1)*pageSize]
} else {
cards = list[page*pageSize:]
}
}
return cards, totalPage, nil
}

View File

@ -8,6 +8,7 @@ import (
"fmt"
"mh-server/lib/auth"
"mh-server/lib/utils"
"mh-server/lib/wxpay"
"mh-server/lib/xianmai"
"os"
"sort"
@ -1731,3 +1732,149 @@ func TestCreateAccessToken(t *testing.T) {
}
fmt.Println("token:", token)
}
func TestPushWXPayNotice(t *testing.T) {
InitDBProd()
DB = DBProd
PushWXPayNoticeInfo()
}
func PushWXPayNoticeInfo() {
fmt.Println("微信推送支付通知")
//body, err := ioutil.ReadAll(c.Request.Body)
//if err != nil {
// logger.Error(err)
//}
//logger.Error("xml Request.Body1:", string(body))
var notifyInfo wxpay.WechatNotifyInfo
notifyInfo.OutTradeNo = "82EE941414"
notifyInfo.Attach = wxpay.WxPayPostagePackage
//if err := c.ShouldBindXML(&notify); err != nil {
// logger.Error(err)
// RespBodyXML(c, map[string]string{
// "return_code": "FAIL",
// })
// return
//}
//err = xml.Unmarshal(body, &notifyInfo)
//if err != nil {
// logger.Error(err)
//}
//ret := WXPayNoticeResp{
// ReturnCode: "FAIL",
//}
//correctSign, err := PayCallBackHandle(notifyInfo, config.AppConfig.WxMchSecret)
//if err != nil {
// logger.Error("PushWXPayNotice sign create fail")
// return
//}
//if notifyInfo.Sign != correctSign {
// logger.Error("PushWXPayNotice sign verification fail")
// return
//}
fundRecord := new(FundRecord)
if notifyInfo.Attach == wxpay.WxPayPostagePackage {
record := &UserOpenMemberRecord{OpenNo: notifyInfo.OutTradeNo}
err := record.GetByOpenNo()
if err != nil {
logger.Error("err:", err)
}
if record.State == 2 {
//ret.ReturnCode = "SUCCESS"
logger.Error("State err")
return
}
var activity Activity
err = NewActivityQuerySet(DB).IDEq(3).One(&activity)
if err != nil {
logger.Error("coupon err:", err)
return
}
var coupon Coupon
err = NewCouponQuerySet(DB).ActivityTypeEq(activity.ActivityType).One(&coupon)
if err != nil {
logger.Error("coupon err:", err)
return
}
defer func() {
if err := recover(); err != nil {
logger.Error("err:", err)
}
}()
//days := (info.PostagePackageFee * 365) / originalMemberConfig.MemberFee
user := GetUserByUid(record.Uid)
days := GetPostagePackageMemberDuration(user.MemberLevel)
durationRecord := &UserMemberDurationRecord{
Uid: record.Uid,
Duration: days,
EventType: 1,
MemberLevel: record.MemberLevel,
}
nowTime := time.Now()
//go func() {
begin := DB.Begin()
for i := 0; i < 10; i++ {
userCoupon := &UserCoupon{
Uid: record.Uid,
CouponId: coupon.ID,
CouponType: coupon.CouponType,
ActivityType: activity.ActivityType,
ActivityId: activity.ID,
Value: coupon.Value,
State: 1,
ActiveStart: nowTime,
ActiveEnd: nowTime.AddDate(10, 0, 0),
MemberLevel: record.MemberLevel,
}
err = begin.Create(userCoupon).Error
if err != nil {
begin.Rollback()
logger.Error("user coupon err:", err)
return
}
}
memberExpire := user.MemberExpire.AddDate(0, 0, int(days))
err = NewUserQuerySet(begin).UidEq(record.Uid).GetUpdater().SetMemberExpire(memberExpire).Update()
if err != nil {
begin.Rollback()
logger.Error("update member expire err:", err)
return
}
err = begin.Create(durationRecord).Error
if err != nil {
logger.Error("create duration record err:", err)
return
}
err = begin.Commit().Error
if err != nil {
begin.Rollback()
logger.Error("commit err:", err)
return
}
//}()
fundRecord.Uid = uint32(record.Uid)
fundRecord.FundType = FundTypePostagePackageFee
fundRecord.Remark = "购买运费包"
}
fundRecord.Amount = int64(notifyInfo.TotalFee)
fundRecord.TransactionId = notifyInfo.TransactionId
fundRecord.OutTradeNo = notifyInfo.OutTradeNo
fundRecord.Status = 2
err := DB.Create(&fundRecord).Error
if err != nil {
logger.Error("create fund record err:", err)
}
logger.Debug("微信推动支付通知")
}