1.注册会员账户时合作商id默认设置为1;
2.生成用户邀请记录时记录用户id; 3.修复首页"抢光了"、"不在本店"显示不准的缺陷; 4.用户升级时抵扣金规则调整,修复之前短期升级白金/黑金多收费问题。
This commit is contained in:
parent
fdc30f76d8
commit
b21dc14bcf
3
Makefile
3
Makefile
|
@ -16,6 +16,9 @@ build-sqlite:
|
||||||
dev:
|
dev:
|
||||||
GOOS=linux GOARCH=amd64 go build -o dev_app_server main.go
|
GOOS=linux GOARCH=amd64 go build -o dev_app_server main.go
|
||||||
|
|
||||||
|
beta:
|
||||||
|
GOOS=linux GOARCH=amd64 go build -o test_app_server main.go
|
||||||
|
|
||||||
pro:
|
pro:
|
||||||
GOOS=linux GOARCH=amd64 go build -o app_server main.go
|
GOOS=linux GOARCH=amd64 go build -o app_server main.go
|
||||||
|
|
||||||
|
|
|
@ -86,11 +86,12 @@ func AuthLogin(c *gin.Context) {
|
||||||
_ = model.NewUserQuerySet(model.DB).UidEq(user.Uid).GetUpdater().SetTel(phone.PhoneNumber).Update()
|
_ = model.NewUserQuerySet(model.DB).UidEq(user.Uid).GetUpdater().SetTel(phone.PhoneNumber).Update()
|
||||||
} else { // 通过openid也未查询到数据
|
} else { // 通过openid也未查询到数据
|
||||||
user = model.User{
|
user = model.User{
|
||||||
WxOpenID: resp.OpenID,
|
WxOpenID: resp.OpenID,
|
||||||
WxUnionID: resp.UnionID,
|
WxUnionID: resp.UnionID,
|
||||||
LastLoginAt: nowTime,
|
LastLoginAt: nowTime,
|
||||||
MemberLevel: model.MemberLevelUser, // 普通会员
|
MemberLevel: model.MemberLevelUser, // 普通会员
|
||||||
Tel: phone.PhoneNumber,
|
Tel: phone.PhoneNumber,
|
||||||
|
CooperativeBusinessId: 1,
|
||||||
}
|
}
|
||||||
user.Uid = createUid() // 新建uid
|
user.Uid = createUid() // 新建uid
|
||||||
err = user.Create(model.DB)
|
err = user.Create(model.DB)
|
||||||
|
@ -215,6 +216,7 @@ func AuthLogin(c *gin.Context) {
|
||||||
//user.WxName = userInfo.Nickname
|
//user.WxName = userInfo.Nickname
|
||||||
//user.WxAvatar = userInfo.Avatar
|
//user.WxAvatar = userInfo.Avatar
|
||||||
user.CreatedAt = nowTime
|
user.CreatedAt = nowTime
|
||||||
|
user.CooperativeBusinessId = 1
|
||||||
err = model.UserUpdate(&user)
|
err = model.UserUpdate(&user)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("WxOpenIDEq:", err)
|
logger.Error("WxOpenIDEq:", err)
|
||||||
|
|
|
@ -686,6 +686,7 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
}
|
}
|
||||||
} else if err == model.RecordNotFound { // 没有邀请记录,完全是用户自己开通会员,自己续费;按产品要求也需要有记录
|
} else if err == model.RecordNotFound { // 没有邀请记录,完全是用户自己开通会员,自己续费;按产品要求也需要有记录
|
||||||
inviteRecordNew := &model.UserInviteRecord{
|
inviteRecordNew := &model.UserInviteRecord{
|
||||||
|
ToUid: user.Uid,
|
||||||
Action: 2,
|
Action: 2,
|
||||||
SpendType: spendType,
|
SpendType: spendType,
|
||||||
MemberLevel: record.MemberLevel,
|
MemberLevel: record.MemberLevel,
|
||||||
|
|
|
@ -425,8 +425,25 @@ func UpgradeMember(c *gin.Context) {
|
||||||
}
|
}
|
||||||
memberYare := 0
|
memberYare := 0
|
||||||
memberMendFee := int64(0)
|
memberMendFee := int64(0)
|
||||||
|
|
||||||
|
//// 抵扣金
|
||||||
|
//deductionFee := (((int64(memberFee) * deductionDays) / 365) / 100) * 100
|
||||||
|
|
||||||
|
// 2024-06-07修改,解决短期升级白金/黑金多收费问题
|
||||||
|
memberDays := int64(0)
|
||||||
|
switch req.MemberGenre {
|
||||||
|
case 201:
|
||||||
|
memberDays = 90
|
||||||
|
case 202:
|
||||||
|
memberDays = 180
|
||||||
|
default:
|
||||||
|
memberDays = 365
|
||||||
|
}
|
||||||
|
logger.Info("req.MemberGenre is:", req.MemberGenre)
|
||||||
|
logger.Info("memberDays is:", memberDays)
|
||||||
// 抵扣金
|
// 抵扣金
|
||||||
deductionFee := (((int64(memberFee) * deductionDays) / 365) / 100) * 100
|
deductionFee := (((int64(memberFee) * deductionDays) / memberDays) / 100) * 100
|
||||||
|
|
||||||
if deductionDays < 365 {
|
if deductionDays < 365 {
|
||||||
memberYare = 1
|
memberYare = 1
|
||||||
// 补会员费
|
// 补会员费
|
||||||
|
|
|
@ -9,8 +9,9 @@ import (
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:generate goqueryset -in game_card.go
|
|
||||||
// gen:qs
|
// gen:qs
|
||||||
|
//
|
||||||
|
//go:generate goqueryset -in game_card.go
|
||||||
type GameCard struct {
|
type GameCard struct {
|
||||||
Model
|
Model
|
||||||
|
|
||||||
|
@ -159,6 +160,13 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
gameIds := make([]uint32, 0)
|
gameIds := make([]uint32, 0)
|
||||||
gameIdMap := make(map[uint32]uint32)
|
gameIdMap := make(map[uint32]uint32)
|
||||||
|
|
||||||
|
effectiveStoreList := GetAllEffectiveStoreMap()
|
||||||
|
if len(effectiveStoreList) == 0 {
|
||||||
|
logger.Error("effectiveStoreList is null")
|
||||||
|
return nil, 0, errors.New("无有效门店")
|
||||||
|
}
|
||||||
|
effectiveStoreListStr := fmt.Sprintf("(%s)", strings.Trim(strings.Join(strings.Fields(fmt.Sprint(effectiveStoreList)), ","), "[]"))
|
||||||
|
|
||||||
if sortType == 1 {
|
if sortType == 1 {
|
||||||
if storeId != 0 {
|
if storeId != 0 {
|
||||||
//gameIds := make([]uint32, 0)
|
//gameIds := make([]uint32, 0)
|
||||||
|
@ -181,7 +189,7 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
//err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).RentStockGt(0).
|
//err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).RentStockGt(0).
|
||||||
// OrderDescByRentStock().All(&cardStocks)
|
// OrderDescByRentStock().All(&cardStocks)
|
||||||
//DB.Table("game_card_goods_stock").Joins("")
|
//DB.Table("game_card_goods_stock").Joins("")
|
||||||
cardStockSql1 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.store_id=%d AND a.rent_stock>0 ORDER BY b.id ASC;", storeId)
|
cardStockSql1 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.store_id=%d AND a.store_id IN %s AND a.rent_stock>0 ORDER BY b.id ASC;", storeId, effectiveStoreListStr)
|
||||||
err = DB.Raw(cardStockSql1).Scan(&cardStocks).Error
|
err = DB.Raw(cardStockSql1).Scan(&cardStocks).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("GetGameIdByType err:", err)
|
logger.Error("GetGameIdByType err:", err)
|
||||||
|
@ -198,7 +206,7 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
cardStocks = []GameCardGoodsStock{}
|
cardStocks = []GameCardGoodsStock{}
|
||||||
//err = NewGameCardGoodsStockQuerySet(DB).StoreIdNe(uint64(storeId)).RentStockGt(0).
|
//err = NewGameCardGoodsStockQuerySet(DB).StoreIdNe(uint64(storeId)).RentStockGt(0).
|
||||||
// OrderDescByRentStock().All(&cardStocks)
|
// OrderDescByRentStock().All(&cardStocks)
|
||||||
cardStockSql2 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.store_id!=%d AND a.rent_stock>0 ORDER BY b.id ASC;", storeId)
|
cardStockSql2 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.store_id!=%d AND a.store_id IN %s AND a.rent_stock>0 ORDER BY b.id ASC;", storeId, effectiveStoreListStr)
|
||||||
err = DB.Raw(cardStockSql2).Scan(&cardStocks).Error
|
err = DB.Raw(cardStockSql2).Scan(&cardStocks).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("GetGameIdByType err:", err)
|
logger.Error("GetGameIdByType err:", err)
|
||||||
|
@ -214,7 +222,7 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
|
|
||||||
cardStocks = []GameCardGoodsStock{}
|
cardStocks = []GameCardGoodsStock{}
|
||||||
//err = NewGameCardGoodsStockQuerySet(DB).RentStockEq(0).All(&cardStocks)
|
//err = NewGameCardGoodsStockQuerySet(DB).RentStockEq(0).All(&cardStocks)
|
||||||
cardStockSql3 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.rent_stock=0 ORDER BY b.id ASC;")
|
cardStockSql3 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.rent_stock=0 AND a.store_id IN %s ORDER BY b.id ASC;", effectiveStoreListStr)
|
||||||
err = DB.Raw(cardStockSql3).Scan(&cardStocks).Error
|
err = DB.Raw(cardStockSql3).Scan(&cardStocks).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("GetGameIdByType err:", err)
|
logger.Error("GetGameIdByType err:", err)
|
||||||
|
@ -228,14 +236,15 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(gameIds) > 0 {
|
// 有可能添加了游戏但没添加库存,添加这段代码后不会展示
|
||||||
qs = qs.IDIn(gameIds...)
|
//if len(gameIds) > 0 {
|
||||||
}
|
// qs = qs.IDIn(gameIds...)
|
||||||
|
//}
|
||||||
} else {
|
} else {
|
||||||
var cardStocks []GameCardGoodsStock
|
var cardStocks []GameCardGoodsStock
|
||||||
//err := NewGameCardGoodsStockQuerySet(DB).RentStockGt(0).
|
//err := NewGameCardGoodsStockQuerySet(DB).RentStockGt(0).
|
||||||
// OrderDescByRentStock().All(&cardStocks)
|
// OrderDescByRentStock().All(&cardStocks)
|
||||||
cardStockSql1 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.rent_stock>0 ORDER BY b.id ASC;")
|
cardStockSql1 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.rent_stock>0 AND a.store_id IN %s ORDER BY b.id ASC;", effectiveStoreListStr)
|
||||||
err = DB.Raw(cardStockSql1).Scan(&cardStocks).Error
|
err = DB.Raw(cardStockSql1).Scan(&cardStocks).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("GetGameIdByType err:", err)
|
logger.Error("GetGameIdByType err:", err)
|
||||||
|
@ -251,7 +260,7 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
|
|
||||||
cardStocks = []GameCardGoodsStock{}
|
cardStocks = []GameCardGoodsStock{}
|
||||||
//err = NewGameCardGoodsStockQuerySet(DB).RentStockEq(0).All(&cardStocks)
|
//err = NewGameCardGoodsStockQuerySet(DB).RentStockEq(0).All(&cardStocks)
|
||||||
cardStockSql2 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.rent_stock=0 ORDER BY b.id ASC;")
|
cardStockSql2 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.rent_stock=0 AND a.store_id IN %s ORDER BY b.id ASC;", effectiveStoreListStr)
|
||||||
err = DB.Raw(cardStockSql2).Scan(&cardStocks).Error
|
err = DB.Raw(cardStockSql2).Scan(&cardStocks).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("GetGameIdByType err:", err)
|
logger.Error("GetGameIdByType err:", err)
|
||||||
|
@ -264,9 +273,9 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
gameIdMap[uint32(cardStocks[i].GameCardId)] = 3
|
gameIdMap[uint32(cardStocks[i].GameCardId)] = 3
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(gameIds) > 0 {
|
//if len(gameIds) > 0 {
|
||||||
qs = qs.IDIn(gameIds...)
|
// qs = qs.IDIn(gameIds...)
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -286,7 +295,7 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
return cards, 0, err
|
return cards, 0, err
|
||||||
}
|
}
|
||||||
|
|
||||||
GameCardListSetStockState(cards, storeId)
|
GameCardListSetStockState(cards, storeId, effectiveStoreList)
|
||||||
} else {
|
} else {
|
||||||
err = qs.OrderDescByID().All(&cards)
|
err = qs.OrderDescByID().All(&cards)
|
||||||
//err = qs.OrderAscByID().All(&cards)
|
//err = qs.OrderAscByID().All(&cards)
|
||||||
|
@ -299,6 +308,13 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
|
||||||
cardMap := make(map[uint32]GameCard, 0)
|
cardMap := make(map[uint32]GameCard, 0)
|
||||||
for i, _ := range cards {
|
for i, _ := range cards {
|
||||||
cardMap[cards[i].ID] = cards[i]
|
cardMap[cards[i].ID] = cards[i]
|
||||||
|
|
||||||
|
// 如果游戏列表有记录,但游戏库存列表无记录;则也添加到gameIds,库存记录为3无库存
|
||||||
|
_, ok := gameIdMap[cards[i].ID]
|
||||||
|
if !ok {
|
||||||
|
gameIds = append(gameIds, uint32(cards[i].ID))
|
||||||
|
gameIdMap[cards[i].ID] = 3
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for i, _ := range gameIds {
|
for i, _ := range gameIds {
|
||||||
v, ok1 := cardMap[gameIds[i]]
|
v, ok1 := cardMap[gameIds[i]]
|
||||||
|
@ -456,9 +472,16 @@ func GetGameCardInfo(id uint64, storeId uint32) (GameCard, error) {
|
||||||
return game, err
|
return game, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
effectiveStoreList := GetAllEffectiveStoreMap()
|
||||||
|
if len(effectiveStoreList) == 0 {
|
||||||
|
logger.Error("effectiveStoreList is null")
|
||||||
|
return GameCard{}, errors.New("无有效门店")
|
||||||
|
}
|
||||||
|
|
||||||
var cardStock GameCardGoodsStock
|
var cardStock GameCardGoodsStock
|
||||||
if storeId != 0 {
|
if storeId != 0 {
|
||||||
err = NewGameCardGoodsStockQuerySet(DB).GameCardIdEq(uint64(game.ID)).StoreIdEq(uint64(storeId)).One(&cardStock)
|
err = NewGameCardGoodsStockQuerySet(DB).GameCardIdEq(uint64(game.ID)).StoreIdEq(uint64(storeId)).
|
||||||
|
StoreIdIn(uint32ToUint64(effectiveStoreList)...).One(&cardStock)
|
||||||
if err != nil && err != RecordNotFound {
|
if err != nil && err != RecordNotFound {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
return game, nil
|
return game, nil
|
||||||
|
@ -470,7 +493,8 @@ func GetGameCardInfo(id uint64, storeId uint32) (GameCard, error) {
|
||||||
|
|
||||||
cardStock = GameCardGoodsStock{}
|
cardStock = GameCardGoodsStock{}
|
||||||
err = NewGameCardGoodsStockQuerySet(DB).GameCardIdEq(uint64(game.ID)).
|
err = NewGameCardGoodsStockQuerySet(DB).GameCardIdEq(uint64(game.ID)).
|
||||||
StoreIdNe(uint64(storeId)).RentStockGt(0).One(&cardStock)
|
StoreIdNe(uint64(storeId)).StoreIdIn(uint32ToUint64(effectiveStoreList)...).
|
||||||
|
RentStockGt(0).One(&cardStock)
|
||||||
if err != nil && err != RecordNotFound {
|
if err != nil && err != RecordNotFound {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
return game, nil
|
return game, nil
|
||||||
|
@ -481,7 +505,8 @@ func GetGameCardInfo(id uint64, storeId uint32) (GameCard, error) {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
cardStock = GameCardGoodsStock{}
|
cardStock = GameCardGoodsStock{}
|
||||||
err = NewGameCardGoodsStockQuerySet(DB).GameCardIdEq(uint64(game.ID)).RentStockGt(0).One(&cardStock)
|
err = NewGameCardGoodsStockQuerySet(DB).GameCardIdEq(uint64(game.ID)).RentStockGt(0).
|
||||||
|
StoreIdIn(uint32ToUint64(effectiveStoreList)...).One(&cardStock)
|
||||||
if err != nil && err != RecordNotFound {
|
if err != nil && err != RecordNotFound {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
return game, nil
|
return game, nil
|
||||||
|
@ -1749,7 +1774,15 @@ func (m *AssistantMemberPromotionReq) List() ([]InviteMemberReport, int, error)
|
||||||
return reports, totalPage, nil
|
return reports, totalPage, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func GameCardListSetStockState(list []GameCard, storeId uint32) {
|
func uint32ToUint64(slice []uint32) []uint64 {
|
||||||
|
result := make([]uint64, len(slice))
|
||||||
|
for i, v := range slice {
|
||||||
|
result[i] = uint64(v)
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
func GameCardListSetStockState(list []GameCard, storeId uint32, storeList []uint32) {
|
||||||
gameCardIds := make([]uint64, 0, len(list))
|
gameCardIds := make([]uint64, 0, len(list))
|
||||||
for i, _ := range list {
|
for i, _ := range list {
|
||||||
gameCardIds = append(gameCardIds, uint64(list[i].ID))
|
gameCardIds = append(gameCardIds, uint64(list[i].ID))
|
||||||
|
@ -1761,8 +1794,21 @@ func GameCardListSetStockState(list []GameCard, storeId uint32) {
|
||||||
gameIdMap := make(map[uint32]uint32)
|
gameIdMap := make(map[uint32]uint32)
|
||||||
if storeId != 0 {
|
if storeId != 0 {
|
||||||
var cardStocks []GameCardGoodsStock
|
var cardStocks []GameCardGoodsStock
|
||||||
err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).GameCardIdIn(gameCardIds...).
|
err := NewGameCardGoodsStockQuerySet(DB).GameCardIdIn(gameCardIds...).StoreIdIn(uint32ToUint64(storeList)...).
|
||||||
RentStockGt(0).All(&cardStocks)
|
RentStockEq(0).All(&cardStocks)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("GetGameIdByType err:", err)
|
||||||
|
}
|
||||||
|
for i, _ := range cardStocks {
|
||||||
|
_, ok := gameIdMap[uint32(cardStocks[i].GameCardId)]
|
||||||
|
if !ok {
|
||||||
|
//gameIds = append(gameIds, uint32(cardStocks[i].GameCardId))
|
||||||
|
gameIdMap[uint32(cardStocks[i].GameCardId)] = 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
err = NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).StoreIdIn(uint32ToUint64(storeList)...).
|
||||||
|
GameCardIdIn(gameCardIds...).RentStockGt(0).All(&cardStocks)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("GetGameIdByType err:", err)
|
logger.Error("GetGameIdByType err:", err)
|
||||||
}
|
}
|
||||||
|
@ -1774,8 +1820,8 @@ func GameCardListSetStockState(list []GameCard, storeId uint32) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
err = NewGameCardGoodsStockQuerySet(DB).StoreIdNe(uint64(storeId)).GameCardIdIn(gameCardIds...).
|
err = NewGameCardGoodsStockQuerySet(DB).StoreIdNe(uint64(storeId)).StoreIdIn(uint32ToUint64(storeList)...).
|
||||||
RentStockGt(0).All(&cardStocks)
|
GameCardIdIn(gameCardIds...).RentStockGt(0).All(&cardStocks)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("GetGameIdByType err:", err)
|
logger.Error("GetGameIdByType err:", err)
|
||||||
}
|
}
|
||||||
|
@ -1787,22 +1833,22 @@ func GameCardListSetStockState(list []GameCard, storeId uint32) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
err = NewGameCardGoodsStockQuerySet(DB).GameCardIdIn(gameCardIds...).RentStockEq(0).All(&cardStocks)
|
} else {
|
||||||
|
var cardStocks []GameCardGoodsStock
|
||||||
|
err := NewGameCardGoodsStockQuerySet(DB).GameCardIdIn(gameCardIds...).StoreIdIn(uint32ToUint64(storeList)...).
|
||||||
|
RentStockEq(0).All(&cardStocks)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("GetGameIdByType err:", err)
|
logger.Error("GetGameIdByType err:", err)
|
||||||
}
|
}
|
||||||
for i, _ := range cardStocks {
|
for i, _ := range cardStocks {
|
||||||
_, ok := gameIdMap[uint32(cardStocks[i].GameCardId)]
|
_, ok := gameIdMap[uint32(cardStocks[i].GameCardId)]
|
||||||
if !ok {
|
if !ok {
|
||||||
//gameIds = append(gameIds, uint32(cardStocks[i].GameCardId))
|
|
||||||
gameIdMap[uint32(cardStocks[i].GameCardId)] = 3
|
gameIdMap[uint32(cardStocks[i].GameCardId)] = 3
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
err = NewGameCardGoodsStockQuerySet(DB).GameCardIdIn(gameCardIds...).StoreIdIn(uint32ToUint64(storeList)...).
|
||||||
var cardStocks []GameCardGoodsStock
|
RentStockGt(0).All(&cardStocks)
|
||||||
err := NewGameCardGoodsStockQuerySet(DB).GameCardIdIn(gameCardIds...).RentStockGt(0).
|
|
||||||
All(&cardStocks)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("GetGameIdByType err:", err)
|
logger.Error("GetGameIdByType err:", err)
|
||||||
}
|
}
|
||||||
|
@ -1812,18 +1858,6 @@ func GameCardListSetStockState(list []GameCard, storeId uint32) {
|
||||||
gameIdMap[uint32(cardStocks[i].GameCardId)] = 1
|
gameIdMap[uint32(cardStocks[i].GameCardId)] = 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
err = NewGameCardGoodsStockQuerySet(DB).GameCardIdIn(gameCardIds...).RentStockEq(0).All(&cardStocks)
|
|
||||||
if err != nil {
|
|
||||||
logger.Error("GetGameIdByType err:", err)
|
|
||||||
}
|
|
||||||
for i, _ := range cardStocks {
|
|
||||||
_, ok := gameIdMap[uint32(cardStocks[i].GameCardId)]
|
|
||||||
if !ok {
|
|
||||||
gameIdMap[uint32(cardStocks[i].GameCardId)] = 3
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, _ := range list {
|
for i, _ := range list {
|
||||||
|
@ -1831,6 +1865,8 @@ func GameCardListSetStockState(list []GameCard, storeId uint32) {
|
||||||
if ok {
|
if ok {
|
||||||
//gameIdMap[uint32(cardStocks[i].GameCardId)] = 3
|
//gameIdMap[uint32(cardStocks[i].GameCardId)] = 3
|
||||||
list[i].StockState = v
|
list[i].StockState = v
|
||||||
|
} else {
|
||||||
|
list[i].StockState = 3 // 如果以上都没找到,则应该是没库存
|
||||||
}
|
}
|
||||||
//gameCardIds = append(gameCardIds, uint64(list[i].ID))
|
//gameCardIds = append(gameCardIds, uint64(list[i].ID))
|
||||||
}
|
}
|
||||||
|
|
|
@ -235,6 +235,21 @@ func GetAllStoreMap() map[uint32]Store {
|
||||||
return storeMap
|
return storeMap
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetAllEffectiveStoreMap() []uint32 {
|
||||||
|
var storeList []uint32
|
||||||
|
var stores []Store
|
||||||
|
err := DB.Table("store").Where("member_service = 1").Find(&stores).Error
|
||||||
|
if err != nil {
|
||||||
|
logger.Errorf("err:%s", err)
|
||||||
|
return storeList
|
||||||
|
}
|
||||||
|
for i, _ := range stores {
|
||||||
|
storeList = append(storeList, stores[i].ID)
|
||||||
|
}
|
||||||
|
|
||||||
|
return storeList
|
||||||
|
}
|
||||||
|
|
||||||
func CannibalizeGameCardGoodsSetInfo(goodses []CannibalizeGameCardGoods) []CannibalizeGameCardGoods {
|
func CannibalizeGameCardGoodsSetInfo(goodses []CannibalizeGameCardGoods) []CannibalizeGameCardGoods {
|
||||||
if len(goodses) == 0 {
|
if len(goodses) == 0 {
|
||||||
return goodses
|
return goodses
|
||||||
|
|
Loading…
Reference in New Issue
Block a user