fix:
This commit is contained in:
parent
0a4c7f2c4b
commit
75b20230c6
|
@ -252,11 +252,13 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
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).One(&order)
|
err := model.NewOrderQuerySet(model.DB).OrderSnEq(notify.OutTradeNo).PayStatusEq(PayStatusUnPay).One(&order)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
//orderJson, _ := json.Marshal(&order)
|
||||||
|
//fmt.Println("orderJson:", string(orderJson))
|
||||||
|
|
||||||
begin := model.DB.Begin()
|
begin := model.DB.Begin()
|
||||||
err = model.NewOrderQuerySet(begin).IDEq(order.ID).GetUpdater().
|
err = model.NewOrderQuerySet(begin).IDEq(order.ID).GetUpdater().
|
||||||
|
@ -287,13 +289,13 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
count, err := model.NewOrderQuerySet(begin).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)
|
||||||
return
|
// return
|
||||||
}
|
//}
|
||||||
|
|
||||||
go model.OrderCardUserRentCard(uint32(order.Uid), uint32(count), nil)
|
//go model.OrderCardUserRentCard(uint32(order.Uid), uint32(count), nil)
|
||||||
} else if notify.Attach == wxpay.WxPayMember {
|
} else if notify.Attach == wxpay.WxPayMember {
|
||||||
|
|
||||||
logger.Info("开通会员 支付成功:")
|
logger.Info("开通会员 支付成功:")
|
||||||
|
@ -334,10 +336,16 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
logger.Error("GetMemberConfig err:", err)
|
logger.Error("GetMemberConfig err:", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
openMemberTime := time.Now()
|
||||||
err = model.UserUpdate(&model.User{Uid: uint32(record.Uid), MemberLevel: record.MemberLevel, MemberExpire: expireTime, Deposit: memberConfig.MemberDeposit})
|
if !user.OpenMemberTime.IsZero() {
|
||||||
|
openMemberTime = user.OpenMemberTime
|
||||||
|
}
|
||||||
|
_, err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetMemberLevel(record.MemberLevel).SetMemberExpire(expireTime).
|
||||||
|
SetDeposit(memberConfig.MemberDeposit).SetOpenMemberTime(openMemberTime).UpdateNum()
|
||||||
|
//err = model.UserUpdate(&model.User{Uid: uint32(record.Uid), MemberLevel: record.MemberLevel, MemberExpire: expireTime, Deposit: memberConfig.MemberDeposit})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var invite model.UserInvite
|
var invite model.UserInvite
|
||||||
|
@ -418,7 +426,7 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
|
|
||||||
memberConfig, err := model.GetMemberConfig(user.MemberLevel)
|
memberConfig, err := model.GetMemberConfig(user.MemberLevel)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:",err)
|
logger.Error("err:", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -429,6 +437,48 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
if num == 0 {
|
if num == 0 {
|
||||||
logger.Error("update deposit num is 0")
|
logger.Error("update deposit num is 0")
|
||||||
}
|
}
|
||||||
|
} else if notify.Attach == wxpay.WxPayUpgradeMember {
|
||||||
|
|
||||||
|
record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo}
|
||||||
|
err := record.GetByOpenNo()
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("err:", err)
|
||||||
|
}
|
||||||
|
fmt.Println("UpgradeMember:", record.Uid)
|
||||||
|
var user model.User
|
||||||
|
err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).One(&user)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("err:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
memberConfig, err := model.GetMemberConfig(record.MemberLevel)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("GetMemberConfig err:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetMemberLevel(record.MemberLevel).SetMemberExpire(record.MemberExpire).
|
||||||
|
SetDeposit(memberConfig.MemberDeposit).UpdateNum()
|
||||||
|
//err = model.UserUpdate(&model.User{Uid: uint32(record.Uid), MemberLevel: record.MemberLevel, MemberExpire: expireTime, Deposit: memberConfig.MemberDeposit})
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("err:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 添加会员时长 等级 借卡数量
|
||||||
|
var userRentCard model.UserRentCard
|
||||||
|
err = model.NewUserRentCardQuerySet(model.DB).UidEq(record.Uid).One(&userRentCard)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("err:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = model.NewUserRentCardQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetMemberLevel(record.MemberLevel).
|
||||||
|
SetLevelRentCount(memberConfig.CardMax).SetCanRentCount(memberConfig.CardMax - userRentCard.HaveRentCount).UpdateNum()
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("err:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.Debug("微信推动支付通知")
|
logger.Debug("微信推动支付通知")
|
||||||
|
|
|
@ -71,7 +71,6 @@ func RentCardOrderList(c *gin.Context) {
|
||||||
}
|
}
|
||||||
req.Uid = uc.Uid
|
req.Uid = uc.Uid
|
||||||
|
|
||||||
|
|
||||||
orderCardList, totalPage, err := req.GetOrderCardList() // TODO
|
orderCardList, totalPage, err := req.GetOrderCardList() // TODO
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
|
@ -90,9 +89,10 @@ func RentCardOrderList(c *gin.Context) {
|
||||||
|
|
||||||
func OrderInfo(c *gin.Context) {
|
func OrderInfo(c *gin.Context) {
|
||||||
req := struct {
|
req := struct {
|
||||||
OrderId uint32 `json:"order_id"`
|
//OrderId uint32 `json:"order_id"`
|
||||||
GameCardId uint64 `json:"game_card_id"` // 游戏id
|
//GameCardId uint64 `json:"game_card_id"` // 游戏id
|
||||||
GameCardGoodsId uint64 `json:"game_card_goods_id" ` // 游戏卡id
|
//GameCardGoodsId uint64 `json:"game_card_goods_id" ` // 游戏卡id
|
||||||
|
OrderCardId uint32 `json:"order_card_id"`
|
||||||
}{}
|
}{}
|
||||||
if c.ShouldBindJSON(&req) != nil {
|
if c.ShouldBindJSON(&req) != nil {
|
||||||
logger.Error("ShouldBindJSON err")
|
logger.Error("ShouldBindJSON err")
|
||||||
|
@ -100,9 +100,9 @@ func OrderInfo(c *gin.Context) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
order := model.Order{}
|
order := model.Order{}
|
||||||
order.ID = req.OrderId
|
//order.ID = req.OrderId
|
||||||
order.GameCardId = req.GameCardId
|
//order.GameCardId = req.GameCardId
|
||||||
info, err := order.Info()
|
info, err := order.Info(req.OrderCardId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
RespJson(c, status.InternalServerError, nil)
|
RespJson(c, status.InternalServerError, nil)
|
||||||
|
@ -324,7 +324,7 @@ func RentCardOrderCreate(c *gin.Context) {
|
||||||
stockEnough, err := model.IsCardGoodsStockEnough(req.GameCardList, req.StoreId)
|
stockEnough, err := model.IsCardGoodsStockEnough(req.GameCardList, req.StoreId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
RespJson(c, status.InternalServerError, nil)
|
RespJson(c, status.OrderStockOut, nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if stockEnough {
|
if stockEnough {
|
||||||
|
@ -376,7 +376,7 @@ func RentCardOrderCreate(c *gin.Context) {
|
||||||
RespJson(c, status.InternalServerError, nil)
|
RespJson(c, status.InternalServerError, nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
go model.OrderCardUserRentCard(uc.Uid, cardCount, memberConfig)
|
go model.OrderCardUserRentCard(uc.Uid, cardCount, memberConfig, nil)
|
||||||
ret := map[string]interface{}{
|
ret := map[string]interface{}{
|
||||||
"web_pay": "",
|
"web_pay": "",
|
||||||
"order_id": order.ID,
|
"order_id": order.ID,
|
||||||
|
@ -869,12 +869,6 @@ func OrderCancel(c *gin.Context) {
|
||||||
|
|
||||||
fmt.Println("order:", order)
|
fmt.Println("order:", order)
|
||||||
if isRecede {
|
if isRecede {
|
||||||
err = model.NewOrderQuerySet(model.DB).IDEq(order.ID).GetUpdater().SetCardStatus(OrderCardStatusCancel).Update()
|
|
||||||
if err != nil {
|
|
||||||
logger.Error("err:", err)
|
|
||||||
RespJson(c, status.InternalServerError, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
outTradeNo, err := model.GetWxPayExpressFeeRefundRecord(order.ID)
|
outTradeNo, err := model.GetWxPayExpressFeeRefundRecord(order.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -901,8 +895,8 @@ func OrderCancel(c *gin.Context) {
|
||||||
Currency: "CNY",
|
Currency: "CNY",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
//bytes, _ := json.Marshal(orderRefund)
|
bytes, _ := json.Marshal(order)
|
||||||
//fmt.Println("订单取消:", string(bytes))
|
fmt.Println("订单取消:", string(bytes))
|
||||||
//err = wxpay.WxPayOrderRefund(orderRefund)
|
//err = wxpay.WxPayOrderRefund(orderRefund)
|
||||||
err = wxpay.TransactionOrderRefund(orderRefund)
|
err = wxpay.TransactionOrderRefund(orderRefund)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -298,32 +298,73 @@ func UpgradeMember(c *gin.Context) {
|
||||||
RespJson(c, status.InternalServerError, nil)
|
RespJson(c, status.InternalServerError, nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
//configInfo, err := model.PayConfigInfo()
|
|
||||||
//if err != nil {
|
originalMemberConfig, err := model.GetMemberConfig(user.MemberLevel)
|
||||||
// logger.Error("err:", err)
|
|
||||||
// RespJson(c, status.InternalServerError, nil)
|
|
||||||
// return
|
|
||||||
//}
|
|
||||||
memberConfig, err := model.GetMemberConfig(req.MemberLevel)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
RespJson(c, status.InternalServerError, nil)
|
RespJson(c, status.InternalServerError, nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//totalFee := uint32(MemberFee + DepositFee)
|
memberConfig, err := model.GetMemberConfig(req.MemberLevel)
|
||||||
////totalFee = uint32(3) // TODO 测试
|
if err != nil {
|
||||||
//if user.Deposit == 300 {
|
logger.Error("err:", err)
|
||||||
// totalFee = MemberFee
|
RespJson(c, status.InternalServerError, nil)
|
||||||
// // //totalFee = uint32(1) // TODO 测试
|
return
|
||||||
//}
|
|
||||||
|
|
||||||
fmt.Println("configInfo.MemberFee : configInfo.DepositFee", memberConfig.MemberFee, memberConfig.MemberDeposit)
|
|
||||||
|
|
||||||
totalFee := memberConfig.MemberFee + memberConfig.MemberDeposit
|
|
||||||
if user.Deposit == memberConfig.MemberDeposit {
|
|
||||||
totalFee = memberConfig.MemberFee
|
|
||||||
}
|
}
|
||||||
|
raiseTime, err := time.Parse("2006-01-02 15:04:05", "2022-01-01 00:00:00")
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("err:", err)
|
||||||
|
RespJson(c, status.InternalServerError, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
memberFee := originalMemberConfig.MemberFee
|
||||||
|
if user.OpenMemberTime.Before(raiseTime) {
|
||||||
|
memberFee = 29900
|
||||||
|
}
|
||||||
|
|
||||||
|
// 补押金
|
||||||
|
depositMendFee := int64(memberConfig.MemberDeposit) - int64(user.Deposit)
|
||||||
|
|
||||||
|
count, err := model.NewUserRedeemCodeQuerySet(model.DB).UidEq(uc.Uid).StatusEq(model.RedeemCodeStatusUsed).Count()
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("err:", err)
|
||||||
|
RespJson(c, status.InternalServerError, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
fmt.Println("count:", count)
|
||||||
|
// 抵扣天数
|
||||||
|
deductionDays := int64(0)
|
||||||
|
deductionTime := user.MemberExpire.Unix() - int64(count*30*24*3600) - time.Now().Unix() + 12*3600
|
||||||
|
if deductionTime < 0 {
|
||||||
|
deductionTime = 0
|
||||||
|
}
|
||||||
|
if deductionTime > 0 {
|
||||||
|
deductionDays = deductionTime / int64(24*3600)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 抵扣金
|
||||||
|
deductionFee := (((int64(memberFee) * deductionDays) / 365) / 100) * 100
|
||||||
|
|
||||||
|
// 补会员费
|
||||||
|
memberMendFee := int64(memberConfig.MemberFee) - deductionFee
|
||||||
|
|
||||||
|
totalFee := int64(depositMendFee) + memberMendFee
|
||||||
|
//if memberMendFee < 0 {
|
||||||
|
// depositMendFee = depositMendFee + memberMendFee
|
||||||
|
//}
|
||||||
|
fmt.Println("depositMendFee : memberMendFee", depositMendFee, memberMendFee)
|
||||||
|
|
||||||
|
if totalFee == 0 {
|
||||||
|
logger.Error(errors.New("totalFee is 0"))
|
||||||
|
RespJson(c, status.InternalServerError, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//totalFee := memberConfig.MemberFee + memberConfig.MemberDeposit
|
||||||
|
//if user.Deposit == memberConfig.MemberDeposit {
|
||||||
|
// totalFee = memberConfig.MemberFee
|
||||||
|
//}
|
||||||
if totalFee == 0 {
|
if totalFee == 0 {
|
||||||
logger.Error(errors.New("totalFee is 0"))
|
logger.Error(errors.New("totalFee is 0"))
|
||||||
RespJson(c, status.InternalServerError, nil)
|
RespJson(c, status.InternalServerError, nil)
|
||||||
|
@ -336,15 +377,17 @@ func UpgradeMember(c *gin.Context) {
|
||||||
// return
|
// return
|
||||||
//}
|
//}
|
||||||
//orderSn := utils.GetSerialNo32HEXString()
|
//orderSn := utils.GetSerialNo32HEXString()
|
||||||
|
memberExpire := time.Now().AddDate(1, 0, count*30)
|
||||||
orderSn := model.GetOrderSn()
|
orderSn := model.GetOrderSn()
|
||||||
err = model.UserOpenMemberRecord{Uid: uc.Uid, OpenNo: orderSn, MemberLevel: req.MemberLevel}.Insert()
|
err = model.UserOpenMemberRecord{Uid: uc.Uid, OpenNo: orderSn,
|
||||||
|
MemberLevel: req.MemberLevel, OrderType: 3, MemberExpire: memberExpire}.Insert()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(errors.New("WebPay err"))
|
logger.Error(errors.New("WebPay err"))
|
||||||
RespJson(c, status.InternalServerError, nil)
|
RespJson(c, status.InternalServerError, nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
webPay, err := wxpay.WebPay(orderSn, totalFee, user.WxOpenID, "N", wxpay.WxPayMember)
|
webPay, err := wxpay.WebPay(orderSn, uint32(totalFee), user.WxOpenID, "N", wxpay.WxPayUpgradeMember)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(errors.New("WebPay err"))
|
logger.Error(errors.New("WebPay err"))
|
||||||
RespJson(c, status.InternalServerError, nil)
|
RespJson(c, status.InternalServerError, nil)
|
||||||
|
@ -354,6 +397,105 @@ func UpgradeMember(c *gin.Context) {
|
||||||
RespOK(c, webPay)
|
RespOK(c, webPay)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func UpgradeMemberInfo(c *gin.Context) {
|
||||||
|
req := struct {
|
||||||
|
MemberLevel uint32 `json:"member_level"` // 昵称
|
||||||
|
}{}
|
||||||
|
if c.ShouldBindJSON(&req) != nil {
|
||||||
|
logger.Error("parameter err")
|
||||||
|
RespJson(c, status.BadRequest, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
uc := auth.GetCurrentUser(c)
|
||||||
|
if uc == nil {
|
||||||
|
RespJson(c, status.Unauthorized, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
user := model.GetUserByUid(uc.Uid)
|
||||||
|
if user.MemberLevel != 2 && user.MemberLevel != 4 {
|
||||||
|
logger.Error("MemberLevel err:")
|
||||||
|
RespJson(c, status.InternalServerError, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//configInfo, err := model.PayConfigInfo()
|
||||||
|
//if err != nil {
|
||||||
|
// logger.Error("err:", err)
|
||||||
|
// RespJson(c, status.InternalServerError, nil)
|
||||||
|
// return
|
||||||
|
//}
|
||||||
|
originalMemberConfig, err := model.GetMemberConfig(user.MemberLevel)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("err:", err)
|
||||||
|
RespJson(c, status.InternalServerError, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
memberConfig, err := model.GetMemberConfig(req.MemberLevel)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("err:", err)
|
||||||
|
RespJson(c, status.InternalServerError, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
raiseTime, err := time.Parse("2006-01-02 15:04:05", "2022-01-01 00:00:00")
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("err:", err)
|
||||||
|
RespJson(c, status.InternalServerError, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
memberFee := originalMemberConfig.MemberFee
|
||||||
|
if user.OpenMemberTime.Before(raiseTime) {
|
||||||
|
memberFee = 29900
|
||||||
|
}
|
||||||
|
|
||||||
|
// 补押金
|
||||||
|
depositMendFee := int64(memberConfig.MemberDeposit) - int64(user.Deposit)
|
||||||
|
|
||||||
|
count, err := model.NewUserRedeemCodeQuerySet(model.DB).UidEq(uc.Uid).StatusEq(model.RedeemCodeStatusUsed).Count()
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("err:", err)
|
||||||
|
RespJson(c, status.InternalServerError, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
fmt.Println("count:", count)
|
||||||
|
// 抵扣天数
|
||||||
|
deductionDays := int64(0)
|
||||||
|
deductionTime := user.MemberExpire.Unix() - int64(count*30*24*3600) - time.Now().Unix() + 12*3600
|
||||||
|
if deductionTime < 0 {
|
||||||
|
deductionTime = 0
|
||||||
|
}
|
||||||
|
if deductionTime > 0 {
|
||||||
|
deductionDays = deductionTime / int64(24*3600)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 抵扣金
|
||||||
|
deductionFee := (((int64(memberFee) * deductionDays) / 365) / 100) * 100
|
||||||
|
|
||||||
|
// 补会员费
|
||||||
|
memberMendFee := int64(memberConfig.MemberFee) - deductionFee
|
||||||
|
|
||||||
|
totalFee := int64(depositMendFee) + memberMendFee
|
||||||
|
//if memberMendFee < 0 {
|
||||||
|
// depositMendFee = depositMendFee + memberMendFee
|
||||||
|
//}
|
||||||
|
fmt.Println("depositMendFee : memberMendFee", depositMendFee, memberMendFee)
|
||||||
|
|
||||||
|
if totalFee == 0 {
|
||||||
|
logger.Error(errors.New("totalFee is 0"))
|
||||||
|
RespJson(c, status.InternalServerError, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
RespOK(c, map[string]interface{}{
|
||||||
|
"deduction_fee": deductionFee, // 会员抵扣费
|
||||||
|
"deduction_days": deductionDays, // 会员抵扣天数
|
||||||
|
"member_mend_fee": memberMendFee, // 会员补费
|
||||||
|
"deposit_mend_fee": depositMendFee, // 补押金
|
||||||
|
"total_fee": totalFee, // 总费用
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
func PayDeposit(c *gin.Context) {
|
func PayDeposit(c *gin.Context) {
|
||||||
uc := auth.GetCurrentUser(c)
|
uc := auth.GetCurrentUser(c)
|
||||||
if uc == nil {
|
if uc == nil {
|
||||||
|
|
|
@ -37,6 +37,7 @@ const (
|
||||||
WxPayMember = "member_pay" // 会员
|
WxPayMember = "member_pay" // 会员
|
||||||
WxPayRentCard = "rent_card_pay" // 租卡
|
WxPayRentCard = "rent_card_pay" // 租卡
|
||||||
WxPayDeposit = "deposit_pay" // 押金
|
WxPayDeposit = "deposit_pay" // 押金
|
||||||
|
WxPayUpgradeMember = "upgrade_member" // 押金
|
||||||
|
|
||||||
//NotifyUrl = "https://switch.deovo.com:8001/api/v1/wxpay/notice" // TODO 数据库配置 生产
|
//NotifyUrl = "https://switch.deovo.com:8001/api/v1/wxpay/notice" // TODO 数据库配置 生产
|
||||||
//NotifyUrl = "https://dev.switch.deovo.com:8004/api/v1/wxpay/notice" // TODO 测试
|
//NotifyUrl = "https://dev.switch.deovo.com:8004/api/v1/wxpay/notice" // TODO 测试
|
||||||
|
|
|
@ -3439,6 +3439,42 @@ func (qs UserOpenMemberRecordQuerySet) Limit(limit int) UserOpenMemberRecordQuer
|
||||||
return qs.w(qs.db.Limit(limit))
|
return qs.w(qs.db.Limit(limit))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MemberExpireEq is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserOpenMemberRecordQuerySet) MemberExpireEq(memberExpire time.Time) UserOpenMemberRecordQuerySet {
|
||||||
|
return qs.w(qs.db.Where("member_expire = ?", memberExpire))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MemberExpireGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserOpenMemberRecordQuerySet) MemberExpireGt(memberExpire time.Time) UserOpenMemberRecordQuerySet {
|
||||||
|
return qs.w(qs.db.Where("member_expire > ?", memberExpire))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MemberExpireGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserOpenMemberRecordQuerySet) MemberExpireGte(memberExpire time.Time) UserOpenMemberRecordQuerySet {
|
||||||
|
return qs.w(qs.db.Where("member_expire >= ?", memberExpire))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MemberExpireLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserOpenMemberRecordQuerySet) MemberExpireLt(memberExpire time.Time) UserOpenMemberRecordQuerySet {
|
||||||
|
return qs.w(qs.db.Where("member_expire < ?", memberExpire))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MemberExpireLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserOpenMemberRecordQuerySet) MemberExpireLte(memberExpire time.Time) UserOpenMemberRecordQuerySet {
|
||||||
|
return qs.w(qs.db.Where("member_expire <= ?", memberExpire))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MemberExpireNe is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserOpenMemberRecordQuerySet) MemberExpireNe(memberExpire time.Time) UserOpenMemberRecordQuerySet {
|
||||||
|
return qs.w(qs.db.Where("member_expire != ?", memberExpire))
|
||||||
|
}
|
||||||
|
|
||||||
// MemberLevelEq is an autogenerated method
|
// MemberLevelEq is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserOpenMemberRecordQuerySet) MemberLevelEq(memberLevel uint32) UserOpenMemberRecordQuerySet {
|
func (qs UserOpenMemberRecordQuerySet) MemberLevelEq(memberLevel uint32) UserOpenMemberRecordQuerySet {
|
||||||
|
@ -3557,6 +3593,12 @@ func (qs UserOpenMemberRecordQuerySet) OrderAscByID() UserOpenMemberRecordQueryS
|
||||||
return qs.w(qs.db.Order("id ASC"))
|
return qs.w(qs.db.Order("id ASC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderAscByMemberExpire is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserOpenMemberRecordQuerySet) OrderAscByMemberExpire() UserOpenMemberRecordQuerySet {
|
||||||
|
return qs.w(qs.db.Order("member_expire ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderAscByMemberLevel is an autogenerated method
|
// OrderAscByMemberLevel is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserOpenMemberRecordQuerySet) OrderAscByMemberLevel() UserOpenMemberRecordQuerySet {
|
func (qs UserOpenMemberRecordQuerySet) OrderAscByMemberLevel() UserOpenMemberRecordQuerySet {
|
||||||
|
@ -3605,6 +3647,12 @@ func (qs UserOpenMemberRecordQuerySet) OrderDescByID() UserOpenMemberRecordQuery
|
||||||
return qs.w(qs.db.Order("id DESC"))
|
return qs.w(qs.db.Order("id DESC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderDescByMemberExpire is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserOpenMemberRecordQuerySet) OrderDescByMemberExpire() UserOpenMemberRecordQuerySet {
|
||||||
|
return qs.w(qs.db.Order("member_expire DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderDescByMemberLevel is an autogenerated method
|
// OrderDescByMemberLevel is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserOpenMemberRecordQuerySet) OrderDescByMemberLevel() UserOpenMemberRecordQuerySet {
|
func (qs UserOpenMemberRecordQuerySet) OrderDescByMemberLevel() UserOpenMemberRecordQuerySet {
|
||||||
|
@ -3860,6 +3908,13 @@ func (u UserOpenMemberRecordUpdater) SetID(ID uint32) UserOpenMemberRecordUpdate
|
||||||
return u
|
return u
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetMemberExpire is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (u UserOpenMemberRecordUpdater) SetMemberExpire(memberExpire time.Time) UserOpenMemberRecordUpdater {
|
||||||
|
u.fields[string(UserOpenMemberRecordDBSchema.MemberExpire)] = memberExpire
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
|
||||||
// SetMemberLevel is an autogenerated method
|
// SetMemberLevel is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (u UserOpenMemberRecordUpdater) SetMemberLevel(memberLevel uint32) UserOpenMemberRecordUpdater {
|
func (u UserOpenMemberRecordUpdater) SetMemberLevel(memberLevel uint32) UserOpenMemberRecordUpdater {
|
||||||
|
@ -3930,41 +3985,44 @@ func (f UserOpenMemberRecordDBSchemaField) String() string {
|
||||||
|
|
||||||
// UserOpenMemberRecordDBSchema stores db field names of UserOpenMemberRecord
|
// UserOpenMemberRecordDBSchema stores db field names of UserOpenMemberRecord
|
||||||
var UserOpenMemberRecordDBSchema = struct {
|
var UserOpenMemberRecordDBSchema = struct {
|
||||||
ID UserOpenMemberRecordDBSchemaField
|
ID UserOpenMemberRecordDBSchemaField
|
||||||
CreatedAt UserOpenMemberRecordDBSchemaField
|
CreatedAt UserOpenMemberRecordDBSchemaField
|
||||||
UpdatedAt UserOpenMemberRecordDBSchemaField
|
UpdatedAt UserOpenMemberRecordDBSchemaField
|
||||||
DeletedAt UserOpenMemberRecordDBSchemaField
|
DeletedAt UserOpenMemberRecordDBSchemaField
|
||||||
Uid UserOpenMemberRecordDBSchemaField
|
Uid UserOpenMemberRecordDBSchemaField
|
||||||
OpenNo UserOpenMemberRecordDBSchemaField
|
OpenNo UserOpenMemberRecordDBSchemaField
|
||||||
OrderId UserOpenMemberRecordDBSchemaField
|
OrderId UserOpenMemberRecordDBSchemaField
|
||||||
OrderType UserOpenMemberRecordDBSchemaField
|
OrderType UserOpenMemberRecordDBSchemaField
|
||||||
MemberLevel UserOpenMemberRecordDBSchemaField
|
MemberLevel UserOpenMemberRecordDBSchemaField
|
||||||
|
MemberExpire UserOpenMemberRecordDBSchemaField
|
||||||
}{
|
}{
|
||||||
|
|
||||||
ID: UserOpenMemberRecordDBSchemaField("id"),
|
ID: UserOpenMemberRecordDBSchemaField("id"),
|
||||||
CreatedAt: UserOpenMemberRecordDBSchemaField("created_at"),
|
CreatedAt: UserOpenMemberRecordDBSchemaField("created_at"),
|
||||||
UpdatedAt: UserOpenMemberRecordDBSchemaField("updated_at"),
|
UpdatedAt: UserOpenMemberRecordDBSchemaField("updated_at"),
|
||||||
DeletedAt: UserOpenMemberRecordDBSchemaField("deleted_at"),
|
DeletedAt: UserOpenMemberRecordDBSchemaField("deleted_at"),
|
||||||
Uid: UserOpenMemberRecordDBSchemaField("uid"),
|
Uid: UserOpenMemberRecordDBSchemaField("uid"),
|
||||||
OpenNo: UserOpenMemberRecordDBSchemaField("open_no"),
|
OpenNo: UserOpenMemberRecordDBSchemaField("open_no"),
|
||||||
OrderId: UserOpenMemberRecordDBSchemaField("order_id"),
|
OrderId: UserOpenMemberRecordDBSchemaField("order_id"),
|
||||||
OrderType: UserOpenMemberRecordDBSchemaField("order_type"),
|
OrderType: UserOpenMemberRecordDBSchemaField("order_type"),
|
||||||
MemberLevel: UserOpenMemberRecordDBSchemaField("member_level"),
|
MemberLevel: UserOpenMemberRecordDBSchemaField("member_level"),
|
||||||
|
MemberExpire: UserOpenMemberRecordDBSchemaField("member_expire"),
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update updates UserOpenMemberRecord fields by primary key
|
// Update updates UserOpenMemberRecord fields by primary key
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (o *UserOpenMemberRecord) Update(db *gorm.DB, fields ...UserOpenMemberRecordDBSchemaField) error {
|
func (o *UserOpenMemberRecord) Update(db *gorm.DB, fields ...UserOpenMemberRecordDBSchemaField) error {
|
||||||
dbNameToFieldName := map[string]interface{}{
|
dbNameToFieldName := map[string]interface{}{
|
||||||
"id": o.ID,
|
"id": o.ID,
|
||||||
"created_at": o.CreatedAt,
|
"created_at": o.CreatedAt,
|
||||||
"updated_at": o.UpdatedAt,
|
"updated_at": o.UpdatedAt,
|
||||||
"deleted_at": o.DeletedAt,
|
"deleted_at": o.DeletedAt,
|
||||||
"uid": o.Uid,
|
"uid": o.Uid,
|
||||||
"open_no": o.OpenNo,
|
"open_no": o.OpenNo,
|
||||||
"order_id": o.OrderId,
|
"order_id": o.OrderId,
|
||||||
"order_type": o.OrderType,
|
"order_type": o.OrderType,
|
||||||
"member_level": o.MemberLevel,
|
"member_level": o.MemberLevel,
|
||||||
|
"member_expire": o.MemberExpire,
|
||||||
}
|
}
|
||||||
u := map[string]interface{}{}
|
u := map[string]interface{}{}
|
||||||
for _, f := range fields {
|
for _, f := range fields {
|
||||||
|
@ -4722,6 +4780,42 @@ func (qs UserQuerySet) One(ret *User) error {
|
||||||
return qs.db.First(ret).Error
|
return qs.db.First(ret).Error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OpenMemberTimeEq is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberTimeEq(openMemberTime time.Time) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("open_member_time = ?", openMemberTime))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OpenMemberTimeGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberTimeGt(openMemberTime time.Time) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("open_member_time > ?", openMemberTime))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OpenMemberTimeGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberTimeGte(openMemberTime time.Time) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("open_member_time >= ?", openMemberTime))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OpenMemberTimeLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberTimeLt(openMemberTime time.Time) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("open_member_time < ?", openMemberTime))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OpenMemberTimeLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberTimeLte(openMemberTime time.Time) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("open_member_time <= ?", openMemberTime))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OpenMemberTimeNe is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberTimeNe(openMemberTime time.Time) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("open_member_time != ?", openMemberTime))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderAscByBond is an autogenerated method
|
// OrderAscByBond is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserQuerySet) OrderAscByBond() UserQuerySet {
|
func (qs UserQuerySet) OrderAscByBond() UserQuerySet {
|
||||||
|
@ -4776,6 +4870,12 @@ func (qs UserQuerySet) OrderAscByMemberLevel() UserQuerySet {
|
||||||
return qs.w(qs.db.Order("member_level ASC"))
|
return qs.w(qs.db.Order("member_level ASC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderAscByOpenMemberTime is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OrderAscByOpenMemberTime() UserQuerySet {
|
||||||
|
return qs.w(qs.db.Order("open_member_time ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderAscByStoreId is an autogenerated method
|
// OrderAscByStoreId is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserQuerySet) OrderAscByStoreId() UserQuerySet {
|
func (qs UserQuerySet) OrderAscByStoreId() UserQuerySet {
|
||||||
|
@ -4866,6 +4966,12 @@ func (qs UserQuerySet) OrderDescByMemberLevel() UserQuerySet {
|
||||||
return qs.w(qs.db.Order("member_level DESC"))
|
return qs.w(qs.db.Order("member_level DESC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderDescByOpenMemberTime is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OrderDescByOpenMemberTime() UserQuerySet {
|
||||||
|
return qs.w(qs.db.Order("open_member_time DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderDescByStoreId is an autogenerated method
|
// OrderDescByStoreId is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserQuerySet) OrderDescByStoreId() UserQuerySet {
|
func (qs UserQuerySet) OrderDescByStoreId() UserQuerySet {
|
||||||
|
@ -5515,6 +5621,13 @@ func (u UserUpdater) SetMemberLevel(memberLevel uint32) UserUpdater {
|
||||||
return u
|
return u
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetOpenMemberTime is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (u UserUpdater) SetOpenMemberTime(openMemberTime time.Time) UserUpdater {
|
||||||
|
u.fields[string(UserDBSchema.OpenMemberTime)] = openMemberTime
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
|
||||||
// SetProvince is an autogenerated method
|
// SetProvince is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (u UserUpdater) SetProvince(province string) UserUpdater {
|
func (u UserUpdater) SetProvince(province string) UserUpdater {
|
||||||
|
@ -5627,95 +5740,98 @@ func (f UserDBSchemaField) String() string {
|
||||||
|
|
||||||
// UserDBSchema stores db field names of User
|
// UserDBSchema stores db field names of User
|
||||||
var UserDBSchema = struct {
|
var UserDBSchema = struct {
|
||||||
ID UserDBSchemaField
|
ID UserDBSchemaField
|
||||||
CreatedAt UserDBSchemaField
|
CreatedAt UserDBSchemaField
|
||||||
UpdatedAt UserDBSchemaField
|
UpdatedAt UserDBSchemaField
|
||||||
DeletedAt UserDBSchemaField
|
DeletedAt UserDBSchemaField
|
||||||
Uid UserDBSchemaField
|
Uid UserDBSchemaField
|
||||||
MemberLevel UserDBSchemaField
|
MemberLevel UserDBSchemaField
|
||||||
MemberExpire UserDBSchemaField
|
MemberExpire UserDBSchemaField
|
||||||
Bond UserDBSchemaField
|
OpenMemberTime UserDBSchemaField
|
||||||
WxName UserDBSchemaField
|
Bond UserDBSchemaField
|
||||||
WxAvatar UserDBSchemaField
|
WxName UserDBSchemaField
|
||||||
WxOpenID UserDBSchemaField
|
WxAvatar UserDBSchemaField
|
||||||
AppOpenID UserDBSchemaField
|
WxOpenID UserDBSchemaField
|
||||||
WxUnionID UserDBSchemaField
|
AppOpenID UserDBSchemaField
|
||||||
Tel UserDBSchemaField
|
WxUnionID UserDBSchemaField
|
||||||
Gender UserDBSchemaField
|
Tel UserDBSchemaField
|
||||||
City UserDBSchemaField
|
Gender UserDBSchemaField
|
||||||
Province UserDBSchemaField
|
City UserDBSchemaField
|
||||||
Country UserDBSchemaField
|
Province UserDBSchemaField
|
||||||
Deposit UserDBSchemaField
|
Country UserDBSchemaField
|
||||||
UserType UserDBSchemaField
|
Deposit UserDBSchemaField
|
||||||
StoreId UserDBSchemaField
|
UserType UserDBSchemaField
|
||||||
InviteCodeUrl UserDBSchemaField
|
StoreId UserDBSchemaField
|
||||||
LastLoginAt UserDBSchemaField
|
InviteCodeUrl UserDBSchemaField
|
||||||
IP UserDBSchemaField
|
LastLoginAt UserDBSchemaField
|
||||||
InBlack UserDBSchemaField
|
IP UserDBSchemaField
|
||||||
StoreType UserDBSchemaField
|
InBlack UserDBSchemaField
|
||||||
Version UserDBSchemaField
|
StoreType UserDBSchemaField
|
||||||
|
Version UserDBSchemaField
|
||||||
}{
|
}{
|
||||||
|
|
||||||
ID: UserDBSchemaField("id"),
|
ID: UserDBSchemaField("id"),
|
||||||
CreatedAt: UserDBSchemaField("created_at"),
|
CreatedAt: UserDBSchemaField("created_at"),
|
||||||
UpdatedAt: UserDBSchemaField("updated_at"),
|
UpdatedAt: UserDBSchemaField("updated_at"),
|
||||||
DeletedAt: UserDBSchemaField("deleted_at"),
|
DeletedAt: UserDBSchemaField("deleted_at"),
|
||||||
Uid: UserDBSchemaField("uid"),
|
Uid: UserDBSchemaField("uid"),
|
||||||
MemberLevel: UserDBSchemaField("member_level"),
|
MemberLevel: UserDBSchemaField("member_level"),
|
||||||
MemberExpire: UserDBSchemaField("member_expire"),
|
MemberExpire: UserDBSchemaField("member_expire"),
|
||||||
Bond: UserDBSchemaField("bond"),
|
OpenMemberTime: UserDBSchemaField("open_member_time"),
|
||||||
WxName: UserDBSchemaField("wx_name"),
|
Bond: UserDBSchemaField("bond"),
|
||||||
WxAvatar: UserDBSchemaField("wx_avatar"),
|
WxName: UserDBSchemaField("wx_name"),
|
||||||
WxOpenID: UserDBSchemaField("wx_open_id"),
|
WxAvatar: UserDBSchemaField("wx_avatar"),
|
||||||
AppOpenID: UserDBSchemaField("app_open_id"),
|
WxOpenID: UserDBSchemaField("wx_open_id"),
|
||||||
WxUnionID: UserDBSchemaField("wx_union_id"),
|
AppOpenID: UserDBSchemaField("app_open_id"),
|
||||||
Tel: UserDBSchemaField("tel"),
|
WxUnionID: UserDBSchemaField("wx_union_id"),
|
||||||
Gender: UserDBSchemaField("gender"),
|
Tel: UserDBSchemaField("tel"),
|
||||||
City: UserDBSchemaField("city"),
|
Gender: UserDBSchemaField("gender"),
|
||||||
Province: UserDBSchemaField("province"),
|
City: UserDBSchemaField("city"),
|
||||||
Country: UserDBSchemaField("country"),
|
Province: UserDBSchemaField("province"),
|
||||||
Deposit: UserDBSchemaField("deposit"),
|
Country: UserDBSchemaField("country"),
|
||||||
UserType: UserDBSchemaField("user_type"),
|
Deposit: UserDBSchemaField("deposit"),
|
||||||
StoreId: UserDBSchemaField("store_id"),
|
UserType: UserDBSchemaField("user_type"),
|
||||||
InviteCodeUrl: UserDBSchemaField("invite_code_url"),
|
StoreId: UserDBSchemaField("store_id"),
|
||||||
LastLoginAt: UserDBSchemaField("last_login_at"),
|
InviteCodeUrl: UserDBSchemaField("invite_code_url"),
|
||||||
IP: UserDBSchemaField("ip"),
|
LastLoginAt: UserDBSchemaField("last_login_at"),
|
||||||
InBlack: UserDBSchemaField("in_black"),
|
IP: UserDBSchemaField("ip"),
|
||||||
StoreType: UserDBSchemaField("store_type"),
|
InBlack: UserDBSchemaField("in_black"),
|
||||||
Version: UserDBSchemaField("version"),
|
StoreType: UserDBSchemaField("store_type"),
|
||||||
|
Version: UserDBSchemaField("version"),
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update updates User fields by primary key
|
// Update updates User fields by primary key
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (o *User) Update(db *gorm.DB, fields ...UserDBSchemaField) error {
|
func (o *User) Update(db *gorm.DB, fields ...UserDBSchemaField) error {
|
||||||
dbNameToFieldName := map[string]interface{}{
|
dbNameToFieldName := map[string]interface{}{
|
||||||
"id": o.ID,
|
"id": o.ID,
|
||||||
"created_at": o.CreatedAt,
|
"created_at": o.CreatedAt,
|
||||||
"updated_at": o.UpdatedAt,
|
"updated_at": o.UpdatedAt,
|
||||||
"deleted_at": o.DeletedAt,
|
"deleted_at": o.DeletedAt,
|
||||||
"uid": o.Uid,
|
"uid": o.Uid,
|
||||||
"member_level": o.MemberLevel,
|
"member_level": o.MemberLevel,
|
||||||
"member_expire": o.MemberExpire,
|
"member_expire": o.MemberExpire,
|
||||||
"bond": o.Bond,
|
"open_member_time": o.OpenMemberTime,
|
||||||
"wx_name": o.WxName,
|
"bond": o.Bond,
|
||||||
"wx_avatar": o.WxAvatar,
|
"wx_name": o.WxName,
|
||||||
"wx_open_id": o.WxOpenID,
|
"wx_avatar": o.WxAvatar,
|
||||||
"app_open_id": o.AppOpenID,
|
"wx_open_id": o.WxOpenID,
|
||||||
"wx_union_id": o.WxUnionID,
|
"app_open_id": o.AppOpenID,
|
||||||
"tel": o.Tel,
|
"wx_union_id": o.WxUnionID,
|
||||||
"gender": o.Gender,
|
"tel": o.Tel,
|
||||||
"city": o.City,
|
"gender": o.Gender,
|
||||||
"province": o.Province,
|
"city": o.City,
|
||||||
"country": o.Country,
|
"province": o.Province,
|
||||||
"deposit": o.Deposit,
|
"country": o.Country,
|
||||||
"user_type": o.UserType,
|
"deposit": o.Deposit,
|
||||||
"store_id": o.StoreId,
|
"user_type": o.UserType,
|
||||||
"invite_code_url": o.InviteCodeUrl,
|
"store_id": o.StoreId,
|
||||||
"last_login_at": o.LastLoginAt,
|
"invite_code_url": o.InviteCodeUrl,
|
||||||
"ip": o.IP,
|
"last_login_at": o.LastLoginAt,
|
||||||
"in_black": o.InBlack,
|
"ip": o.IP,
|
||||||
"store_type": o.StoreType,
|
"in_black": o.InBlack,
|
||||||
"version": o.Version,
|
"store_type": o.StoreType,
|
||||||
|
"version": o.Version,
|
||||||
}
|
}
|
||||||
u := map[string]interface{}{}
|
u := map[string]interface{}{}
|
||||||
for _, f := range fields {
|
for _, f := range fields {
|
||||||
|
|
|
@ -71,7 +71,7 @@ type OrderCard struct {
|
||||||
GameCardId uint32 `json:"game_card_id" gorm:"index"` // 游戏id
|
GameCardId uint32 `json:"game_card_id" gorm:"index"` // 游戏id
|
||||||
GameCardGoodsId uint32 `json:"game_card_goods_id" gorm:"index"` // 游戏卡id
|
GameCardGoodsId uint32 `json:"game_card_goods_id" gorm:"index"` // 游戏卡id
|
||||||
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||||
CardStatus uint32 `json:"card_status"` // 1-待取货中 2-游玩中 3-归还中 4-已完成 5-已取消
|
CardStatus uint32 `json:"card_status"` // 1-待取货中 2-游玩中 3-归还中 4-已完成 5-已取消
|
||||||
DeliveryTime time.Time `json:"delivery_time"` // 发货时间
|
DeliveryTime time.Time `json:"delivery_time"` // 发货时间
|
||||||
ReceiptTime time.Time `json:"receipt_time"` // 收货时间
|
ReceiptTime time.Time `json:"receipt_time"` // 收货时间
|
||||||
DeliveryType uint8 `json:"delivery_type"` // 取货类型 1-门店自取 2-快递
|
DeliveryType uint8 `json:"delivery_type"` // 取货类型 1-门店自取 2-快递
|
||||||
|
@ -233,13 +233,12 @@ func (m *OrderListReq) GetOrderCardList() ([]OrderCard, uint32, error) {
|
||||||
}
|
}
|
||||||
totalPage = uint32(count/m.PageSize + 1)
|
totalPage = uint32(count/m.PageSize + 1)
|
||||||
|
|
||||||
|
|
||||||
orderCards = OrderCardListSetGameInfo(orderCards)
|
orderCards = OrderCardListSetGameInfo(orderCards)
|
||||||
|
|
||||||
return orderCards, totalPage, nil
|
return orderCards, totalPage, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Order) Info() ([]OrderCard, error) {
|
func (m *Order) Info(orderCardId uint32) ([]OrderCard, error) {
|
||||||
|
|
||||||
//err := NewOrderQuerySet(DB).IDEq(m.ID).One(&order)
|
//err := NewOrderQuerySet(DB).IDEq(m.ID).One(&order)
|
||||||
//if err != nil {
|
//if err != nil {
|
||||||
|
@ -253,10 +252,11 @@ func (m *Order) Info() ([]OrderCard, error) {
|
||||||
// return nil, err
|
// return nil, err
|
||||||
//}
|
//}
|
||||||
|
|
||||||
qs := NewOrderCardQuerySet(DB).OrderIdEq(m.ID).GameCardIdEq(uint32(m.GameCardId))
|
qs := NewOrderCardQuerySet(DB).IDEq(orderCardId)
|
||||||
if m.GameCardGoodsId != 0 {
|
//qs := NewOrderCardQuerySet(DB).OrderIdEq(m.ID).GameCardIdEq(uint32(m.GameCardId))
|
||||||
qs = qs.GameCardGoodsIdEq(uint32(m.GameCardGoodsId))
|
//if m.GameCardGoodsId != 0 {
|
||||||
}
|
// qs = qs.GameCardGoodsIdEq(uint32(m.GameCardGoodsId))
|
||||||
|
//}
|
||||||
var orderCards []OrderCard
|
var orderCards []OrderCard
|
||||||
err := qs.All(&orderCards)
|
err := qs.All(&orderCards)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -285,8 +285,8 @@ func (m *Order) Revert() error {
|
||||||
// logger.Error("order card status completed")
|
// logger.Error("order card status completed")
|
||||||
// return errors.New("order card status completed")
|
// return errors.New("order card status completed")
|
||||||
//}
|
//}
|
||||||
fmt.Println("GameCardGoodsId------:",m.GameCardGoodsId)
|
fmt.Println("GameCardGoodsId------:", m.GameCardGoodsId)
|
||||||
fmt.Println("ID------:",m.ID)
|
fmt.Println("ID------:", m.ID)
|
||||||
err := NewOrderCardQuerySet(DB).OrderIdEq(m.ID).GameCardGoodsIdEq(uint32(m.GameCardGoodsId)).One(&orderCard)
|
err := NewOrderCardQuerySet(DB).OrderIdEq(m.ID).GameCardGoodsIdEq(uint32(m.GameCardGoodsId)).One(&orderCard)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("err:%#v", err)
|
logger.Errorf("err:%#v", err)
|
||||||
|
@ -467,7 +467,7 @@ func (m *UserRentCard) IsHaveUnreturnedOrders(RentCount uint32) (bool, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func IsHaveOnDeliverOrderCards(orderId uint32) (bool, error) {
|
func IsHaveOnDeliverOrderCards(orderId uint32) (bool, error) {
|
||||||
count, err := NewOrderCardQuerySet(DB).OrderIdEq(orderId).CardStatusEq(1).Count()
|
count, err := NewOrderCardQuerySet(DB).OrderIdEq(orderId).CardStatusEq(OrderCardStatusUnPick).Count()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
return false, err
|
return false, err
|
||||||
|
@ -540,6 +540,8 @@ func (m *Order) Cancel() (bool, error) {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
orderJson, _ := json.Marshal(m)
|
||||||
|
fmt.Println("orderJson:", string(orderJson))
|
||||||
|
|
||||||
//err = NewOrderCardQuerySet(DB).OrderIdEq(m.ID).GameCardGoodsIdEq(uint32(m.GameCardGoodsId)).One(&orderCard)
|
//err = NewOrderCardQuerySet(DB).OrderIdEq(m.ID).GameCardGoodsIdEq(uint32(m.GameCardGoodsId)).One(&orderCard)
|
||||||
err = NewOrderCardQuerySet(DB).OrderIdEq(m.ID).GameCardIdEq(uint32(m.GameCardId)).CardStatusEq(OrderCardStatusUnPick).Limit(1).One(&orderCard)
|
err = NewOrderCardQuerySet(DB).OrderIdEq(m.ID).GameCardIdEq(uint32(m.GameCardId)).CardStatusEq(OrderCardStatusUnPick).Limit(1).One(&orderCard)
|
||||||
|
@ -592,19 +594,36 @@ func (m *Order) Cancel() (bool, error) {
|
||||||
logger.Errorf("err:%#v", err)
|
logger.Errorf("err:%#v", err)
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
//UserRentCard{}
|
||||||
|
sqlRent := fmt.Sprintf("UPDATE user_rent_card SET have_rent_count = have_rent_count-1,can_rent_count=can_rent_count+1 WHERE uid =%d;", order.Uid)
|
||||||
|
fmt.Println("sqlRent:", sqlRent)
|
||||||
|
err = begin.Exec(sqlRent).Error
|
||||||
|
if err != nil {
|
||||||
|
begin.Rollback()
|
||||||
|
logger.Errorf("err:%#v", err)
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
err = begin.Commit().Error
|
err = begin.Commit().Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
begin.Rollback()
|
begin.Rollback()
|
||||||
logger.Errorf("err:%#v", err)
|
logger.Errorf("err:%#v", err)
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
isRecede := false
|
isHaveOnDeliver, err := IsHaveOnDeliverOrderCards(m.ID)
|
||||||
if order.DeliveryType == 2 && order.Postage > 0 {
|
if err != nil {
|
||||||
isHaveOnDeliver, err := IsHaveOnDeliverOrderCards(m.ID)
|
logger.Error("err:", err)
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
if !isHaveOnDeliver {
|
||||||
|
err = NewOrderQuerySet(DB).IDEq(order.ID).GetUpdater().SetCardStatus(OrderCardStatusCancel).Update()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
isRecede := false
|
||||||
|
if order.DeliveryType == 2 && order.Postage > 0 {
|
||||||
if !isHaveOnDeliver {
|
if !isHaveOnDeliver {
|
||||||
isRecede = true
|
isRecede = true
|
||||||
}
|
}
|
||||||
|
@ -681,10 +700,14 @@ func IsCardGoodsStockEnough(cards []CardInfo, storeId uint32) (bool, error) {
|
||||||
var gameCardGoodsStock GameCardGoodsStock
|
var gameCardGoodsStock GameCardGoodsStock
|
||||||
err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).GameCardIdEq(uint64(cards[i].GameCardId)).
|
err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).GameCardIdEq(uint64(cards[i].GameCardId)).
|
||||||
One(&gameCardGoodsStock)
|
One(&gameCardGoodsStock)
|
||||||
if err != nil {
|
if err != nil && err != RecordNotFound {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
if err == RecordNotFound {
|
||||||
|
logger.Error("order stock out:")
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
if gameCardGoodsStock.RentStock < cards[i].Count {
|
if gameCardGoodsStock.RentStock < cards[i].Count {
|
||||||
logger.Error("order stock out ")
|
logger.Error("order stock out ")
|
||||||
return false, errors.New("order stock out")
|
return false, errors.New("order stock out")
|
||||||
|
@ -708,13 +731,15 @@ func GameCardGoodsInventoryReduction(cards []CardInfo, storeId uint32, gdb *gorm
|
||||||
|
|
||||||
func (m *Order) InventoryReduction(gdb *gorm.DB) error {
|
func (m *Order) InventoryReduction(gdb *gorm.DB) error {
|
||||||
var cards []OrderCard
|
var cards []OrderCard
|
||||||
err := NewOrderCardQuerySet(DB).OrderIdEq(m.ID).All(&cards)
|
err := NewOrderCardQuerySet(DB).UidEq(uint32(m.Uid)).OrderIdEq(m.ID).All(&cards)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//fmt.Println("cards:", cards)
|
||||||
for i, _ := range cards {
|
for i, _ := range cards {
|
||||||
|
//fmt.Println("cards:", cards[i].GameCardId, cards[i].StoreId, cards[i].Uid)
|
||||||
sql := fmt.Sprintf("UPDATE game_card_goods_stock SET rent_stock= rent_stock-1 WHERE store_id=%d AND game_card_id=%d;", m.StoreId, cards[i].GameCardId)
|
sql := fmt.Sprintf("UPDATE game_card_goods_stock SET rent_stock= rent_stock-1 WHERE store_id=%d AND game_card_id=%d;", m.StoreId, cards[i].GameCardId)
|
||||||
fmt.Println("sql:", sql)
|
fmt.Println("sql:", sql)
|
||||||
err := gdb.Exec(sql).Error
|
err := gdb.Exec(sql).Error
|
||||||
|
@ -723,6 +748,10 @@ func (m *Order) InventoryReduction(gdb *gorm.DB) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
err = OrderCardUserRentCard(uint32(m.Uid), uint32(len(cards)), nil, gdb)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("err:", err)
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -167,7 +167,7 @@ func UserRedeemCodeConvert(uid uint32, serialCode string) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func CodeSendToUser(uid uint32, codeType string,activityType uint32) error {
|
func CodeSendToUser(uid uint32, codeType string, activityType uint32) error {
|
||||||
count, err := NewUserRedeemCodeQuerySet(DB).UidEq(uid).Count()
|
count, err := NewUserRedeemCodeQuerySet(DB).UidEq(uid).Count()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
|
@ -198,7 +198,7 @@ func CodeSendToUser(uid uint32, codeType string,activityType uint32) error {
|
||||||
Status: UserRedeemCodeStatusHold,
|
Status: UserRedeemCodeStatusHold,
|
||||||
SerialCode: redeemCode.SerialCode,
|
SerialCode: redeemCode.SerialCode,
|
||||||
CodeType: redeemCode.CodeType,
|
CodeType: redeemCode.CodeType,
|
||||||
ActivityType: activityType ,
|
ActivityType: activityType,
|
||||||
//ActivityType: RedeemCodeActivityTypeUserInvite,
|
//ActivityType: RedeemCodeActivityTypeUserInvite,
|
||||||
}
|
}
|
||||||
err = begin.Create(userRedeemCode).Error
|
err = begin.Create(userRedeemCode).Error
|
||||||
|
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/codinl/go-logger"
|
"github.com/codinl/go-logger"
|
||||||
|
"github.com/jinzhu/gorm"
|
||||||
"mh-server/lib/utils"
|
"mh-server/lib/utils"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
@ -14,29 +15,30 @@ import (
|
||||||
type User struct {
|
type User struct {
|
||||||
Model
|
Model
|
||||||
|
|
||||||
Uid uint32 `json:"uid" gorm:"column:uid;unique_index"`
|
Uid uint32 `json:"uid" gorm:"column:uid;unique_index"`
|
||||||
MemberLevel uint32 `json:"member_level"` // 会员等级 1-用户 2-会员
|
MemberLevel uint32 `json:"member_level"` // 会员等级 1-用户 2-会员
|
||||||
MemberExpire time.Time `json:"member_expire"` // 会员到期时间
|
MemberExpire time.Time `json:"member_expire"` // 会员到期时间
|
||||||
Bond uint32 `json:"bond"` // 保证金
|
OpenMemberTime time.Time `json:"open_member_time"` // 开通会员
|
||||||
WxName string `json:"wx_name"` // 昵称
|
Bond uint32 `json:"bond"` // 保证金
|
||||||
WxAvatar string `json:"wx_avatar"` // 头像
|
WxName string `json:"wx_name"` // 昵称
|
||||||
WxOpenID string `json:"wx_open_id"`
|
WxAvatar string `json:"wx_avatar"` // 头像
|
||||||
AppOpenID string `json:"app_open_id"`
|
WxOpenID string `json:"wx_open_id"`
|
||||||
WxUnionID string `json:"wx_union_id"`
|
AppOpenID string `json:"app_open_id"`
|
||||||
Tel string `json:"tel"` // 电话
|
WxUnionID string `json:"wx_union_id"`
|
||||||
Gender uint8 `json:"gender"` // 性别
|
Tel string `json:"tel"` // 电话
|
||||||
City string `json:"city"` // 城市
|
Gender uint8 `json:"gender"` // 性别
|
||||||
Province string `json:"province"` // 省
|
City string `json:"city"` // 城市
|
||||||
Country string `json:"country"` // 市
|
Province string `json:"province"` // 省
|
||||||
Deposit uint32 `json:"deposit"` //
|
Country string `json:"country"` // 市
|
||||||
UserType uint8 `json:"user_type"` // 用户类型 1-普通用户 2-店员
|
Deposit uint32 `json:"deposit"` //
|
||||||
StoreId uint64 `json:"store_id"` // 门店id
|
UserType uint8 `json:"user_type"` // 用户类型 1-普通用户 2-店员
|
||||||
InviteCodeUrl string `json:"invite_code_url"` // 分享二维码
|
StoreId uint64 `json:"store_id"` // 门店id
|
||||||
LastLoginAt time.Time `json:"last_login_at"` // 最近登录时间
|
InviteCodeUrl string `json:"invite_code_url"` // 分享二维码
|
||||||
IP string `json:"-" gorm:"type:varchar(60)"` // ip
|
LastLoginAt time.Time `json:"last_login_at"` // 最近登录时间
|
||||||
InBlack bool `json:"in_black"` // 是否在黑名单
|
IP string `json:"-" gorm:"type:varchar(60)"` // ip
|
||||||
StoreType uint8 `json:"store_type"` // 1-订单门店
|
InBlack bool `json:"in_black"` // 是否在黑名单
|
||||||
Version uint32 `json:"-"`
|
StoreType uint8 `json:"store_type"` // 1-订单门店
|
||||||
|
Version uint32 `json:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *User) TableName() string {
|
func (o *User) TableName() string {
|
||||||
|
@ -180,11 +182,12 @@ func UserUpdate(user *User) error {
|
||||||
type UserOpenMemberRecord struct {
|
type UserOpenMemberRecord struct {
|
||||||
Model
|
Model
|
||||||
|
|
||||||
Uid uint32 `json:"uid"`
|
Uid uint32 `json:"uid"`
|
||||||
OpenNo string `json:"open_no" gorm:"index"`
|
OpenNo string `json:"open_no" gorm:"index"`
|
||||||
OrderId uint32 `json:"order_id"`
|
OrderId uint32 `json:"order_id"`
|
||||||
OrderType uint32 `json:"order_type"` // 1-物流支付
|
OrderType uint32 `json:"order_type"` // 1-物流支付 2-取消物流租卡
|
||||||
MemberLevel uint32 `json:"member_level"`
|
MemberLevel uint32 `json:"member_level"`
|
||||||
|
MemberExpire time.Time `json:"member_expire"` // 会员到期时间
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *UserOpenMemberRecord) TableName() string {
|
func (o *UserOpenMemberRecord) TableName() string {
|
||||||
|
@ -439,8 +442,11 @@ func GetUserMutex(mutexKey string) *sync.Mutex {
|
||||||
|
|
||||||
var AuthLoginMutex = sync.Mutex{}
|
var AuthLoginMutex = sync.Mutex{}
|
||||||
|
|
||||||
func OrderCardUserRentCard(uid uint32, count uint32, memberConfig *MemberConfig) error {
|
func OrderCardUserRentCard(uid uint32, count uint32, memberConfig *MemberConfig,gdb *gorm.DB) error {
|
||||||
//UserRentCard{}
|
//UserRentCard{}
|
||||||
|
if gdb == nil {
|
||||||
|
gdb = DB
|
||||||
|
}
|
||||||
var userRentCard UserRentCard
|
var userRentCard UserRentCard
|
||||||
err := NewUserRentCardQuerySet(DB).UidEq(uid).One(&userRentCard)
|
err := NewUserRentCardQuerySet(DB).UidEq(uid).One(&userRentCard)
|
||||||
if err != nil && err != RecordNotFound {
|
if err != nil && err != RecordNotFound {
|
||||||
|
@ -468,7 +474,7 @@ func OrderCardUserRentCard(uid uint32, count uint32, memberConfig *MemberConfig)
|
||||||
CanRentCount: uint32(memberConfig.CardMax - count),
|
CanRentCount: uint32(memberConfig.CardMax - count),
|
||||||
Status: 0,
|
Status: 0,
|
||||||
}
|
}
|
||||||
err := DB.Create(rentCard).Error
|
err := gdb.Create(rentCard).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err", err)
|
logger.Error("err", err)
|
||||||
return err
|
return err
|
||||||
|
@ -476,7 +482,7 @@ func OrderCardUserRentCard(uid uint32, count uint32, memberConfig *MemberConfig)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
sql := fmt.Sprintf("UPDATE user_rent_card SET have_rent_count=have_rent_count+%d ,can_rent_count=can_rent_count-%d WHERE uid = %d", count, count, uid)
|
sql := fmt.Sprintf("UPDATE user_rent_card SET have_rent_count=have_rent_count+%d ,can_rent_count=can_rent_count-%d WHERE uid = %d", count, count, uid)
|
||||||
err = DB.Exec(sql).Error
|
err = gdb.Exec(sql).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err", err)
|
logger.Error("err", err)
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -75,7 +75,8 @@ func ConfigAppRouter(r gin.IRouter) {
|
||||||
user.POST("user_info/tel", controller.UserTel) // 获取用户手机号
|
user.POST("user_info/tel", controller.UserTel) // 获取用户手机号
|
||||||
user.POST("user_info/update", controller.UserInfoUpdate) // 修改用户信息
|
user.POST("user_info/update", controller.UserInfoUpdate) // 修改用户信息
|
||||||
user.POST("open_member", controller.OpenMember) // 开通会员
|
user.POST("open_member", controller.OpenMember) // 开通会员
|
||||||
user.POST("upgrade_member", controller.UpgradeMember) // 开通会员
|
user.POST("upgrade_member", controller.UpgradeMember) // 升级会员
|
||||||
|
user.POST("upgrade_member_info", controller.UpgradeMemberInfo) // 升级详情
|
||||||
user.POST("pay_deposit", controller.PayDeposit) // 支付押金
|
user.POST("pay_deposit", controller.PayDeposit) // 支付押金
|
||||||
user.POST("refund_deposit", controller.RefundDeposit) // 退押金
|
user.POST("refund_deposit", controller.RefundDeposit) // 退押金
|
||||||
user.POST("refund_deposit_record", controller.UserDepositRefundRecordList) // 押金记录
|
user.POST("refund_deposit_record", controller.UserDepositRefundRecordList) // 押金记录
|
||||||
|
@ -126,14 +127,14 @@ func ConfigAppRouter(r gin.IRouter) {
|
||||||
order.POST("express", controller.OrderExpress) // 订单物流
|
order.POST("express", controller.OrderExpress) // 订单物流
|
||||||
order.POST("express_company/list", controller.ExpressCompanyList) // 物流公司列表
|
order.POST("express_company/list", controller.ExpressCompanyList) // 物流公司列表
|
||||||
order.POST("order/wx_pay/success", controller.WXPaySuccess) // 微信支付成功
|
order.POST("order/wx_pay/success", controller.WXPaySuccess) // 微信支付成功
|
||||||
order.POST("cancel", controller.OrderCancel) // 订单取消
|
order.POST("cancel", controller.OrderCancel) // 取消租卡
|
||||||
|
|
||||||
order.Use(auth.UserAccessAuth) // TODO
|
order.Use(auth.UserAccessAuth) // TODO
|
||||||
order.POST("create", controller.RentCardOrderCreate) // 创建租卡
|
order.POST("create", controller.RentCardOrderCreate) // 创建租卡
|
||||||
order.POST("pay", controller.OrderPay) // 租卡订单支付
|
order.POST("pay", controller.OrderPay) // 租卡订单支付
|
||||||
order.POST("list", controller.RentCardOrderList) // 租卡订单列表
|
order.POST("list", controller.RentCardOrderList) // 租卡订单列表
|
||||||
order.POST("revert", controller.OrderRevert) // 租卡订单归还
|
order.POST("revert", controller.OrderRevert) // 租卡订单归还
|
||||||
order.POST("revert/cancel", controller.OrderRevertCancel) // 租卡订单取消归还
|
order.POST("revert/cancel", controller.OrderRevertCancel) // 取消归还
|
||||||
//order.POST("express_fee/refund", controller.ExpressFeeRefund) // 物流费退款
|
//order.POST("express_fee/refund", controller.ExpressFeeRefund) // 物流费退款
|
||||||
|
|
||||||
order.POST("confirm_receipt", controller.ConfirmReceipt) // 订单确认收货
|
order.POST("confirm_receipt", controller.ConfirmReceipt) // 订单确认收货
|
||||||
|
|
Loading…
Reference in New Issue
Block a user