1.提交尊享会员相关优化;
This commit is contained in:
parent
5bb2133811
commit
0a5a0d2ccb
|
@ -748,8 +748,51 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 用户积分时需要扣除押金金额
|
||||||
|
vmAmount := uint32(0)
|
||||||
|
if spendType == 2 { // 开通会员
|
||||||
|
// 黄金/短期,押金300
|
||||||
|
if record.MemberLevel == model.MemberLevelGold || record.MemberLevel == model.MemberLevelPeriod {
|
||||||
|
if notifyInfo.TotalFee/100 > 300 {
|
||||||
|
vmAmount = uint32(notifyInfo.TotalFee/100 - 300)
|
||||||
|
}
|
||||||
|
} else if record.MemberLevel == model.MemberLevelPlatinum { // 白金,押金600
|
||||||
|
if notifyInfo.TotalFee/100 > 600 {
|
||||||
|
vmAmount = uint32(notifyInfo.TotalFee/100 - 600)
|
||||||
|
}
|
||||||
|
} else if record.MemberLevel == model.MemberLevelBlackGold { // 黑金,押金1500
|
||||||
|
if notifyInfo.TotalFee/100 > 1500 {
|
||||||
|
vmAmount = uint32(notifyInfo.TotalFee/100 - 1500)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
vmAmount = uint32(notifyInfo.TotalFee / 100)
|
||||||
|
}
|
||||||
|
} else if spendType == 3 { // 续费会员
|
||||||
|
// 黄金/短期,押金300
|
||||||
|
// 一年:没押金 699 649 有押金 399 349
|
||||||
|
// 季度:没押金 499 有押金 199
|
||||||
|
// 半年:没押金 599 有押金 299
|
||||||
|
if record.MemberLevel == model.MemberLevelGold || record.MemberLevel == model.MemberLevelPeriod {
|
||||||
|
if notifyInfo.TotalFee/100 > 399 {
|
||||||
|
vmAmount = uint32(notifyInfo.TotalFee/100 - 300)
|
||||||
|
}
|
||||||
|
} else if record.MemberLevel == model.MemberLevelPlatinum {
|
||||||
|
// 白金,押金600;续费:没押金 1299 1199 有押金 699 599
|
||||||
|
if notifyInfo.TotalFee/100 > 699 {
|
||||||
|
vmAmount = uint32(notifyInfo.TotalFee/100 - 600)
|
||||||
|
}
|
||||||
|
} else if record.MemberLevel == model.MemberLevelBlackGold {
|
||||||
|
// 黑金,押金1500;续费:没押金 2999 2799 有押金 1499 1299
|
||||||
|
if notifyInfo.TotalFee/100 > 1500 {
|
||||||
|
vmAmount = uint32(notifyInfo.TotalFee/100 - 1500)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
vmAmount = uint32(notifyInfo.TotalFee / 100)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 赠送积分
|
// 赠送积分
|
||||||
err = model.NewSendUserVm(user.Uid, uint32(notifyInfo.TotalFee/100), spendType)
|
err = model.NewSendUserVm(user.Uid, vmAmount, spendType)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("send user vm err:", err)
|
logger.Error("send user vm err:", err)
|
||||||
}
|
}
|
||||||
|
@ -1075,8 +1118,21 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nVmAmount := uint32(0)
|
||||||
|
if notifyInfo.TotalFee/100 >= 600 && notifyInfo.TotalFee/100 <= 999 { // 黄金升级白金
|
||||||
|
nVmAmount = uint32(notifyInfo.TotalFee/100 - 300)
|
||||||
|
} else if notifyInfo.TotalFee/100 >= 1700 && notifyInfo.TotalFee/100 <= 2399 &&
|
||||||
|
user.MemberLevel == model.MemberLevelPlatinum { // 白金升级黑金
|
||||||
|
nVmAmount = uint32(notifyInfo.TotalFee/100 - 900)
|
||||||
|
} else if notifyInfo.TotalFee/100 >= 2300 && notifyInfo.TotalFee/100 <= 2699 &&
|
||||||
|
user.MemberLevel != model.MemberLevelPlatinum { // 黄金升级黑金
|
||||||
|
nVmAmount = uint32(notifyInfo.TotalFee/100 - 1200)
|
||||||
|
} else {
|
||||||
|
nVmAmount = uint32(notifyInfo.TotalFee / 100)
|
||||||
|
}
|
||||||
|
|
||||||
// 赠送积分
|
// 赠送积分
|
||||||
err = model.NewSendUserVm(user.Uid, uint32(notifyInfo.TotalFee/100), 4)
|
err = model.NewSendUserVm(user.Uid, nVmAmount, 4)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("send user vm err:", err)
|
logger.Error("send user vm err:", err)
|
||||||
}
|
}
|
||||||
|
@ -1526,8 +1582,15 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nVmType := 5
|
||||||
|
if spendType == 2 { // 开通会员
|
||||||
|
nVmType = 5
|
||||||
|
} else if spendType == 3 { // 续费会员
|
||||||
|
nVmType = 6
|
||||||
|
}
|
||||||
|
|
||||||
// 赠送积分
|
// 赠送积分
|
||||||
err = model.NewSendUserVm(user.Uid, uint32(notifyInfo.TotalFee/100), spendType)
|
err = model.NewSendUserVm(user.Uid, uint32(notifyInfo.TotalFee/100), uint32(nVmType))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("send user vm err:", err)
|
logger.Error("send user vm err:", err)
|
||||||
}
|
}
|
||||||
|
@ -1579,6 +1642,7 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
PromotionalSales: 0,
|
PromotionalSales: 0,
|
||||||
RedeemCode: "",
|
RedeemCode: "",
|
||||||
CategoryNumber: coupons[i].CategoryNumber,
|
CategoryNumber: coupons[i].CategoryNumber,
|
||||||
|
CommodityNumber: coupons[i].CommodityNumber,
|
||||||
Code: couponCode,
|
Code: couponCode,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1610,6 +1674,39 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
PromotionalSales: 0,
|
PromotionalSales: 0,
|
||||||
RedeemCode: "",
|
RedeemCode: "",
|
||||||
CategoryNumber: coupons[i].CategoryNumber,
|
CategoryNumber: coupons[i].CategoryNumber,
|
||||||
|
CommodityNumber: coupons[i].CommodityNumber,
|
||||||
|
Code: couponCode,
|
||||||
|
}
|
||||||
|
|
||||||
|
err = model.DB.Create(userCoupon).Error
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("user coupon err:", err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if coupons[i].ActivityType == 9 { // 贴膜券,2张
|
||||||
|
for j := 0; j < 2; j++ {
|
||||||
|
couponCode, err := utils.GenerateRandomNumber19()
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("GenerateRandomNumber19err:", err)
|
||||||
|
}
|
||||||
|
userCoupon := &model.UserCoupon{
|
||||||
|
Uid: record.Uid,
|
||||||
|
CouponId: coupons[i].ID,
|
||||||
|
CouponType: coupons[i].CouponType,
|
||||||
|
ActivityType: coupons[i].ActivityType,
|
||||||
|
ActivityId: coupons[i].ActivityId,
|
||||||
|
Value: coupons[i].Value,
|
||||||
|
State: 1,
|
||||||
|
ActiveStart: time.Now(),
|
||||||
|
ActiveEnd: time.Now().AddDate(1, 0, 0),
|
||||||
|
UseTime: time.Time{},
|
||||||
|
MemberLevel: coupons[i].MemberLevel,
|
||||||
|
Approach: 0,
|
||||||
|
PromotionalSales: 0,
|
||||||
|
RedeemCode: "",
|
||||||
|
CategoryNumber: coupons[i].CategoryNumber,
|
||||||
|
CommodityNumber: coupons[i].CommodityNumber,
|
||||||
Code: couponCode,
|
Code: couponCode,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2094,8 +2191,51 @@ func HmPushWXPayNotice(c *gin.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 用户积分时需要扣除押金金额
|
||||||
|
vmAmount := uint32(0)
|
||||||
|
if spendType == 2 { // 开通会员
|
||||||
|
// 黄金/短期,押金300
|
||||||
|
if record.MemberLevel == model.MemberLevelGold || record.MemberLevel == model.MemberLevelPeriod {
|
||||||
|
if payAmountFloat > 300 {
|
||||||
|
vmAmount = uint32(payAmountFloat - 300)
|
||||||
|
}
|
||||||
|
} else if record.MemberLevel == model.MemberLevelPlatinum { // 白金,押金600
|
||||||
|
if payAmountFloat > 600 {
|
||||||
|
vmAmount = uint32(payAmountFloat - 600)
|
||||||
|
}
|
||||||
|
} else if record.MemberLevel == model.MemberLevelBlackGold { // 黑金,押金1500
|
||||||
|
if payAmountFloat > 1500 {
|
||||||
|
vmAmount = uint32(payAmountFloat - 1500)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
vmAmount = uint32(payAmountFloat)
|
||||||
|
}
|
||||||
|
} else if spendType == 3 { // 续费会员
|
||||||
|
// 黄金/短期,押金300
|
||||||
|
// 一年:没押金 699 649 有押金 399 349
|
||||||
|
// 季度:没押金 499 有押金 199
|
||||||
|
// 半年:没押金 599 有押金 299
|
||||||
|
if record.MemberLevel == model.MemberLevelGold || record.MemberLevel == model.MemberLevelPeriod {
|
||||||
|
if payAmountFloat > 399 {
|
||||||
|
vmAmount = uint32(payAmountFloat - 300)
|
||||||
|
}
|
||||||
|
} else if record.MemberLevel == model.MemberLevelPlatinum {
|
||||||
|
// 白金,押金600;续费:没押金 1299 1199 有押金 699 599
|
||||||
|
if payAmountFloat > 699 {
|
||||||
|
vmAmount = uint32(payAmountFloat - 600)
|
||||||
|
}
|
||||||
|
} else if record.MemberLevel == model.MemberLevelBlackGold {
|
||||||
|
// 黑金,押金1500;续费:没押金 2999 2799 有押金 1499 1299
|
||||||
|
if payAmountFloat > 1500 {
|
||||||
|
vmAmount = uint32(payAmountFloat - 1500)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
vmAmount = uint32(payAmountFloat)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 赠送积分
|
// 赠送积分
|
||||||
err = model.NewSendUserVm(user.Uid, uint32(payAmountFloat), spendType)
|
err = model.NewSendUserVm(user.Uid, vmAmount, spendType)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("send user vm err:", err)
|
logger.Error("send user vm err:", err)
|
||||||
}
|
}
|
||||||
|
@ -2422,8 +2562,21 @@ func HmPushWXPayNotice(c *gin.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nVmAmount := uint32(0)
|
||||||
|
if payAmountFloat >= 600 && payAmountFloat <= 999 { // 黄金升级白金
|
||||||
|
nVmAmount = uint32(payAmountFloat - 300)
|
||||||
|
} else if payAmountFloat >= 1700 && payAmountFloat <= 2399 &&
|
||||||
|
user.MemberLevel == model.MemberLevelPlatinum { // 白金升级黑金
|
||||||
|
nVmAmount = uint32(payAmountFloat - 900)
|
||||||
|
} else if payAmountFloat >= 2300 && payAmountFloat <= 2699 &&
|
||||||
|
user.MemberLevel != model.MemberLevelPlatinum { // 黄金升级黑金
|
||||||
|
nVmAmount = uint32(payAmountFloat - 1200)
|
||||||
|
} else {
|
||||||
|
nVmAmount = uint32(payAmountFloat)
|
||||||
|
}
|
||||||
|
|
||||||
// 赠送积分
|
// 赠送积分
|
||||||
err = model.NewSendUserVm(user.Uid, uint32(payAmountFloat), 4)
|
err = model.NewSendUserVm(user.Uid, nVmAmount, 4)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("send user vm err:", err)
|
logger.Error("send user vm err:", err)
|
||||||
}
|
}
|
||||||
|
@ -2860,8 +3013,15 @@ func HmPushWXPayNotice(c *gin.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nVmType := 5
|
||||||
|
if spendType == 2 { // 开通会员
|
||||||
|
nVmType = 5
|
||||||
|
} else if spendType == 3 { // 续费会员
|
||||||
|
nVmType = 6
|
||||||
|
}
|
||||||
|
|
||||||
// 赠送积分
|
// 赠送积分
|
||||||
err = model.NewSendUserVm(user.Uid, uint32(payAmountFloat), spendType)
|
err = model.NewSendUserVm(user.Uid, uint32(payAmountFloat), uint32(nVmType))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("send user vm err:", err)
|
logger.Error("send user vm err:", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1253,7 +1253,7 @@ func InviteMemberReportList(c *gin.Context) {
|
||||||
|
|
||||||
ret := model.InviteMemberReportListResp{
|
ret := model.InviteMemberReportListResp{
|
||||||
List: list,
|
List: list,
|
||||||
CurPage: req.PageNum,
|
PageNum: req.PageNum,
|
||||||
TotalPage: totalPage,
|
TotalPage: totalPage,
|
||||||
Count: count,
|
Count: count,
|
||||||
}
|
}
|
||||||
|
|
|
@ -371,7 +371,7 @@ func ShareCardRetrieveCreate(c *gin.Context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
count, err := model.NewShareCardRetrieveCardQuerySet(model.DB).SerialNumberIn(req.SerialNumbers...).
|
count, err := model.NewShareCardRetrieveCardQuerySet(model.DB).SerialNumberIn(req.SerialNumbers...).
|
||||||
//StateIn(model.RetrieveStateInCheck).Count()
|
//StateIn(model.RetrieveStateInCheck).TotalPage()
|
||||||
PayStateEq(2).StateNotIn(model.RetrieveStateCheckLose, model.RetrieveStateCancel).Count()
|
PayStateEq(2).StateNotIn(model.RetrieveStateCheckLose, model.RetrieveStateCancel).Count()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("share card retrieve card err:", err)
|
logger.Error("share card retrieve card err:", err)
|
||||||
|
|
1
main.go
1
main.go
|
@ -7,4 +7,3 @@ import (
|
||||||
func main() {
|
func main() {
|
||||||
cmd.Execute()
|
cmd.Execute()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,9 @@ import (
|
||||||
"github.com/codinl/go-logger"
|
"github.com/codinl/go-logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:generate goqueryset -in article.go
|
|
||||||
// gen:qs
|
// gen:qs
|
||||||
|
//
|
||||||
|
//go:generate goqueryset -in article.go
|
||||||
type Article struct {
|
type Article struct {
|
||||||
Model
|
Model
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package model
|
package model
|
||||||
|
|
||||||
//go:generate goqueryset -in cashier.go
|
|
||||||
// gen:qs
|
// gen:qs
|
||||||
|
//
|
||||||
|
//go:generate goqueryset -in cashier.go
|
||||||
type ErpCashier struct {
|
type ErpCashier struct {
|
||||||
Model
|
Model
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,9 @@ import (
|
||||||
"github.com/codinl/go-logger"
|
"github.com/codinl/go-logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:generate goqueryset -in collection.go
|
|
||||||
// gen:qs
|
// gen:qs
|
||||||
|
//
|
||||||
|
//go:generate goqueryset -in collection.go
|
||||||
type Collection struct {
|
type Collection struct {
|
||||||
Model
|
Model
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,9 @@ import (
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:generate goqueryset -in commodity.go
|
|
||||||
// gen:qs
|
// gen:qs
|
||||||
|
//
|
||||||
|
//go:generate goqueryset -in commodity.go
|
||||||
type ErpStock struct {
|
type ErpStock struct {
|
||||||
Model
|
Model
|
||||||
|
|
||||||
|
@ -414,7 +415,7 @@ func ErpCommodityListExport(list []ErpCommodity) (string, error) {
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// var count int64
|
// var count int64
|
||||||
// err := qs.Count(&count).Error
|
// err := qs.TotalPage(&count).Error
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
// logger.Error("count err:", err)
|
// logger.Error("count err:", err)
|
||||||
// return resp, err
|
// return resp, err
|
||||||
|
@ -486,7 +487,7 @@ func ErpCommodityListExport(list []ErpCommodity) (string, error) {
|
||||||
// // qs = qs.Where("pid", m.Pid)
|
// // qs = qs.Where("pid", m.Pid)
|
||||||
// //}
|
// //}
|
||||||
// //var count int64
|
// //var count int64
|
||||||
// //err := qs.Count(&count).Error
|
// //err := qs.TotalPage(&count).Error
|
||||||
// //if err != nil {
|
// //if err != nil {
|
||||||
// // logger.Error("count err:", err)
|
// // logger.Error("count err:", err)
|
||||||
// // return resp, err
|
// // return resp, err
|
||||||
|
@ -944,10 +945,10 @@ func ErpCommodityListExport(list []ErpCommodity) (string, error) {
|
||||||
//}
|
//}
|
||||||
//
|
//
|
||||||
//func (e *ErpStockFileExcel) Processing() {
|
//func (e *ErpStockFileExcel) Processing() {
|
||||||
// e.Count = IntStringToUin32(e.CountString)
|
// e.TotalPage = IntStringToUin32(e.CountString)
|
||||||
// if e.IsIMEI == "是" {
|
// if e.IsIMEI == "是" {
|
||||||
// e.IMEIType = 2
|
// e.IMEIType = 2
|
||||||
// e.Count = 1
|
// e.TotalPage = 1
|
||||||
// } else if e.IsIMEI == "否" {
|
// } else if e.IsIMEI == "否" {
|
||||||
// e.IMEIType = 1
|
// e.IMEIType = 1
|
||||||
// }
|
// }
|
||||||
|
@ -1108,9 +1109,9 @@ func ErpCommodityListExport(list []ErpCommodity) (string, error) {
|
||||||
//
|
//
|
||||||
// _, ok5 := m.CensusMap[list[i].StoreId]
|
// _, ok5 := m.CensusMap[list[i].StoreId]
|
||||||
// if ok5 {
|
// if ok5 {
|
||||||
// m.CensusMap[list[i].StoreId][list[i].ErpCommodityId] += list[i].Count
|
// m.CensusMap[list[i].StoreId][list[i].ErpCommodityId] += list[i].TotalPage
|
||||||
// } else {
|
// } else {
|
||||||
// m.CensusMap[list[i].StoreId] = map[uint32]uint32{list[i].ErpCommodityId: list[i].Count}
|
// m.CensusMap[list[i].StoreId] = map[uint32]uint32{list[i].ErpCommodityId: list[i].TotalPage}
|
||||||
// }
|
// }
|
||||||
// //v5, ok5 := categoryCommodityNumMap[list[i].ErpCategoryId]
|
// //v5, ok5 := categoryCommodityNumMap[list[i].ErpCategoryId]
|
||||||
// //if !ok5 {
|
// //if !ok5 {
|
||||||
|
@ -1154,7 +1155,7 @@ func ErpCommodityListExport(list []ErpCommodity) (string, error) {
|
||||||
// IMEIType: v.IMEIType,
|
// IMEIType: v.IMEIType,
|
||||||
// RetailPrice: v.RetailPrice,
|
// RetailPrice: v.RetailPrice,
|
||||||
// MinRetailPrice: v.MinRetailPrice,
|
// MinRetailPrice: v.MinRetailPrice,
|
||||||
// Count: v2,
|
// TotalPage: v2,
|
||||||
// DispatchCount: 0,
|
// DispatchCount: 0,
|
||||||
// }
|
// }
|
||||||
// err = gdb.Create(stock).Error
|
// err = gdb.Create(stock).Error
|
||||||
|
@ -1177,9 +1178,9 @@ func ErpCommodityListExport(list []ErpCommodity) (string, error) {
|
||||||
// IMEIType: v.IMEIType,
|
// IMEIType: v.IMEIType,
|
||||||
// RetailPrice: v.RetailPrice,
|
// RetailPrice: v.RetailPrice,
|
||||||
// MinRetailPrice: v.MinRetailPrice,
|
// MinRetailPrice: v.MinRetailPrice,
|
||||||
// Count: v2,
|
// TotalPage: v2,
|
||||||
// }
|
// }
|
||||||
// fmt.Println("inventoryStock", inventoryStock.Count)
|
// fmt.Println("inventoryStock", inventoryStock.TotalPage)
|
||||||
// m.Inventories = append(m.Inventories, inventoryStock)
|
// m.Inventories = append(m.Inventories, inventoryStock)
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
|
@ -1282,7 +1283,7 @@ func ErpCommodityListExport(list []ErpCommodity) (string, error) {
|
||||||
// // MinRetailPrice: list[i].MinRetailPrice,
|
// // MinRetailPrice: list[i].MinRetailPrice,
|
||||||
// // StaffCostPrice: list[i].StaffCostPrice,
|
// // StaffCostPrice: list[i].StaffCostPrice,
|
||||||
// // WholesalePrice: list[i].WholesalePrice,
|
// // WholesalePrice: list[i].WholesalePrice,
|
||||||
// // Count: list[i].Count,
|
// // TotalPage: list[i].TotalPage,
|
||||||
// // }
|
// // }
|
||||||
// // //err := gdb.Create(inventoryCommodity).Error
|
// // //err := gdb.Create(inventoryCommodity).Error
|
||||||
// // err := orm.Eloquent.Create(inventoryCommodity).Error
|
// // err := orm.Eloquent.Create(inventoryCommodity).Error
|
||||||
|
@ -1316,7 +1317,7 @@ func ErpCommodityListExport(list []ErpCommodity) (string, error) {
|
||||||
// MinRetailPrice: list[i].MinRetailPrice,
|
// MinRetailPrice: list[i].MinRetailPrice,
|
||||||
// StaffCostPrice: list[i].StaffCostPrice,
|
// StaffCostPrice: list[i].StaffCostPrice,
|
||||||
// WholesalePrice: list[i].WholesalePrice,
|
// WholesalePrice: list[i].WholesalePrice,
|
||||||
// Count: list[i].Count,
|
// TotalPage: list[i].TotalPage,
|
||||||
// }
|
// }
|
||||||
// //err := gdb.Create(inventoryCommodity).Error
|
// //err := gdb.Create(inventoryCommodity).Error
|
||||||
// inventoryList = append(inventoryList, inventoryCommodity)
|
// inventoryList = append(inventoryList, inventoryCommodity)
|
||||||
|
@ -1553,7 +1554,7 @@ func ErpCommodityListExport(list []ErpCommodity) (string, error) {
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// var count int64
|
// var count int64
|
||||||
// err := qs.Count(&count).Error
|
// err := qs.TotalPage(&count).Error
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
// logger.Error("count err:", err)
|
// logger.Error("count err:", err)
|
||||||
// return resp, err
|
// return resp, err
|
||||||
|
|
|
@ -33,6 +33,7 @@ type Coupon struct {
|
||||||
ActiveEnd time.Time `json:"active_end"` // 有效期结束 零值永不结束
|
ActiveEnd time.Time `json:"active_end"` // 有效期结束 零值永不结束
|
||||||
MemberLevel uint32 `json:"member_level"` // 会员等级 1-用户 2-会员
|
MemberLevel uint32 `json:"member_level"` // 会员等级 1-用户 2-会员
|
||||||
CategoryNumber string `json:"category_number"` // 可以使用该优惠券的商品分类,如果为空则表示没限制
|
CategoryNumber string `json:"category_number"` // 可以使用该优惠券的商品分类,如果为空则表示没限制
|
||||||
|
CommodityNumber string `json:"commodity_number"` // 可以使用该优惠券的商品编号,如果为空则表示没限制
|
||||||
IsDraw bool `json:"is_draw" gorm:"-"` //
|
IsDraw bool `json:"is_draw" gorm:"-"` //
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,6 +57,7 @@ type UserCoupon struct {
|
||||||
PromotionalSales uint32 `json:"promotional_sales"` // 推广人员用户id
|
PromotionalSales uint32 `json:"promotional_sales"` // 推广人员用户id
|
||||||
RedeemCode string `json:"redeem_code"` //
|
RedeemCode string `json:"redeem_code"` //
|
||||||
CategoryNumber string `json:"category_number"` // 可以使用该优惠券的商品分类,如果为空则表示没限制
|
CategoryNumber string `json:"category_number"` // 可以使用该优惠券的商品分类,如果为空则表示没限制
|
||||||
|
CommodityNumber string `json:"commodity_number"` // 可以使用该优惠券的商品编号,如果为空则表示没限制
|
||||||
Code string `json:"code"` // 优惠券券码
|
Code string `json:"code"` // 优惠券券码
|
||||||
StoreId uint32 `json:"store_id" gorm:"-"` // 邀请码对应门店id
|
StoreId uint32 `json:"store_id" gorm:"-"` // 邀请码对应门店id
|
||||||
Availability uint32 `json:"availability" gorm:"-"` // 1-不可用 2-可用
|
Availability uint32 `json:"availability" gorm:"-"` // 1-不可用 2-可用
|
||||||
|
|
|
@ -102,7 +102,7 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
if pageSize == 0 {
|
if pageSize == 0 {
|
||||||
pageSize = 10
|
pageSize = 10
|
||||||
}
|
}
|
||||||
//count, err := NewGameCardQuerySet(DB).Count()
|
//count, err := NewGameCardQuerySet(DB).TotalPage()
|
||||||
//if err != nil {
|
//if err != nil {
|
||||||
// logger.Error("NewGameCardQuerySet err:", err)
|
// logger.Error("NewGameCardQuerySet err:", err)
|
||||||
// return cards, 0, err
|
// return cards, 0, err
|
||||||
|
@ -118,7 +118,7 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
case 2:
|
case 2:
|
||||||
// 排序类型 2-新品
|
// 排序类型 2-新品
|
||||||
qs = qs.NewProductsEq(1).OrderDescByID()
|
qs = qs.NewProductsEq(1).OrderDescByID()
|
||||||
//count, err = NewGameCardQuerySet(DB).NewProductsEq(1).Count()
|
//count, err = NewGameCardQuerySet(DB).NewProductsEq(1).TotalPage()
|
||||||
case 3:
|
case 3:
|
||||||
// 排序类型 3-销量
|
// 排序类型 3-销量
|
||||||
qs = qs.OrderDescByOrderCount()
|
qs = qs.OrderDescByOrderCount()
|
||||||
|
@ -392,7 +392,7 @@ func IsGameCardListOnline(gameCards []CardInfo) (bool, error) {
|
||||||
func IsGameCardHaveStoke(storeId, gameCardId uint32) (bool, error) {
|
func IsGameCardHaveStoke(storeId, gameCardId uint32) (bool, error) {
|
||||||
var stock GameCardGoodsStock
|
var stock GameCardGoodsStock
|
||||||
err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).GameCardIdEq(uint64(gameCardId)).One(&stock)
|
err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).GameCardIdEq(uint64(gameCardId)).One(&stock)
|
||||||
//count, err := NewGameCardQuerySet(DB).IDEq(gameCardId).StatusEq(1).Count()
|
//count, err := NewGameCardQuerySet(DB).IDEq(gameCardId).StatusEq(1).TotalPage()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
return false, err
|
return false, err
|
||||||
|
@ -789,7 +789,7 @@ func (m *GameCardGoodsStock) Add(begin *gorm.DB) error {
|
||||||
begin = DB
|
begin = DB
|
||||||
}
|
}
|
||||||
//err := orm.Eloquent.Table("game_card_goods_stock").Where("store_id", m.StoreId).
|
//err := orm.Eloquent.Table("game_card_goods_stock").Where("store_id", m.StoreId).
|
||||||
// Where("game_card_id", m.GameCardId).Count(&count).Error
|
// Where("game_card_id", m.GameCardId).TotalPage(&count).Error
|
||||||
|
|
||||||
recordExist, err := QueryRecordExist(fmt.Sprintf(
|
recordExist, err := QueryRecordExist(fmt.Sprintf(
|
||||||
"SELECT * FROM game_card_goods_stock WHERE store_id=%d AND game_card_id=%d",
|
"SELECT * FROM game_card_goods_stock WHERE store_id=%d AND game_card_id=%d",
|
||||||
|
@ -1455,7 +1455,7 @@ func CannibalizePutInStorage(taskId uint32) error {
|
||||||
count, err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(cannibalizeTask.ToStoreId)).
|
count, err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(cannibalizeTask.ToStoreId)).
|
||||||
GameCardIdEq(list[i].GameCardId).Count()
|
GameCardIdEq(list[i].GameCardId).Count()
|
||||||
//err = orm.Eloquent.Table("game_card_goods_stock").Where("store_id = ?", cannibalizeTask.ToStoreId).
|
//err = orm.Eloquent.Table("game_card_goods_stock").Where("store_id = ?", cannibalizeTask.ToStoreId).
|
||||||
// Where("game_card_id = ?", list[i].GameCardId).Count(&count).Error
|
// Where("game_card_id = ?", list[i].GameCardId).TotalPage(&count).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -5,8 +5,9 @@ import (
|
||||||
"github.com/codinl/go-logger"
|
"github.com/codinl/go-logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:generate goqueryset -in history_browsing.go
|
|
||||||
// gen:qs
|
// gen:qs
|
||||||
|
//
|
||||||
|
//go:generate goqueryset -in history_browsing.go
|
||||||
type HistoryBrowsing struct {
|
type HistoryBrowsing struct {
|
||||||
Model
|
Model
|
||||||
|
|
||||||
|
|
|
@ -787,8 +787,8 @@ func MemberUserList() {
|
||||||
//startTime, _ := time.Parse("2006-01-02", "2021-07-30")
|
//startTime, _ := time.Parse("2006-01-02", "2021-07-30")
|
||||||
//
|
//
|
||||||
//for _, user := range users {
|
//for _, user := range users {
|
||||||
// count, err := NewUserInviteQuerySet(DBProd).ToUidEq(user.Uid).MemberTypeEq(2).MemberOpenTimeGt(startTime).MemberOpenTimeLt(endTime).Count()
|
// count, err := NewUserInviteQuerySet(DBProd).ToUidEq(user.Uid).MemberTypeEq(2).MemberOpenTimeGt(startTime).MemberOpenTimeLt(endTime).TotalPage()
|
||||||
// //count, err := NewUserInviteQuerySet(DBProd).ToUidEq(user.Uid).MemberTypeEq(2).MemberOpenTimeGt(startTime).MemberOpenTimeLt(endTime).Count()
|
// //count, err := NewUserInviteQuerySet(DBProd).ToUidEq(user.Uid).MemberTypeEq(2).MemberOpenTimeGt(startTime).MemberOpenTimeLt(endTime).TotalPage()
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
// fmt.Println("err:", err)
|
// fmt.Println("err:", err)
|
||||||
// }
|
// }
|
||||||
|
@ -1990,7 +1990,7 @@ func TestNameScanInvite(t *testing.T) {
|
||||||
Scan: 1,
|
Scan: 1,
|
||||||
}
|
}
|
||||||
fmt.Println("创建邀请:", invite)
|
fmt.Println("创建邀请:", invite)
|
||||||
//count, err := model.NewUserInviteQuerySet(model.DB).FromUidEq(req.InviteUid).ToUidEq(user.Uid).Count()
|
//count, err := model.NewUserInviteQuerySet(model.DB).FromUidEq(req.InviteUid).ToUidEq(user.Uid).TotalPage()
|
||||||
//if err != nil {
|
//if err != nil {
|
||||||
// logger.Error(err)
|
// logger.Error(err)
|
||||||
// RespJson(c, status.InternalServerError, nil)
|
// RespJson(c, status.InternalServerError, nil)
|
||||||
|
|
|
@ -472,7 +472,7 @@ func (m *UserRentCard) IsHaveUnreturnedOrders(RentCount uint32) (bool, error) {
|
||||||
sql := fmt.Sprintf("SELECT COUNT(order_card.id) FROM `order` RIGHT JOIN order_card ON `order`.id = order_card.order_id WHERE `order`.uid=%d AND `order`.pay_status=2 AND order_card.card_status IN (1,2,3) ;", m.Uid)
|
sql := fmt.Sprintf("SELECT COUNT(order_card.id) FROM `order` RIGHT JOIN order_card ON `order`.id = order_card.order_id WHERE `order`.uid=%d AND `order`.pay_status=2 AND order_card.card_status IN (1,2,3) ;", m.Uid)
|
||||||
//sql := fmt.Sprintf("SELECT COUNT(*) AS count FROM `order` WHERE uid = %d AND pay_status=2 AND card_status IN (1,2,3) ;", m.Uid)
|
//sql := fmt.Sprintf("SELECT COUNT(*) AS count FROM `order` WHERE uid = %d AND pay_status=2 AND card_status IN (1,2,3) ;", m.Uid)
|
||||||
//sql := fmt.Sprintf("SELECT COUNT(*) AS count FROM `order` WHERE uid = %d AND pay_status=2 AND card_status IN (1,2,3) ;", uid)
|
//sql := fmt.Sprintf("SELECT COUNT(*) AS count FROM `order` WHERE uid = %d AND pay_status=2 AND card_status IN (1,2,3) ;", uid)
|
||||||
//count, err := NewOrderQuerySet(DB).UidEq(uint64(uid)).PayStatusEq(PayStatusPaid).CardStatusIn(1, 2, 3).Count()
|
//count, err := NewOrderQuerySet(DB).UidEq(uint64(uid)).PayStatusEq(PayStatusPaid).CardStatusIn(1, 2, 3).TotalPage()
|
||||||
//if err != nil {
|
//if err != nil {
|
||||||
// logger.Error("err:", err)
|
// logger.Error("err:", err)
|
||||||
// return false, err
|
// return false, err
|
||||||
|
@ -503,7 +503,7 @@ func IsUserHaveUnreturnedOrder(uid uint32) (bool, error) {
|
||||||
|
|
||||||
//sql := fmt.Sprintf("SELECT COUNT(*) AS count FROM `order` WHERE uid = %d AND pay_status IN (1,2) AND card_status IN (1,2,3) ;", uid)
|
//sql := fmt.Sprintf("SELECT COUNT(*) AS count FROM `order` WHERE uid = %d AND pay_status IN (1,2) AND card_status IN (1,2,3) ;", uid)
|
||||||
sql := fmt.Sprintf("SELECT COUNT(*) AS count FROM order_card WHERE uid = %d AND pay_status IN (2) AND card_status IN (1,2,3) ;", uid)
|
sql := fmt.Sprintf("SELECT COUNT(*) AS count FROM order_card WHERE uid = %d AND pay_status IN (2) AND card_status IN (1,2,3) ;", uid)
|
||||||
//count, err := NewOrderQuerySet(DB).UidEq(uint64(uid)).PayStatusEq(PayStatusPaid).CardStatusIn(1, 2, 3).Count()
|
//count, err := NewOrderQuerySet(DB).UidEq(uint64(uid)).PayStatusEq(PayStatusPaid).CardStatusIn(1, 2, 3).TotalPage()
|
||||||
//if err != nil {
|
//if err != nil {
|
||||||
// logger.Error("err:", err)
|
// logger.Error("err:", err)
|
||||||
// return false, err
|
// return false, err
|
||||||
|
@ -558,7 +558,7 @@ func GetShareCardRetrievePickupCode() string {
|
||||||
for {
|
for {
|
||||||
rand.Seed(time.Now().UnixNano())
|
rand.Seed(time.Now().UnixNano())
|
||||||
code := fmt.Sprintf("%d", rand.Intn(1000000)+100000)
|
code := fmt.Sprintf("%d", rand.Intn(1000000)+100000)
|
||||||
//count, err := NewOrderQuerySet(DB).PickupCodeEq(code).Count()
|
//count, err := NewOrderQuerySet(DB).PickupCodeEq(code).TotalPage()
|
||||||
count, err := NewShareCardRetrieveQuerySet(DB).PickupCodeEq(code).Count()
|
count, err := NewShareCardRetrieveQuerySet(DB).PickupCodeEq(code).Count()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
|
@ -728,7 +728,7 @@ func UnPayOrderSetCancel(uid uint32) {
|
||||||
// return errors.New("order id is 0")
|
// return errors.New("order id is 0")
|
||||||
// }
|
// }
|
||||||
// for _, v := range cardInfos {
|
// for _, v := range cardInfos {
|
||||||
// for i := 0; i < int(v.Count); i++ {
|
// for i := 0; i < int(v.TotalPage); i++ {
|
||||||
// //OrderCard{
|
// //OrderCard{
|
||||||
// // OrderId: m.ID,
|
// // OrderId: m.ID,
|
||||||
// // Uid: uint32(m.Uid),
|
// // Uid: uint32(m.Uid),
|
||||||
|
|
|
@ -333,15 +333,21 @@ func NewSendUserVm(uid, nAmount, nType uint32) error {
|
||||||
describe := ""
|
describe := ""
|
||||||
event := ""
|
event := ""
|
||||||
|
|
||||||
if nType == 2 { // 开通会员
|
if nType == 2 { // 开通租卡会员
|
||||||
describe = "开通会员"
|
describe = "开通租卡会员"
|
||||||
event = VmEventOpenMember
|
event = VmEventOpenMember
|
||||||
} else if nType == 3 { // 续费会员
|
} else if nType == 3 { // 续费租卡会员
|
||||||
describe = "续费/升级会员"
|
describe = "续费租卡会员"
|
||||||
event = VmEventRenewMember
|
event = VmEventRenewMember
|
||||||
} else if nType == 4 { // 升级会员
|
} else if nType == 4 { // 升级租卡会员
|
||||||
describe = "续费/升级会员"
|
describe = "升级租卡会员"
|
||||||
event = VmEventUpgradeMember
|
event = VmEventUpgradeMember
|
||||||
|
} else if nType == 5 { // 开通尊享会员
|
||||||
|
describe = "开通尊享会员"
|
||||||
|
event = VmEventOpenPrivilegeMember
|
||||||
|
} else if nType == 6 { // 续费尊享会员
|
||||||
|
describe = "续费尊享会员"
|
||||||
|
event = VmEventRenewPrivilegeMember
|
||||||
} else {
|
} else {
|
||||||
logger.Errorf("err:", "记录会员积分失败,nType类型错误为:%d", nType)
|
logger.Errorf("err:", "记录会员积分失败,nType类型错误为:%d", nType)
|
||||||
return errors.New("记录会员积分失败")
|
return errors.New("记录会员积分失败")
|
||||||
|
|
|
@ -160,7 +160,7 @@ type ShareCardVmRecord struct {
|
||||||
|
|
||||||
//type UserShareCardBillInfo struct {
|
//type UserShareCardBillInfo struct {
|
||||||
// GameCardId uint32 `json:"game_card_id"`
|
// GameCardId uint32 `json:"game_card_id"`
|
||||||
// Count uint32 `json:"count"`
|
// TotalPage uint32 `json:"count"`
|
||||||
//}
|
//}
|
||||||
|
|
||||||
// 用户收回卡
|
// 用户收回卡
|
||||||
|
@ -458,7 +458,7 @@ func GetUserShareCardGameList(uid uint32, page, pageSize int, label string) ([]G
|
||||||
//countSql := strings.Replace(sql, "SELECT *", "SELECT COUNT(*) ", -1)
|
//countSql := strings.Replace(sql, "SELECT *", "SELECT COUNT(*) ", -1)
|
||||||
fmt.Println("countSql:", countSql)
|
fmt.Println("countSql:", countSql)
|
||||||
err := DB.Raw(countSql).Scan(&count).Error
|
err := DB.Raw(countSql).Scan(&count).Error
|
||||||
//count, err := qs.Count()
|
//count, err := qs.TotalPage()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("user share card bill count err:", err)
|
logger.Error("user share card bill count err:", err)
|
||||||
return games, 0, err
|
return games, 0, err
|
||||||
|
|
|
@ -1195,7 +1195,7 @@ type InviteMemberReportListReq struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type InviteMemberReportListResp struct {
|
type InviteMemberReportListResp struct {
|
||||||
CurPage int `json:"cur_page"`
|
PageNum int `json:"page_num"`
|
||||||
TotalPage int `json:"total_page"`
|
TotalPage int `json:"total_page"`
|
||||||
Count int `json:"count"` // 总记录数
|
Count int `json:"count"` // 总记录数
|
||||||
List []InviteMemberReport `json:"list"`
|
List []InviteMemberReport `json:"list"`
|
||||||
|
@ -1494,11 +1494,13 @@ const (
|
||||||
UpgradeGoldToPlatinumAuto // 18-黄金→白金(自动)
|
UpgradeGoldToPlatinumAuto // 18-黄金→白金(自动)
|
||||||
UpgradeGoldToBlackAuto // 19-黄金→黑金(自动)
|
UpgradeGoldToBlackAuto // 19-黄金→黑金(自动)
|
||||||
UpgradePlatinumToBlackAuto // 20-白金→黑金(自动)
|
UpgradePlatinumToBlackAuto // 20-白金→黑金(自动)
|
||||||
|
OpenAnnualPrivilege // 21 开通年费尊享会员
|
||||||
|
RenewAnnualPrivilegeAuto // 22 续费年费尊享会员(自动)
|
||||||
)
|
)
|
||||||
|
|
||||||
type NewUserInviteRecordReq struct {
|
type NewUserInviteRecordReq struct {
|
||||||
PageNum int `json:"pageIndex"`
|
PageNum int `json:"page_num"`
|
||||||
PageSize int `json:"pageSize"`
|
PageSize int `json:"page_size"`
|
||||||
FromUid uint32 `json:"from_uid"` // 邀请人ID
|
FromUid uint32 `json:"from_uid"` // 邀请人ID
|
||||||
ToUid uint32 `json:"to_uid"` // 用户ID
|
ToUid uint32 `json:"to_uid"` // 用户ID
|
||||||
RecordType []uint32 `json:"record_type"` // 记录类型 1-首次邀请,2-开通年费黄金,3-开通季度黄金,4-开通半年黄金, 5-开通年费白金,6-开通年费黑金,7-续费年费黄金(干预),8-续费年费白金(干预),9-续费年费黑金(干预),10-续费年费黄金(自动), 11-续费季度黄金(自动),12-续费半年黄金(自动),13-续费年费白金(自动),14-续费年费黑金(自动),15-黄金→白金(干预), 16-黄金→黑金(干预),17-白金→黑金(干预),18-黄金→白金(自动),19-黄金→黑金(自动),20-白金→黑金(自动)
|
RecordType []uint32 `json:"record_type"` // 记录类型 1-首次邀请,2-开通年费黄金,3-开通季度黄金,4-开通半年黄金, 5-开通年费白金,6-开通年费黑金,7-续费年费黄金(干预),8-续费年费白金(干预),9-续费年费黑金(干预),10-续费年费黄金(自动), 11-续费季度黄金(自动),12-续费半年黄金(自动),13-续费年费白金(自动),14-续费年费黑金(自动),15-黄金→白金(干预), 16-黄金→黑金(干预),17-白金→黑金(干预),18-黄金→白金(自动),19-黄金→黑金(自动),20-白金→黑金(自动)
|
||||||
|
@ -1507,8 +1509,9 @@ type NewUserInviteRecordReq struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserInviteRecordListResp struct {
|
type UserInviteRecordListResp struct {
|
||||||
|
TotalPage int `json:"total_page"` // 总页数
|
||||||
|
PageNum int `json:"page_num"` // 页码
|
||||||
Count int `json:"count"` // 总记录数
|
Count int `json:"count"` // 总记录数
|
||||||
PageIndex int `json:"pageIndex"` // 页码
|
|
||||||
List []UserInviteRecordListData `json:"list"`
|
List []UserInviteRecordListData `json:"list"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1659,6 +1662,11 @@ func (m *NewUserInviteRecordReq) NewList() (*UserInviteRecordListResp, error) {
|
||||||
recordTypeConditions = append(recordTypeConditions, "(user_invite_record.member_level=5 AND spend_type=4 AND renew_hide=1 AND user_invite_record.member_genre in (200,201,202))")
|
recordTypeConditions = append(recordTypeConditions, "(user_invite_record.member_level=5 AND spend_type=4 AND renew_hide=1 AND user_invite_record.member_genre in (200,201,202))")
|
||||||
case 20:
|
case 20:
|
||||||
recordTypeConditions = append(recordTypeConditions, "(user_invite_record.member_level=5 AND spend_type=4 AND renew_hide=1 AND user_invite_record.member_genre not in (200,201,202))")
|
recordTypeConditions = append(recordTypeConditions, "(user_invite_record.member_level=5 AND spend_type=4 AND renew_hide=1 AND user_invite_record.member_genre not in (200,201,202))")
|
||||||
|
|
||||||
|
case 21: // 开通年费尊享会员
|
||||||
|
recordTypeConditions = append(recordTypeConditions, "(user_invite_record.member_level=6 AND spend_type=2)")
|
||||||
|
case 22: // 续费年费尊享会员(自动)
|
||||||
|
recordTypeConditions = append(recordTypeConditions, "(user_invite_record.member_level=6 AND spend_type=3 AND renew_hide=1)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1704,7 +1712,8 @@ func (m *NewUserInviteRecordReq) NewList() (*UserInviteRecordListResp, error) {
|
||||||
listData = append(listData, data)
|
listData = append(listData, data)
|
||||||
}
|
}
|
||||||
resp.List = listData
|
resp.List = listData
|
||||||
resp.PageIndex = m.PageNum
|
resp.PageNum = m.PageNum
|
||||||
|
resp.TotalPage = count/m.PageSize + 1
|
||||||
resp.Count = count
|
resp.Count = count
|
||||||
|
|
||||||
return resp, nil
|
return resp, nil
|
||||||
|
@ -1723,6 +1732,8 @@ func CalculateMemberType(spendType, renewHide, memberGenre, memberLevel uint32)
|
||||||
return OpenAnnualPlatinum
|
return OpenAnnualPlatinum
|
||||||
case 5:
|
case 5:
|
||||||
return OpenAnnualBlack
|
return OpenAnnualBlack
|
||||||
|
case 6:
|
||||||
|
return OpenAnnualPrivilege
|
||||||
}
|
}
|
||||||
case spendType == 3 && renewHide == 0:
|
case spendType == 3 && renewHide == 0:
|
||||||
switch memberLevel {
|
switch memberLevel {
|
||||||
|
@ -1741,6 +1752,8 @@ func CalculateMemberType(spendType, renewHide, memberGenre, memberLevel uint32)
|
||||||
return RenewAnnualPlatinumAuto
|
return RenewAnnualPlatinumAuto
|
||||||
case 5:
|
case 5:
|
||||||
return RenewAnnualBlackAuto
|
return RenewAnnualBlackAuto
|
||||||
|
case 6:
|
||||||
|
return RenewAnnualPrivilegeAuto
|
||||||
}
|
}
|
||||||
case spendType == 4 && renewHide == 0:
|
case spendType == 4 && renewHide == 0:
|
||||||
switch memberLevel {
|
switch memberLevel {
|
||||||
|
|
|
@ -12,14 +12,16 @@ const (
|
||||||
//VmEventExchangeGoods = "exchange_goods"
|
//VmEventExchangeGoods = "exchange_goods"
|
||||||
VmEventBuyGoods = "buy_goods" // 购买商品积分抵扣
|
VmEventBuyGoods = "buy_goods" // 购买商品积分抵扣
|
||||||
VmEventBuyGoodsReject = "buy_goods_reject" // 购买商品积分抵扣取消
|
VmEventBuyGoodsReject = "buy_goods_reject" // 购买商品积分抵扣取消
|
||||||
VmEventOpenMember = "open_member" // 开通会员奖励
|
VmEventOpenMember = "open_member" // 开通租卡会员奖励
|
||||||
VmEventRenewMember = "renew_member" // 续费会员奖励
|
VmEventRenewMember = "renew_member" // 续费租卡会员奖励
|
||||||
VmEventUpgradeMember = "upgrade_member" // 升级会员奖励
|
VmEventUpgradeMember = "upgrade_member" // 升级租卡会员奖励
|
||||||
VmEventInvite1Member = "invite_1_member" // 邀请会员奖励
|
VmEventInvite1Member = "invite_1_member" // 邀请会员奖励
|
||||||
VmEventInvite2Member = "invite_2_member" // 邀请会员奖励
|
VmEventInvite2Member = "invite_2_member" // 邀请会员奖励
|
||||||
VmEventAttendance = "attendance" // 签到获取积分
|
VmEventAttendance = "attendance" // 签到获取积分
|
||||||
VmEventErpOrderSale = "erp_order_sale" // 零售销售获得积分
|
VmEventErpOrderSale = "erp_order_sale" // 零售销售获得积分
|
||||||
VmEventErpOrderReject = "erp_order_reject" // 零售退货扣除积分
|
VmEventErpOrderReject = "erp_order_reject" // 零售退货扣除积分
|
||||||
|
VmEventOpenPrivilegeMember = "open_privilege_member" // 开通尊享会员奖励
|
||||||
|
VmEventRenewPrivilegeMember = "renew_privilege_member" // 续费尊享会员奖励
|
||||||
)
|
)
|
||||||
|
|
||||||
// 用户积分
|
// 用户积分
|
||||||
|
@ -46,7 +48,7 @@ type UserVmRecord struct {
|
||||||
Describe string `json:"describe" gorm:"type:text"` // 描述
|
Describe string `json:"describe" gorm:"type:text"` // 描述
|
||||||
ErpOrderId uint32 `json:"erp_order_id" gorm:"index"` // 零售订单id
|
ErpOrderId uint32 `json:"erp_order_id" gorm:"index"` // 零售订单id
|
||||||
BillSn string `json:"bill_sn"` // 零售订单编号
|
BillSn string `json:"bill_sn"` // 零售订单编号
|
||||||
ExpiryDate time.Time `json:"expiry_date"` // 积分过期时间
|
ExpiryDate *time.Time `json:"expiry_date"` // 积分过期时间
|
||||||
UsedVm int `json:"used_vm"` // 已使用积分
|
UsedVm int `json:"used_vm"` // 已使用积分
|
||||||
ExpiryVm int `json:"expiry_vm" gorm:"-"` // 即将过期的积分
|
ExpiryVm int `json:"expiry_vm" gorm:"-"` // 即将过期的积分
|
||||||
}
|
}
|
||||||
|
@ -106,7 +108,8 @@ func UserVmUpdate(uid uint32, amount int, event, describe string) error {
|
||||||
|
|
||||||
// 如果是正积分,则记录该订单对应积分的有效时间
|
// 如果是正积分,则记录该订单对应积分的有效时间
|
||||||
if amount > 0 {
|
if amount > 0 {
|
||||||
vmRecord.ExpiryDate = time.Now().AddDate(1, 0, 0)
|
expireTime := time.Now().AddDate(1, 0, 0)
|
||||||
|
vmRecord.ExpiryDate = &expireTime
|
||||||
if event == VmEventBuyGoodsReject { // 使用积分购买商品后取消
|
if event == VmEventBuyGoodsReject { // 使用积分购买商品后取消
|
||||||
err = RefundPoints(begin, uid, amount)
|
err = RefundPoints(begin, uid, amount)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -163,13 +166,15 @@ func UsePoints(gdb *gorm.DB, uid uint32, points int) error {
|
||||||
remaining := points
|
remaining := points
|
||||||
|
|
||||||
for _, record := range records {
|
for _, record := range records {
|
||||||
|
if record.ExpiryDate != nil && record.ExpiryDate.IsZero() {
|
||||||
|
record.ExpiryDate = nil
|
||||||
|
}
|
||||||
available := record.Alter - record.UsedVm // 计算该订单剩余可用积分
|
available := record.Alter - record.UsedVm // 计算该订单剩余可用积分
|
||||||
|
|
||||||
if available >= remaining {
|
if available >= remaining {
|
||||||
// 该订单的剩余积分足够
|
// 该订单的剩余积分足够
|
||||||
record.UsedVm += remaining
|
record.UsedVm += remaining
|
||||||
// 更新积分记录
|
// 更新积分记录
|
||||||
err := gdb.Omit("created_at").Save(record).Error
|
err := gdb.Model(&record).Where("id = ?", record.ID).Updates(record).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("update user_vm_record err:", err)
|
logger.Error("update user_vm_record err:", err)
|
||||||
return err
|
return err
|
||||||
|
@ -180,7 +185,7 @@ func UsePoints(gdb *gorm.DB, uid uint32, points int) error {
|
||||||
record.UsedVm = record.Alter
|
record.UsedVm = record.Alter
|
||||||
remaining -= available
|
remaining -= available
|
||||||
// 更新积分记录
|
// 更新积分记录
|
||||||
err := gdb.Omit("created_at").Save(record).Error
|
err := gdb.Model(&record).Where("id = ?", record.ID).Updates(record).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("update user_vm_record err:", err)
|
logger.Error("update user_vm_record err:", err)
|
||||||
return err
|
return err
|
||||||
|
@ -219,7 +224,7 @@ func RefundPoints(gdb *gorm.DB, uid uint32, points int) error {
|
||||||
// 该订单已使用的积分足够返还
|
// 该订单已使用的积分足够返还
|
||||||
record.UsedVm -= remaining
|
record.UsedVm -= remaining
|
||||||
// 更新积分记录
|
// 更新积分记录
|
||||||
err := gdb.Omit("created_at").Save(record).Error
|
err := gdb.Model(&record).Where("id = ?", record.ID).Updates(record).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("RefundPoints update user_vm_record err:", err)
|
logger.Error("RefundPoints update user_vm_record err:", err)
|
||||||
return err
|
return err
|
||||||
|
@ -230,7 +235,8 @@ func RefundPoints(gdb *gorm.DB, uid uint32, points int) error {
|
||||||
record.UsedVm = 0
|
record.UsedVm = 0
|
||||||
remaining -= used
|
remaining -= used
|
||||||
// 更新积分记录
|
// 更新积分记录
|
||||||
err := gdb.Omit("created_at").Save(record).Error
|
err := gdb.Model(&record).Where("id = ?", record.ID).Updates(record).Error
|
||||||
|
//err := gdb.Omit("created_at").Save(record).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("RefundPoints update user_vm_record err:", err)
|
logger.Error("RefundPoints update user_vm_record err:", err)
|
||||||
return err
|
return err
|
||||||
|
|
Loading…
Reference in New Issue
Block a user