fix:
This commit is contained in:
parent
8575db059a
commit
b5972292ab
|
@ -28,6 +28,8 @@ func AuthLogin(c *gin.Context) {
|
|||
}
|
||||
fmt.Println("WxAppId", config.AppConfig.WxAppId)
|
||||
fmt.Println("WxAppSecret", config.AppConfig.WxAppSecret)
|
||||
model.AuthLoginMutex.Lock()
|
||||
defer model.AuthLoginMutex.Unlock()
|
||||
|
||||
resp, err := weapp.Login(config.AppConfig.WxAppId, config.AppConfig.WxAppSecret, req.Code)
|
||||
if err != nil {
|
||||
|
|
|
@ -334,7 +334,7 @@ func PushWXPayNotice(c *gin.Context) {
|
|||
if invite.FromUid != 0 {
|
||||
inviteUser := model.GetUserByUid(invite.FromUid)
|
||||
if inviteUser.UserType != 2 && user.MemberLevel != 2 {
|
||||
err := model.CodeSendToUser(invite.FromUid, model.CodeTypeMemberCard30)
|
||||
err := model.CodeSendToUser(invite.FromUid, model.CodeTypeMemberCard30,model.RedeemCodeActivityTypeUserInvite)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
}
|
||||
|
@ -343,6 +343,13 @@ func PushWXPayNotice(c *gin.Context) {
|
|||
}
|
||||
}
|
||||
|
||||
if user.MemberLevel != 2 {
|
||||
err = model.CodeSendToUser(user.Uid, model.CodeTypeMemberCard30,model.RedeemCodeActivityTypeStore)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fmt.Println("notify.TotalFee:", notify.TotalFee)
|
||||
|
|
|
@ -3,6 +3,7 @@ package controller
|
|||
import (
|
||||
"github.com/codinl/go-logger"
|
||||
"github.com/gin-gonic/gin"
|
||||
"mh-server/lib/auth"
|
||||
"mh-server/lib/status"
|
||||
"mh-server/model"
|
||||
)
|
||||
|
@ -45,3 +46,113 @@ func StoreInfo(c *gin.Context) {
|
|||
RespOK(c, store)
|
||||
return
|
||||
}
|
||||
|
||||
func ShoppingCartAdd(c *gin.Context) {
|
||||
req := &struct {
|
||||
GameCardId uint32 `json:"game_card_id"`
|
||||
AddType uint32 `json:"add_type"` // 1-加 2-减
|
||||
}{}
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
logger.Error(err)
|
||||
RespJson(c, status.BadRequest, nil)
|
||||
return
|
||||
}
|
||||
if req.GameCardId == 0 {
|
||||
logger.Error("GameCardId is 0")
|
||||
RespJson(c, status.BadRequest, nil)
|
||||
return
|
||||
}
|
||||
uc := auth.GetCurrentUser(c)
|
||||
if uc == nil {
|
||||
RespJson(c, status.Unauthorized, nil)
|
||||
return
|
||||
}
|
||||
|
||||
var shoppingCart model.ShoppingCart
|
||||
err := model.NewShoppingCartQuerySet(model.DB).UidEq(uint64(uc.Uid)).GameCardIdEq(uint64(req.GameCardId)).One(&shoppingCart)
|
||||
if err != nil && err != model.RecordNotFound {
|
||||
logger.Error("err:", err)
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
if err == model.RecordNotFound {
|
||||
shoppingCart = model.ShoppingCart{
|
||||
Uid: uint64(uc.Uid),
|
||||
GameCardId: uint64(req.GameCardId),
|
||||
Count: 1,
|
||||
}
|
||||
err := model.DB.Create(&shoppingCart).Error
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
RespOK(c, shoppingCart)
|
||||
return
|
||||
}
|
||||
|
||||
if req.AddType == 1 {
|
||||
shoppingCart.Count += 1
|
||||
} else if req.AddType == 2 {
|
||||
shoppingCart.Count -= 1
|
||||
}
|
||||
|
||||
_, err = model.NewShoppingCartQuerySet(model.DB).IDEq(shoppingCart.ID).GetUpdater().SetCount(shoppingCart.Count).UpdateNum()
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
|
||||
RespOK(c, shoppingCart)
|
||||
return
|
||||
}
|
||||
|
||||
func ShoppingCartList(c *gin.Context) {
|
||||
req := &model.ShoppingCartListReq{}
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
logger.Error(err)
|
||||
RespJson(c, status.BadRequest, nil)
|
||||
return
|
||||
}
|
||||
uc := auth.GetCurrentUser(c)
|
||||
if uc == nil {
|
||||
RespJson(c, status.Unauthorized, nil)
|
||||
return
|
||||
}
|
||||
req.Uid = uc.Uid
|
||||
list, err := req.List()
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
|
||||
RespOK(c, list)
|
||||
return
|
||||
}
|
||||
|
||||
func ShoppingCartDel(c *gin.Context) {
|
||||
req := &struct {
|
||||
ShoppingCartIds []uint32 `json:"shopping_cart_ids"`
|
||||
}{}
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
logger.Error(err)
|
||||
RespJson(c, status.BadRequest, nil)
|
||||
return
|
||||
}
|
||||
uc := auth.GetCurrentUser(c)
|
||||
if uc == nil {
|
||||
RespJson(c, status.Unauthorized, nil)
|
||||
return
|
||||
}
|
||||
err := model.NewShoppingCartQuerySet(model.DB).UidEq(uint64(uc.Uid)).IDIn(req.ShoppingCartIds...).Delete()
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
|
||||
RespOK(c, nil)
|
||||
return
|
||||
}
|
||||
|
|
|
@ -205,14 +205,6 @@ func UserInfoUpdate(c *gin.Context) {
|
|||
}
|
||||
|
||||
func OpenMember(c *gin.Context) {
|
||||
//req := struct {
|
||||
// PayType uint32 `json:"pay_type"` // 1-开通会员 2-
|
||||
//}{}
|
||||
//if c.ShouldBindJSON(&req) != nil {
|
||||
// RespJson(c, status.BadRequest, nil)
|
||||
// return
|
||||
//}
|
||||
|
||||
uc := auth.GetCurrentUser(c)
|
||||
if uc == nil {
|
||||
RespJson(c, status.Unauthorized, nil)
|
||||
|
@ -220,16 +212,6 @@ func OpenMember(c *gin.Context) {
|
|||
}
|
||||
|
||||
user := model.GetUserByUid(uc.Uid)
|
||||
//uid := fmt.Sprintf("%d", uc.Uid)
|
||||
//totalFee := MemberFee + DepositFee
|
||||
//uid := "623892011"
|
||||
//user := model.GetUserByUid(62389201)
|
||||
|
||||
//totalFee = uint32(3)
|
||||
//if user.MemberLevel > 1 {
|
||||
// totalFee = DepositFee
|
||||
// //totalFee = uint32(1)
|
||||
//}
|
||||
|
||||
configInfo, err := model.PayConfigInfo()
|
||||
if err != nil {
|
||||
|
@ -356,7 +338,7 @@ func RefundDeposit(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
count, err := model.NewDepositRefundRecordQuerySet(model.DB).UidEq(uc.Uid).StatusNotIn(model.DepositRefundStatusRefunded,model.DepositRefundStatusRefused).Count()
|
||||
count, err := model.NewDepositRefundRecordQuerySet(model.DB).UidEq(uc.Uid).StatusNotIn(model.DepositRefundStatusRefunded, model.DepositRefundStatusRefused).Count()
|
||||
if err != nil || count > 0 {
|
||||
logger.Error("count is not 0")
|
||||
RespJson(c, status.RefundDepositSubmitted, nil)
|
||||
|
@ -396,3 +378,11 @@ func UserDepositRefundRecordList(c *gin.Context) {
|
|||
|
||||
RespOK(c, resp)
|
||||
}
|
||||
|
||||
// 升级 1-黄金会员 2-白金会员 3-黑金会员
|
||||
// 开通会员
|
||||
// 升级会员
|
||||
// 订单
|
||||
// 购物车
|
||||
// 押金
|
||||
|
||||
|
|
|
@ -230,11 +230,21 @@ type (
|
|||
FeeType string `xml:"fee_type,CDATA" json:"fee_type"`
|
||||
CashFee uint `xml:"cash_fee,CDATA" json:"cash_fee"`
|
||||
CashFeeType string `xml:"cash_fee_type,CDATA" json:"cash_fee_type"`
|
||||
|
||||
CouponFee uint `xml:"coupon_fee,CDATA" json:"coupon_fee"`
|
||||
CouponCount uint `xml:"coupon_count,CDATA" json:"coupon_count"`
|
||||
CouponType0 uint `xml:"coupon_type_0,CDATA" json:"coupon_type"`
|
||||
CouponId0 string `xml:"coupon_id_0,CDATA" json:"coupon_id"`
|
||||
CouponFee0 uint `xml:"coupon_fee_0,CDATA" json:"coupon_fee0"`
|
||||
//CouponCount string `json:"coupon_count"`
|
||||
//CouponFee string `json:"coupon_fee"`
|
||||
//CouponFee0 string `json:"coupon_fee_0"`
|
||||
//CouponId0 string `json:"coupon_id_0"`
|
||||
|
||||
CouponFee1 uint `xml:"coupon_fee_1,CDATA" json:"coupon_fee_1"`
|
||||
CouponId1 string `xml:"coupon_id_1,CDATA" json:"coupon_id_1"`
|
||||
|
||||
|
||||
TransactionId string `xml:"transaction_id,CDATA" json:"transaction_id"`
|
||||
OutTradeNo string `xml:"out_trade_no,CDATA" json:"out_trade_no"`
|
||||
Attach string `xml:"attach,CDATA" json:"attach"`
|
||||
|
@ -262,6 +272,39 @@ type (
|
|||
}
|
||||
)
|
||||
|
||||
//type T struct {
|
||||
// Xml struct {
|
||||
// Appid string `json:"appid"`
|
||||
// Attach string `json:"attach"`
|
||||
// BankType string `json:"bank_type"`
|
||||
// CashFee string `json:"cash_fee"`
|
||||
//
|
||||
//
|
||||
// CouponCount string `json:"coupon_count"`
|
||||
// CouponFee string `json:"coupon_fee"`
|
||||
// CouponFee0 string `json:"coupon_fee_0"`
|
||||
// CouponFee1 string `json:"coupon_fee_1"`
|
||||
// CouponId0 string `json:"coupon_id_0"`
|
||||
// CouponId1 string `json:"coupon_id_1"`
|
||||
//
|
||||
//
|
||||
// DeviceInfo string `json:"device_info"`
|
||||
// FeeType string `json:"fee_type"`
|
||||
// IsSubscribe string `json:"is_subscribe"`
|
||||
// MchId string `json:"mch_id"`
|
||||
// NonceStr string `json:"nonce_str"`
|
||||
// Openid string `json:"openid"`
|
||||
// OutTradeNo string `json:"out_trade_no"`
|
||||
// ResultCode string `json:"result_code"`
|
||||
// ReturnCode string `json:"return_code"`
|
||||
// Sign string `json:"sign"`
|
||||
// TimeEnd string `json:"time_end"`
|
||||
// TotalFee string `json:"total_fee"`
|
||||
// TradeType string `json:"trade_type"`
|
||||
// TransactionId string `json:"transaction_id"`
|
||||
// } `json:"xml"`
|
||||
//}
|
||||
|
||||
////app 微信支付
|
||||
////totalFee 单位是分
|
||||
//func AppPay(totalFee int, openId string) (*AppWxPayRet, string, error) {
|
||||
|
|
|
@ -215,62 +215,6 @@ func (qs ShoppingCartQuerySet) DeletedAtNe(deletedAt time.Time) ShoppingCartQuer
|
|||
return qs.w(qs.db.Where("deleted_at != ?", deletedAt))
|
||||
}
|
||||
|
||||
// DeliveryTypeEq is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs ShoppingCartQuerySet) DeliveryTypeEq(deliveryType uint8) ShoppingCartQuerySet {
|
||||
return qs.w(qs.db.Where("delivery_type = ?", deliveryType))
|
||||
}
|
||||
|
||||
// DeliveryTypeGt is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs ShoppingCartQuerySet) DeliveryTypeGt(deliveryType uint8) ShoppingCartQuerySet {
|
||||
return qs.w(qs.db.Where("delivery_type > ?", deliveryType))
|
||||
}
|
||||
|
||||
// DeliveryTypeGte is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs ShoppingCartQuerySet) DeliveryTypeGte(deliveryType uint8) ShoppingCartQuerySet {
|
||||
return qs.w(qs.db.Where("delivery_type >= ?", deliveryType))
|
||||
}
|
||||
|
||||
// DeliveryTypeIn is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs ShoppingCartQuerySet) DeliveryTypeIn(deliveryType ...uint8) ShoppingCartQuerySet {
|
||||
if len(deliveryType) == 0 {
|
||||
qs.db.AddError(errors.New("must at least pass one deliveryType in DeliveryTypeIn"))
|
||||
return qs.w(qs.db)
|
||||
}
|
||||
return qs.w(qs.db.Where("delivery_type IN (?)", deliveryType))
|
||||
}
|
||||
|
||||
// DeliveryTypeLt is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs ShoppingCartQuerySet) DeliveryTypeLt(deliveryType uint8) ShoppingCartQuerySet {
|
||||
return qs.w(qs.db.Where("delivery_type < ?", deliveryType))
|
||||
}
|
||||
|
||||
// DeliveryTypeLte is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs ShoppingCartQuerySet) DeliveryTypeLte(deliveryType uint8) ShoppingCartQuerySet {
|
||||
return qs.w(qs.db.Where("delivery_type <= ?", deliveryType))
|
||||
}
|
||||
|
||||
// DeliveryTypeNe is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs ShoppingCartQuerySet) DeliveryTypeNe(deliveryType uint8) ShoppingCartQuerySet {
|
||||
return qs.w(qs.db.Where("delivery_type != ?", deliveryType))
|
||||
}
|
||||
|
||||
// DeliveryTypeNotIn is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs ShoppingCartQuerySet) DeliveryTypeNotIn(deliveryType ...uint8) ShoppingCartQuerySet {
|
||||
if len(deliveryType) == 0 {
|
||||
qs.db.AddError(errors.New("must at least pass one deliveryType in DeliveryTypeNotIn"))
|
||||
return qs.w(qs.db)
|
||||
}
|
||||
return qs.w(qs.db.Where("delivery_type NOT IN (?)", deliveryType))
|
||||
}
|
||||
|
||||
// GameCardIdEq is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs ShoppingCartQuerySet) GameCardIdEq(gameCardId uint64) ShoppingCartQuerySet {
|
||||
|
@ -431,12 +375,6 @@ func (qs ShoppingCartQuerySet) OrderAscByDeletedAt() ShoppingCartQuerySet {
|
|||
return qs.w(qs.db.Order("deleted_at ASC"))
|
||||
}
|
||||
|
||||
// OrderAscByDeliveryType is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs ShoppingCartQuerySet) OrderAscByDeliveryType() ShoppingCartQuerySet {
|
||||
return qs.w(qs.db.Order("delivery_type ASC"))
|
||||
}
|
||||
|
||||
// OrderAscByGameCardId is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs ShoppingCartQuerySet) OrderAscByGameCardId() ShoppingCartQuerySet {
|
||||
|
@ -479,12 +417,6 @@ func (qs ShoppingCartQuerySet) OrderDescByDeletedAt() ShoppingCartQuerySet {
|
|||
return qs.w(qs.db.Order("deleted_at DESC"))
|
||||
}
|
||||
|
||||
// OrderDescByDeliveryType is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs ShoppingCartQuerySet) OrderDescByDeliveryType() ShoppingCartQuerySet {
|
||||
return qs.w(qs.db.Order("delivery_type DESC"))
|
||||
}
|
||||
|
||||
// OrderDescByGameCardId is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs ShoppingCartQuerySet) OrderDescByGameCardId() ShoppingCartQuerySet {
|
||||
|
@ -622,13 +554,6 @@ func (u ShoppingCartUpdater) SetDeletedAt(deletedAt *time.Time) ShoppingCartUpda
|
|||
return u
|
||||
}
|
||||
|
||||
// SetDeliveryType is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (u ShoppingCartUpdater) SetDeliveryType(deliveryType uint8) ShoppingCartUpdater {
|
||||
u.fields[string(ShoppingCartDBSchema.DeliveryType)] = deliveryType
|
||||
return u
|
||||
}
|
||||
|
||||
// SetGameCardId is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (u ShoppingCartUpdater) SetGameCardId(gameCardId uint64) ShoppingCartUpdater {
|
||||
|
@ -691,7 +616,6 @@ var ShoppingCartDBSchema = struct {
|
|||
DeletedAt ShoppingCartDBSchemaField
|
||||
Uid ShoppingCartDBSchemaField
|
||||
GameCardId ShoppingCartDBSchemaField
|
||||
DeliveryType ShoppingCartDBSchemaField
|
||||
Count ShoppingCartDBSchemaField
|
||||
}{
|
||||
|
||||
|
@ -701,7 +625,6 @@ var ShoppingCartDBSchema = struct {
|
|||
DeletedAt: ShoppingCartDBSchemaField("deleted_at"),
|
||||
Uid: ShoppingCartDBSchemaField("uid"),
|
||||
GameCardId: ShoppingCartDBSchemaField("game_card_id"),
|
||||
DeliveryType: ShoppingCartDBSchemaField("delivery_type"),
|
||||
Count: ShoppingCartDBSchemaField("count"),
|
||||
}
|
||||
|
||||
|
@ -715,7 +638,6 @@ func (o *ShoppingCart) Update(db *gorm.DB, fields ...ShoppingCartDBSchemaField)
|
|||
"deleted_at": o.DeletedAt,
|
||||
"uid": o.Uid,
|
||||
"game_card_id": o.GameCardId,
|
||||
"delivery_type": o.DeliveryType,
|
||||
"count": o.Count,
|
||||
}
|
||||
u := map[string]interface{}{}
|
||||
|
|
|
@ -548,3 +548,8 @@ func MergingGameCards() {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
func UpdateUserName() {
|
||||
InitDBProd()
|
||||
|
||||
}
|
|
@ -167,7 +167,7 @@ func UserRedeemCodeConvert(uid uint32, serialCode string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func CodeSendToUser(uid uint32, codeType string) error {
|
||||
func CodeSendToUser(uid uint32, codeType string,activityType uint32) error {
|
||||
count, err := NewUserRedeemCodeQuerySet(DB).UidEq(uid).Count()
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
|
@ -198,7 +198,8 @@ func CodeSendToUser(uid uint32, codeType string) error {
|
|||
Status: UserRedeemCodeStatusHold,
|
||||
SerialCode: redeemCode.SerialCode,
|
||||
CodeType: redeemCode.CodeType,
|
||||
ActivityType: RedeemCodeActivityTypeUserInvite,
|
||||
ActivityType: activityType ,
|
||||
//ActivityType: RedeemCodeActivityTypeUserInvite,
|
||||
}
|
||||
err = begin.Create(userRedeemCode).Error
|
||||
if err != nil {
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package model
|
||||
|
||||
import "github.com/codinl/go-logger"
|
||||
|
||||
//go:generate goqueryset -in shopping_cart.go
|
||||
// gen:qs
|
||||
type ShoppingCart struct {
|
||||
|
@ -7,10 +9,80 @@ type ShoppingCart struct {
|
|||
|
||||
Uid uint64 `json:"uid" gorm:"index"`
|
||||
GameCardId uint64 `json:"game_card_id"` // 游戏卡id
|
||||
DeliveryType uint8 `json:"delivery_type"` // 发货类型
|
||||
Count uint32 `json:"count"` // 数量
|
||||
|
||||
GameCard GameCard `json:"game_card" gorm:"-"`
|
||||
}
|
||||
|
||||
func (*ShoppingCart) TableName() string {
|
||||
return "shopping_cart"
|
||||
}
|
||||
|
||||
type ShoppingCartListReq struct {
|
||||
Uid uint32 `json:"uid"`
|
||||
PageNum int `json:"page_num"`
|
||||
PageSize int `json:"page_size"`
|
||||
}
|
||||
type ShoppingCartListResp struct {
|
||||
List []ShoppingCart `json:"list"`
|
||||
Total int `json:"total"`
|
||||
PageNum int `json:"page_num"`
|
||||
//PageSize int `json:"page_size"`
|
||||
}
|
||||
|
||||
func (m *ShoppingCartListReq) List() (*ShoppingCartListResp, error) {
|
||||
resp := &ShoppingCartListResp{
|
||||
PageNum: m.PageNum,
|
||||
}
|
||||
page := m.PageNum - 1
|
||||
if page < 0 {
|
||||
page = 0
|
||||
}
|
||||
if m.PageSize == 0 {
|
||||
m.PageSize = 10
|
||||
}
|
||||
qs := NewShoppingCartQuerySet(DB).UidEq(uint64(m.Uid))
|
||||
count, err := qs.Count()
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
return resp, err
|
||||
}
|
||||
resp.Total = count/m.PageSize + 1
|
||||
var shoppingCart []ShoppingCart
|
||||
err = qs.OrderDescByID().Offset(page * m.PageSize).Limit(m.PageSize).All(&shoppingCart)
|
||||
if err != nil && err != RecordNotFound {
|
||||
logger.Error("err:", err)
|
||||
return resp, err
|
||||
}
|
||||
resp.List = ShoppingCartListSetGameCard(shoppingCart)
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func ShoppingCartListSetGameCard(list []ShoppingCart) []ShoppingCart {
|
||||
if len(list) == 0 {
|
||||
return list
|
||||
}
|
||||
ids := make([]uint32, 0)
|
||||
for i, _ := range list {
|
||||
ids = append(ids, uint32(list[i].GameCardId))
|
||||
}
|
||||
var gameCards []GameCard
|
||||
err := NewGameCardQuerySet(DB).IDIn(ids...).All(&gameCards)
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
return list
|
||||
}
|
||||
gameCardMap := make(map[uint32]GameCard, 0)
|
||||
for i, _ := range gameCards {
|
||||
gameCardMap[gameCards[i].ID] = gameCards[i]
|
||||
}
|
||||
|
||||
for i, _ := range list {
|
||||
v, ok := gameCardMap[uint32(list[i].GameCardId)]
|
||||
if ok {
|
||||
list[i].GameCard = v
|
||||
}
|
||||
}
|
||||
|
||||
return list
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import (
|
|||
"errors"
|
||||
"github.com/codinl/go-logger"
|
||||
"mh-server/lib/utils"
|
||||
"sync"
|
||||
"time"
|
||||
)
|
||||
|
||||
|
@ -362,3 +363,30 @@ func GetDepositRefundRecordList(uid uint32) ([]DepositRefundRecord, error) {
|
|||
}
|
||||
return deposits, nil
|
||||
}
|
||||
|
||||
|
||||
var userMutexMap map[string]*sync.Mutex
|
||||
|
||||
func GetUserMutexMap() map[string]*sync.Mutex {
|
||||
if userMutexMap == nil {
|
||||
userMutexMap = make(map[string]*sync.Mutex, 0)
|
||||
}
|
||||
return userMutexMap
|
||||
}
|
||||
|
||||
func GetUserMutex(mutexKey string) *sync.Mutex {
|
||||
mutexMap := GetUserMutexMap()
|
||||
if v, ok := mutexMap[mutexKey]; ok {
|
||||
return v
|
||||
} else {
|
||||
mutexMap[mutexKey] = new(sync.Mutex)
|
||||
return mutexMap[mutexKey]
|
||||
}
|
||||
}
|
||||
|
||||
//func AuthLoginMutex(uid uint32) *sync.Mutex {
|
||||
// return GetUserMutex(fmt.Sprintf("AuthLogin:%d", uid))
|
||||
//}
|
||||
|
||||
|
||||
var AuthLoginMutex = sync.Mutex{}
|
|
@ -158,5 +158,14 @@ func ConfigAppRouter(r gin.IRouter) {
|
|||
activity.POST("redeem_code/user/convert", controller.UserConvertRedeemCode) // 会员兑换码
|
||||
|
||||
}
|
||||
shoppingCart := api.Group("shopping_cart")
|
||||
{
|
||||
|
||||
shoppingCart.Use(auth.UserAccessAuth)
|
||||
shoppingCart.POST("list", controller.ShoppingCartList) // 详情
|
||||
shoppingCart.POST("add", controller.ShoppingCartAdd) //
|
||||
shoppingCart.POST("del", controller.ShoppingCartDel) //
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user