fix:
This commit is contained in:
parent
1ed696a93b
commit
95c7e963bc
|
@ -253,11 +253,12 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
RespBodyXML(c, ret)
|
RespBodyXML(c, ret)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
fundRecord := new(model.FundRecord)
|
||||||
if notify.Attach == wxpay.WxPayRentCard {
|
if notify.Attach == wxpay.WxPayRentCard {
|
||||||
logger.Info("租借游戏卡 支付成功:")
|
logger.Info("租借游戏卡 支付成功:")
|
||||||
var order model.Order
|
var order model.Order
|
||||||
err := model.NewOrderQuerySet(model.DB).OrderSnEq(notify.OutTradeNo).PayStatusEq(PayStatusUnPay).CardStatusNe(OrderCardStatusCancel).One(&order)
|
err := model.NewOrderQuerySet(model.DB).OrderSnEq(notify.OutTradeNo).
|
||||||
|
PayStatusEq(PayStatusUnPay).CardStatusNe(OrderCardStatusCancel).One(&order)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
return
|
return
|
||||||
|
@ -337,6 +338,9 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
go model.ShoppingCartCreateOrderByOrder(order)
|
go model.ShoppingCartCreateOrderByOrder(order)
|
||||||
|
|
||||||
|
fundRecord.Uid = uint32(order.Uid)
|
||||||
|
fundRecord.FundType = model.FundTypeExpressFee
|
||||||
//count, err := model.NewOrderQuerySet(model.DB).UidEq(order.Uid).IDEq(order.ID).Count()
|
//count, err := model.NewOrderQuerySet(model.DB).UidEq(order.Uid).IDEq(order.ID).Count()
|
||||||
//if err != nil {
|
//if err != nil {
|
||||||
// logger.Error("err:", err)
|
// logger.Error("err:", err)
|
||||||
|
@ -360,6 +364,18 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
remark := ""
|
||||||
|
if record.MemberLevel == 2 {
|
||||||
|
remark = "黄金会员费"
|
||||||
|
} else if record.MemberLevel == 4 {
|
||||||
|
remark = "白金会员费"
|
||||||
|
} else if record.MemberLevel == 5 {
|
||||||
|
remark = "黑金会员费"
|
||||||
|
}
|
||||||
|
fundRecord.Uid = uint32(record.Uid)
|
||||||
|
fundRecord.FundType = model.FundTypeMemberFee
|
||||||
|
fundRecord.Remark = remark
|
||||||
var user model.User
|
var user model.User
|
||||||
err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).One(&user)
|
err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).One(&user)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -397,7 +413,7 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var invite model.UserInvite
|
var invite model.UserInvite
|
||||||
err = model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).One(&invite)
|
err = model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).OrderDescByID().Limit(1).One(&invite)
|
||||||
if err != nil && err != model.RecordNotFound {
|
if err != nil && err != model.RecordNotFound {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
} else {
|
} else {
|
||||||
|
@ -446,10 +462,22 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
logger.Error("send user vm err:", err)
|
logger.Error("send user vm err:", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
err = model.SendUserVm(user.Uid, record.MemberLevel, 0)
|
err = model.SendUserVm(user.Uid, record.MemberLevel, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("send user vm err:", err)
|
logger.Error("send user vm err:", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
openMemberChannel := model.OpenMemberChannelUserInvite
|
||||||
|
if inviteUser.UserType == 2 {
|
||||||
|
openMemberChannel = model.OpenMemberChannelStorePromotion
|
||||||
|
}
|
||||||
|
_, err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().
|
||||||
|
SetOpenMemberChannel(openMemberChannel).UpdateNum()
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("err:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -493,6 +521,18 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
remark := ""
|
||||||
|
if user.MemberLevel == 2 {
|
||||||
|
remark = "黄金会员押金"
|
||||||
|
} else if user.MemberLevel == 4 {
|
||||||
|
remark = "白金会员押金"
|
||||||
|
} else if user.MemberLevel == 5 {
|
||||||
|
remark = "黑金会员押金"
|
||||||
|
}
|
||||||
|
fundRecord.Uid = uint32(record.Uid)
|
||||||
|
fundRecord.FundType = model.FundTypeMemberDeposit
|
||||||
|
fundRecord.Remark = remark
|
||||||
|
|
||||||
num, err := model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetDeposit(memberConfig.MemberDeposit).UpdateNum()
|
num, err := model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetDeposit(memberConfig.MemberDeposit).UpdateNum()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("update deposit err:", err)
|
logger.Error("update deposit err:", err)
|
||||||
|
@ -522,6 +562,10 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fundRecord.Uid = uint32(goodsOrder.Uid)
|
||||||
|
fundRecord.FundType = model.FundTypeExpressFee
|
||||||
|
fundRecord.Remark = "积分兑换快递费"
|
||||||
} else if notify.Attach == wxpay.WxPayUpgradeMember {
|
} else if notify.Attach == wxpay.WxPayUpgradeMember {
|
||||||
record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo}
|
record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo}
|
||||||
err := record.GetByOpenNo()
|
err := record.GetByOpenNo()
|
||||||
|
@ -564,6 +608,10 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
model.CreateUserRentCardByMemberLevel(record.Uid, record.MemberLevel, memberConfig.CardMax)
|
model.CreateUserRentCardByMemberLevel(record.Uid, record.MemberLevel, memberConfig.CardMax)
|
||||||
|
|
||||||
|
fundRecord.Uid = uint32(record.Uid)
|
||||||
|
fundRecord.FundType = model.FundTypeUpgradeMember
|
||||||
|
fundRecord.Remark = "升级会员"
|
||||||
} else if notify.Attach == wxpay.WxPayMemberExpireDelay {
|
} else if notify.Attach == wxpay.WxPayMemberExpireDelay {
|
||||||
record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo}
|
record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo}
|
||||||
err := record.GetByOpenNo()
|
err := record.GetByOpenNo()
|
||||||
|
@ -584,6 +632,9 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
fundRecord.Uid = uint32(record.Uid)
|
||||||
|
fundRecord.FundType = model.FundTypeMemberExpireDelay
|
||||||
|
fundRecord.Remark = "会员过期滞纳金"
|
||||||
} else if notify.Attach == wxpay.WxPayShareCardRetrieve {
|
} else if notify.Attach == wxpay.WxPayShareCardRetrieve {
|
||||||
record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo}
|
record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo}
|
||||||
err := record.GetByOpenNo()
|
err := record.GetByOpenNo()
|
||||||
|
@ -608,8 +659,19 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("update pay state err:", err)
|
logger.Error("update pay state err:", err)
|
||||||
}
|
}
|
||||||
|
fundRecord.Uid = uint32(record.Uid)
|
||||||
|
fundRecord.FundType = model.FundTypeExpressFee
|
||||||
|
fundRecord.Remark = "共享卡收回卡快递费"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fundRecord.Amount = int64(notify.TotalFee)
|
||||||
|
fundRecord.TransactionId = notify.TransactionId
|
||||||
|
fundRecord.OutTradeNo = notify.OutTradeNo
|
||||||
|
fundRecord.Status = 2
|
||||||
|
err = model.DB.Create(&fundRecord).Error
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("create fund record err:", err)
|
||||||
|
}
|
||||||
logger.Debug("微信推动支付通知")
|
logger.Debug("微信推动支付通知")
|
||||||
ret.ReturnCode = "SUCCESS"
|
ret.ReturnCode = "SUCCESS"
|
||||||
RespBodyXML(c, ret)
|
RespBodyXML(c, ret)
|
||||||
|
|
|
@ -335,10 +335,24 @@ func RentCardOrderCreate(c *gin.Context) {
|
||||||
RespJson(c, status.OrderStockOut, nil)
|
RespJson(c, status.OrderStockOut, nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if user.OpenMemberChannel == model.OpenMemberChannelStorePromotion {
|
||||||
go func() {
|
go func() {
|
||||||
|
exist, err := model.QueryRecordExist(fmt.Sprintf("SELECT * FROM `order` WHERE uid = %d", uc.Uid))
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("order exist err:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if !exist && user.OpenMemberTime.Format(model.DateTimeFormat) == time.Now().Format(model.DateTimeFormat) {
|
||||||
|
_, err = model.NewUserQuerySet(model.DB).UidEq(uc.Uid).GetUpdater().SetStoreId(uint64(req.StoreId)).UpdateNum()
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("update user err:", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
}()
|
}()
|
||||||
fmt.Println("PayPrice:", order.PayPrice)
|
}
|
||||||
|
|
||||||
|
//fmt.Println("PayPrice:", order.PayPrice)
|
||||||
if req.Price == 0 {
|
if req.Price == 0 {
|
||||||
tx := model.TransactionBegin()
|
tx := model.TransactionBegin()
|
||||||
order.PayStatus = model.PayStatusPaid
|
order.PayStatus = model.PayStatusPaid
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -120,6 +120,7 @@ func InitTestDB() {
|
||||||
//&GameShareCardVm{},
|
//&GameShareCardVm{},
|
||||||
|
|
||||||
&GameCard{},
|
&GameCard{},
|
||||||
|
&FundRecord{},
|
||||||
)
|
)
|
||||||
|
|
||||||
fmt.Println("DB init success")
|
fmt.Println("DB init success")
|
||||||
|
|
|
@ -829,6 +829,18 @@ func (m *Order) CreatOrderCard(cards []CardInfo, storeId uint32, gdb *gorm.DB) e
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func QueryRecordExist(sql string) {
|
type RecordExist struct {
|
||||||
DB.Where("").Count("")
|
RecordExist int64 `json:"record_exist"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func QueryRecordExist(sql string) (bool, error) {
|
||||||
|
var recordExist RecordExist
|
||||||
|
existSql := fmt.Sprintf("SELECT EXISTS (%s) AS record_exist;", sql)
|
||||||
|
err := DB.Raw(existSql).Scan(&recordExist).Error
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("err:", err)
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return recordExist.RecordExist == 1, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,7 +65,7 @@ const (
|
||||||
TimeFormat = "2006-01-02 15:04:05"
|
TimeFormat = "2006-01-02 15:04:05"
|
||||||
)
|
)
|
||||||
const (
|
const (
|
||||||
OpenMemberChannelStorePromotion = "store_promotion"
|
OpenMemberChannelStorePromotion = "store_promotion" // 门店推荐
|
||||||
OpenMemberChannelUserInvite = "user_invite"
|
OpenMemberChannelUserInvite = "user_invite"
|
||||||
OpenMemberChannelRedeemCode = "redeem_code"
|
OpenMemberChannelRedeemCode = "redeem_code"
|
||||||
)
|
)
|
||||||
|
@ -107,26 +107,32 @@ type DepositRefundRecord struct {
|
||||||
User User `json:"user" gorm:"-"`
|
User User `json:"user" gorm:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// 黄金会员 member_gold 白金会员 member_platinum 黑金会员 member_black_gold
|
|
||||||
// member_gold_deposit member_platinum_deposit member_black_gold_platinum
|
|
||||||
// express_fee
|
|
||||||
const (
|
const (
|
||||||
UserConsumeTypeMemberGold = "member_gold"
|
FundTypeMemberFee = "member_fee"
|
||||||
UserConsumeTypeMemberPlatinum = "member_platinum"
|
FundTypeMemberDeposit = "member_deposit"
|
||||||
UserConsumeTypeMemberBlackGold = "member_black_gold"
|
|
||||||
UserConsumeTypeMemberGoldDeposit = "member_gold_deposit"
|
//FundTypeMemberGold = "member_gold" // 黄金会员
|
||||||
UserConsumeTypeMemberPlatinumDeposit = "member_platinum_deposit"
|
//FundTypeMemberPlatinum = "member_platinum" // 白金会员
|
||||||
UserConsumeTypeMemberBlackGoldDeposit = "member_black_gold_platinum"
|
//FundTypeMemberBlackGold = "member_black_gold" // 黑金会员
|
||||||
UserConsumeTypeExpressFee = "express_fee"
|
//FundTypeMemberGoldDeposit = "member_gold_deposit" // 黄金会员押金
|
||||||
|
//FundTypeMemberPlatinumDeposit = "member_platinum_deposit" // 白金会员押金
|
||||||
|
//FundTypeMemberBlackGoldDeposit = "member_black_gold_platinum" // 黑金会员押金
|
||||||
|
|
||||||
|
FundTypeExpressFee = "express_fee" // 邮费
|
||||||
|
FundTypeUpgradeMember = "upgrade_member" // 升级会员
|
||||||
|
FundTypeMemberExpireDelay = "member_expire_delay" // 滞纳金
|
||||||
)
|
)
|
||||||
|
|
||||||
// gen:qs
|
// gen:qs
|
||||||
type UserConsumeRecord struct {
|
type FundRecord struct {
|
||||||
Model
|
Model
|
||||||
Uid uint32 `json:"uid"`
|
Uid uint32 `json:"uid"`
|
||||||
ConsumeType string `json:"consume_type"` // 黄金会员 member_gold 白金会员 member_platinum 黑金会员 member_black_gold
|
FundType string `json:"fund_type"` // -member_gold -member_platinum -member_black_gold
|
||||||
Amount uint32 `json:"amount"`
|
Amount int64 `json:"amount"`
|
||||||
|
TransactionId string `json:"transaction_id"` // 支付单号
|
||||||
|
OutTradeNo string `json:"out_trade_no"`
|
||||||
Status uint32 `json:"status"` // 1-待支付 2-已支付 3-已退款
|
Status uint32 `json:"status"` // 1-待支付 2-已支付 3-已退款
|
||||||
|
Remark string `json:"remark"` // 备注
|
||||||
}
|
}
|
||||||
|
|
||||||
// gen:qs
|
// gen:qs
|
||||||
|
|
Loading…
Reference in New Issue
Block a user