From 48e0cd78d449b9c9b72cec88ff8859d333174d5c Mon Sep 17 00:00:00 2001 From: chenlin Date: Thu, 17 Jul 2025 11:11:39 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=8F=A3UserData?= =?UTF-8?q?=EF=BC=8C=E6=96=B0=E5=A2=9E=E8=B6=85=E6=9C=9F=E6=A0=87=E5=BF=97?= =?UTF-8?q?=E5=92=8C=E9=80=9A=E7=9F=A5=E5=AD=97=E6=AE=B5=EF=BC=9Amark,=20o?= =?UTF-8?q?verdueNotice=EF=BC=9B=202=E3=80=81=E5=BC=80=E9=80=9A=E4=BC=9A?= =?UTF-8?q?=E5=91=98=E6=97=B6=E9=BB=98=E8=AE=A4=E6=8A=8Amark=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E4=B8=BA0=EF=BC=9B=203=E3=80=81=E7=A7=9F=E8=B5=81?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=8F=AA=E6=9C=89=E7=89=A9=E6=B5=81=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=89=8D=E8=A7=A6=E5=8F=91=E6=B6=88=E6=81=AF=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=EF=BC=9B=204=E3=80=81=E4=BF=AE=E6=94=B9=E7=A7=9F?= =?UTF-8?q?=E8=B5=81=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?GetOrderCardList=EF=BC=8C=E5=A2=9E=E5=8A=A0=E8=B6=85=E6=9C=9F?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E5=AD=97=E6=AE=B5OverdueNotice=EF=BC=8C?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=BA7=E8=A1=A8=E7=A4=BA=E8=B6=85?= =?UTF-8?q?=E6=9C=9F=EF=BC=9B=205=E3=80=81=E8=B6=85=E6=9C=9F=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E4=BB=8E=E9=85=8D=E7=BD=AE=E8=A1=A8config=E4=B8=AD?= =?UTF-8?q?=E8=AF=BB=E5=8F=96=EF=BC=8C=E6=94=AF=E6=8C=81=E5=AE=9E=E6=97=B6?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/account.go | 5 +++++ controller/game_card.go | 6 ++++-- controller/order.go | 14 ++++++------ model/autogenerated_user.go | 9 ++++++++ model/config.go | 43 +++++++++++++++++++++++++++++++++++++ model/order.go | 21 ++++++++++++------ model/user.go | 2 ++ 7 files changed, 86 insertions(+), 14 deletions(-) diff --git a/controller/account.go b/controller/account.go index e6885e2..5f18413 100644 --- a/controller/account.go +++ b/controller/account.go @@ -591,6 +591,11 @@ func UserData(c *gin.Context) { m.RoleName = roleInfo.RoleName } + if m.Mark == 1 { + notice, _ := model.GetDepositNotice() + m.OverdueNotice = notice + } + // 查询最近一条邀请记录 var inviteRecord model.UserInviteRecord err = model.NewUserInviteRecordQuerySet(model.DB).ToUidEq(uc.Uid).OrderDescByCreatedAt().OrderDescByID().Limit(1).Find(&inviteRecord) diff --git a/controller/game_card.go b/controller/game_card.go index 2b632ad..e8d80d3 100644 --- a/controller/game_card.go +++ b/controller/game_card.go @@ -616,7 +616,8 @@ func PushWXPayNotice(c *gin.Context) { } //openMemberTime := newTime userUpdateQs := model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetMemberLevel(record.MemberLevel). - SetMemberGenre(record.MemberGenre).SetMemberExpire(expireTime).SetDeposit(memberConfig.MemberDeposit) + SetMemberGenre(record.MemberGenre).SetMemberExpire(expireTime).SetDeposit(memberConfig.MemberDeposit). + SetMark(0) if user.OpenMemberTime.IsZero() { //openMemberTime = user.OpenMemberTime userUpdateQs = userUpdateQs.SetOpenMemberTime(newTime).SetOpenMemberLevel(record.MemberLevel) @@ -2153,7 +2154,8 @@ func HmPushWXPayNotice(c *gin.Context) { } //openMemberTime := newTime userUpdateQs := model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetMemberLevel(record.MemberLevel). - SetMemberGenre(record.MemberGenre).SetMemberExpire(expireTime).SetDeposit(memberConfig.MemberDeposit) + SetMemberGenre(record.MemberGenre).SetMemberExpire(expireTime).SetDeposit(memberConfig.MemberDeposit). + SetMark(0) if user.OpenMemberTime.IsZero() { //openMemberTime = user.OpenMemberTime userUpdateQs = userUpdateQs.SetOpenMemberTime(newTime).SetOpenMemberLevel(record.MemberLevel) diff --git a/controller/order.go b/controller/order.go index 23fd9e5..5a8c9bf 100644 --- a/controller/order.go +++ b/controller/order.go @@ -434,12 +434,14 @@ func RentCardOrderCreate(c *gin.Context) { go model.ShoppingCartCreateOrder(uc.Uid, req.GameCardList) - // 触发消息 - model.TriggerBizEvent(model.BizTypeOnRentCard, model.EventOnDeliver, map[string]interface{}{ - "order_id": order.ID, - "uid": order.Uid, - "createdAt": order.CreatedAt, - }, uint32(order.StoreId)) + if userCoupon.ID != 0 && userCoupon.ActivityType == 3 { + // 触发消息 + model.TriggerBizEvent(model.BizTypeOnRentCard, model.EventOnDeliver, map[string]interface{}{ + "order_id": order.ID, + "uid": order.Uid, + "createdAt": order.CreatedAt, + }, uint32(order.StoreId)) + } RespOK(c, ret) return diff --git a/model/autogenerated_user.go b/model/autogenerated_user.go index e632a19..0023a8f 100644 --- a/model/autogenerated_user.go +++ b/model/autogenerated_user.go @@ -15423,6 +15423,7 @@ var UserDBSchema = struct { Version UserDBSchemaField InviteTime UserDBSchemaField DepositType UserDBSchemaField + Mark UserDBSchemaField }{ ID: UserDBSchemaField("id"), @@ -15463,6 +15464,7 @@ var UserDBSchema = struct { Version: UserDBSchemaField("version"), InviteTime: UserDBSchemaField("invite_time"), DepositType: UserDBSchemaField("deposit_type"), + Mark: UserDBSchemaField("mark"), } // Update updates User fields by primary key @@ -15947,6 +15949,13 @@ func (qs UserRentCardQuerySet) MemberLevelEq(memberLevel uint32) UserRentCardQue return qs.w(qs.db.Where("member_level = ?", memberLevel)) } +// SetMark is an autogenerated method +// nolint: dupl +func (u UserUpdater) SetMark(mark int8) UserUpdater { + u.fields[string(UserDBSchema.Mark)] = mark + return u +} + // MemberLevelGt is an autogenerated method // nolint: dupl func (qs UserRentCardQuerySet) MemberLevelGt(memberLevel uint32) UserRentCardQuerySet { diff --git a/model/config.go b/model/config.go index a75b014..ac77911 100644 --- a/model/config.go +++ b/model/config.go @@ -40,6 +40,7 @@ const ( ConfigPostagePackageFee = "postage_package_fee_config" // 运费包费 ConfigPaymentGenre = "payment_genre_config" // 支付方式 ConfigNamePrivilegeMember = "privilege_member_config" // 尊享会员配置 + ConfigNameOverdueNotice = "overdue_notice" // 超期提示语 ) func PayConfigInfo() (*PayConfig, error) { @@ -141,6 +142,48 @@ func GetPrivilegeMemberFee() (uint32, error) { return memberConfig.MemberFee, nil } +func GetOrderNotice() (string, error) { + var noticeConfig struct { + OrderNotice string `json:"order_notice"` // 超期提示(租赁订单) + DepositNotice string `json:"deposit_notice"` // 超期提示(保证金) + } + var configAllocation Config + err := NewConfigQuerySet(DB).NameEq(ConfigNameOverdueNotice).One(&configAllocation) + if err != nil { + logger.Error("err:", err) + return "", err + } + + err = json.Unmarshal([]byte(configAllocation.Value), ¬iceConfig) + if err != nil { + logger.Error("err:", err) + return "", err + } + + return noticeConfig.OrderNotice, nil +} + +func GetDepositNotice() (string, error) { + var noticeConfig struct { + OrderNotice string `json:"order_notice"` // 超期提示(租赁订单) + DepositNotice string `json:"deposit_notice"` // 超期提示(保证金) + } + var configAllocation Config + err := NewConfigQuerySet(DB).NameEq(ConfigNameOverdueNotice).One(&configAllocation) + if err != nil { + logger.Error("err:", err) + return "", err + } + + err = json.Unmarshal([]byte(configAllocation.Value), ¬iceConfig) + if err != nil { + logger.Error("err:", err) + return "", err + } + + return noticeConfig.DepositNotice, nil +} + // ShortMemberConfigMap_Dev 会员费配置 // 开发环境配置 var ShortMemberConfigMap_Dev = map[uint32]*MemberConfig{ diff --git a/model/order.go b/model/order.go index fa458f9..14a7949 100644 --- a/model/order.go +++ b/model/order.go @@ -13,12 +13,13 @@ import ( ) const ( - OrderCardStatusUnPick = 1 // 待取货中 - OrderCardStatusPlaying = 2 // 游玩中 - OrderCardStatusReturning = 3 // 归还中 - OrderCardStatusCompleted = 4 // 已完成 - OrderCardStatusCancel = 5 // 已取消 - OrderCardStatusRefund = 6 // 已退款 + OrderCardStatusUnPick = 1 // 待取货中 + OrderCardStatusPlaying = 2 // 游玩中 + OrderCardStatusReturning = 3 // 归还中 + OrderCardStatusCompleted = 4 // 已完成 + OrderCardStatusCancel = 5 // 已取消 + OrderCardStatusRefund = 6 // 已退款 + OrderCardStatusSystemReturn = 7 // 系统处理(超期卡) DeliveryTypeStorePick = 1 // 门店取货 DeliveryTypeExpress = 2 // 快递取货 @@ -115,6 +116,7 @@ type OrderCard struct { GameCard *GameCard `json:"game_card" gorm:"-"` // 游戏 Store *Store `json:"store" gorm:"-"` // 游戏 RevertStore *Store `json:"revert_store" gorm:"-"` // 游戏 + OverdueNotice string `json:"overdue_notice" gorm:"-"` // 超期提示 //Status uint8 `json:"status" gorm:"index"` // 1-待领取 2-游玩中 3-已归还 4-未领取 //PickupCode string `json:"pickup_code"` // 取货码 } @@ -254,6 +256,13 @@ func (m *OrderListReq) GetOrderCardList() ([]OrderCard, uint32, error) { totalPage = uint32(count/m.PageSize + 1) fmt.Println("orderCards:", orderCards) + for i, _ := range orderCards { + if orderCards[i].CardStatus == OrderCardStatusSystemReturn { + notice, _ := GetOrderNotice() + orderCards[i].OverdueNotice = notice + } + } + orderCards = OrderCardListSetGameInfo(orderCards) return orderCards, totalPage, nil diff --git a/model/user.go b/model/user.go index 7e0d44f..b9e1af5 100644 --- a/model/user.go +++ b/model/user.go @@ -57,6 +57,8 @@ type User struct { UserVm *UserVm `json:"user_vm" gorm:"-"` // InviteTime time.Time `json:"invite_time"` // DepositType uint32 `json:"deposit_type"` // 押金类型: 3-未充值 + Mark int8 `json:"mark"` // 标记 + OverdueNotice string `json:"overdue_notice" gorm:"-"` // 超期提示 StoreList []StoreInfo `gorm:"-" json:"store_list"` // 有效门店列表 RoleId uint32 `json:"role_id" gorm:"-"` // 角色id RoleKey string `json:"role_key" gorm:"-"` // 角色代码