This commit is contained in:
richboo111
2022-07-29 15:23:21 +08:00
parent 4bbf80c7a4
commit e11b4f4611
8 changed files with 97 additions and 42 deletions

View File

@@ -11,6 +11,17 @@ import (
"time"
)
func AddMixPay(txDB orm.TxOrmer, orderID string, balancePrice, totalPrice, method int) error {
mixPayInfo := &model.MixPay{
OrderID: orderID,
BalancePrice: balancePrice,
TotalPrice: totalPrice,
Method: method,
}
dao.WrapAddIDCULEntity(mixPayInfo, jxcontext.AdminCtx.GetUserName())
return dao.CreateEntityTx(txDB, mixPayInfo)
}
func AddBillIncome(txDB orm.TxOrmer, billID int64, billType, incomePrice, jobID int) (err error) {
billIncome := &model.BillIncome{
BillID: billID,
@@ -50,6 +61,11 @@ func AddUserBillDb(db *dao.DaoDB, billID int64, userID string) (err error) {
return dao.CreateEntity(db, userBillInsert)
}
//
//func AddExpendMixPay(txDB orm.TxOrmer, userBill *model.UserBill, billType, price, jobID int) (err error) {
//err=AddMixPay()
//}
func GetUserBillDetail(ctx *jxcontext.Context, userID, fromTime, toTime string, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) {
return dao.GetUserBillDetail(dao.GetDB(), userID, utils.Str2Time(fromTime), utils.Str2Time(toTime), pageSize, offset)
}

View File

@@ -292,13 +292,30 @@ func onTLpayFinished(call *tonglianpayapi.CallBackResult) (err error) {
dao.Rollback(db, txdb)
return err
}
//1-余额,2-微信,5-混合
if order.PayMethod == 5 {
userBill, err := dao.GetUserBill(db, order.UserID, "")
if err != nil {
return err
}
//创建混合支付账单
totalPrice := order.PayPrice + userBill.AccountBalance
if err := AddMixPay(txdb, order.OrderID, userBill.AccountBalance, totalPrice, 5); err != nil {
dao.Rollback(db, txdb)
return err
}
//余额清空
if err := dao.UpdateUserBill(order.UserID, 0); err != nil {
globals.SugarLogger.Debug("修改余额失败")
dao.Rollback(db, txdb)
return err
}
}
dao.Commit(db, txdb)
if call.TrxStatus == tonglianpayapi.TrxStatusSuccess {
switch order.OrderType {
case model.PayType4Express:
err = q_bida.CreateOrder2QBiDa(&userOrder, order.OrderID)
case model.PayType4Member, model.PayType4Recharge:
err = OnPayFinished(order)
}
}
return err

View File

@@ -4,6 +4,7 @@ import (
"fmt"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/globals"
"github.com/astaxie/beego/client/orm"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
"git.rosy.net.cn/jx-callback/business/model"
@@ -105,8 +106,9 @@ func OnCashFinished(order *model.Order) (err error) {
//微信支付充值会员
func OnWXPayFinished(order *model.Order) (err error) {
var (
db = dao.GetDB()
ctx *jxcontext.Context
db = dao.GetDB()
ctx *jxcontext.Context
txDB orm.TxOrmer
)
globals.SugarLogger.Debugf("OnWXPayFinished begin modify account order: %v", utils.Format4Output(order, false))
//判断是新会员充值还是老会员续费
@@ -126,6 +128,11 @@ func OnWXPayFinished(order *model.Order) (err error) {
return err
}
}
order.Status = model.OrderStatusFinished
//更新order状态
if _, err := dao.UpdateEntityTx(txDB, &order, "Status"); err != nil {
return err
}
} else {
globals.SugarLogger.Debugf("OnWXPayFinished 暂不支持此订单类型 order: %v", utils.Format4Output(order, false))
return fmt.Errorf("暂不支持此订单类型!")