1、修改获取用户数据接口UserData,新增超期标志和通知字段:mark, overdueNotice;
2、开通会员时默认把mark设置为0; 3、租赁订单只有物流订单才触发消息通知; 4、修改租赁订单列表接口GetOrderCardList,增加超期提示字段OverdueNotice,状态为7表示超期; 5、超期提示从配置表config中读取,支持实时配置;
This commit is contained in:
parent
ed91928ae3
commit
48e0cd78d4
|
@ -591,6 +591,11 @@ func UserData(c *gin.Context) {
|
||||||
m.RoleName = roleInfo.RoleName
|
m.RoleName = roleInfo.RoleName
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if m.Mark == 1 {
|
||||||
|
notice, _ := model.GetDepositNotice()
|
||||||
|
m.OverdueNotice = notice
|
||||||
|
}
|
||||||
|
|
||||||
// 查询最近一条邀请记录
|
// 查询最近一条邀请记录
|
||||||
var inviteRecord model.UserInviteRecord
|
var inviteRecord model.UserInviteRecord
|
||||||
err = model.NewUserInviteRecordQuerySet(model.DB).ToUidEq(uc.Uid).OrderDescByCreatedAt().OrderDescByID().Limit(1).Find(&inviteRecord)
|
err = model.NewUserInviteRecordQuerySet(model.DB).ToUidEq(uc.Uid).OrderDescByCreatedAt().OrderDescByID().Limit(1).Find(&inviteRecord)
|
||||||
|
|
|
@ -616,7 +616,8 @@ func PushWXPayNotice(c *gin.Context) {
|
||||||
}
|
}
|
||||||
//openMemberTime := newTime
|
//openMemberTime := newTime
|
||||||
userUpdateQs := model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetMemberLevel(record.MemberLevel).
|
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() {
|
if user.OpenMemberTime.IsZero() {
|
||||||
//openMemberTime = user.OpenMemberTime
|
//openMemberTime = user.OpenMemberTime
|
||||||
userUpdateQs = userUpdateQs.SetOpenMemberTime(newTime).SetOpenMemberLevel(record.MemberLevel)
|
userUpdateQs = userUpdateQs.SetOpenMemberTime(newTime).SetOpenMemberLevel(record.MemberLevel)
|
||||||
|
@ -2153,7 +2154,8 @@ func HmPushWXPayNotice(c *gin.Context) {
|
||||||
}
|
}
|
||||||
//openMemberTime := newTime
|
//openMemberTime := newTime
|
||||||
userUpdateQs := model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetMemberLevel(record.MemberLevel).
|
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() {
|
if user.OpenMemberTime.IsZero() {
|
||||||
//openMemberTime = user.OpenMemberTime
|
//openMemberTime = user.OpenMemberTime
|
||||||
userUpdateQs = userUpdateQs.SetOpenMemberTime(newTime).SetOpenMemberLevel(record.MemberLevel)
|
userUpdateQs = userUpdateQs.SetOpenMemberTime(newTime).SetOpenMemberLevel(record.MemberLevel)
|
||||||
|
|
|
@ -434,12 +434,14 @@ func RentCardOrderCreate(c *gin.Context) {
|
||||||
|
|
||||||
go model.ShoppingCartCreateOrder(uc.Uid, req.GameCardList)
|
go model.ShoppingCartCreateOrder(uc.Uid, req.GameCardList)
|
||||||
|
|
||||||
|
if userCoupon.ID != 0 && userCoupon.ActivityType == 3 {
|
||||||
// 触发消息
|
// 触发消息
|
||||||
model.TriggerBizEvent(model.BizTypeOnRentCard, model.EventOnDeliver, map[string]interface{}{
|
model.TriggerBizEvent(model.BizTypeOnRentCard, model.EventOnDeliver, map[string]interface{}{
|
||||||
"order_id": order.ID,
|
"order_id": order.ID,
|
||||||
"uid": order.Uid,
|
"uid": order.Uid,
|
||||||
"createdAt": order.CreatedAt,
|
"createdAt": order.CreatedAt,
|
||||||
}, uint32(order.StoreId))
|
}, uint32(order.StoreId))
|
||||||
|
}
|
||||||
|
|
||||||
RespOK(c, ret)
|
RespOK(c, ret)
|
||||||
return
|
return
|
||||||
|
|
|
@ -15423,6 +15423,7 @@ var UserDBSchema = struct {
|
||||||
Version UserDBSchemaField
|
Version UserDBSchemaField
|
||||||
InviteTime UserDBSchemaField
|
InviteTime UserDBSchemaField
|
||||||
DepositType UserDBSchemaField
|
DepositType UserDBSchemaField
|
||||||
|
Mark UserDBSchemaField
|
||||||
}{
|
}{
|
||||||
|
|
||||||
ID: UserDBSchemaField("id"),
|
ID: UserDBSchemaField("id"),
|
||||||
|
@ -15463,6 +15464,7 @@ var UserDBSchema = struct {
|
||||||
Version: UserDBSchemaField("version"),
|
Version: UserDBSchemaField("version"),
|
||||||
InviteTime: UserDBSchemaField("invite_time"),
|
InviteTime: UserDBSchemaField("invite_time"),
|
||||||
DepositType: UserDBSchemaField("deposit_type"),
|
DepositType: UserDBSchemaField("deposit_type"),
|
||||||
|
Mark: UserDBSchemaField("mark"),
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update updates User fields by primary key
|
// 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))
|
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
|
// MemberLevelGt is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserRentCardQuerySet) MemberLevelGt(memberLevel uint32) UserRentCardQuerySet {
|
func (qs UserRentCardQuerySet) MemberLevelGt(memberLevel uint32) UserRentCardQuerySet {
|
||||||
|
|
|
@ -40,6 +40,7 @@ const (
|
||||||
ConfigPostagePackageFee = "postage_package_fee_config" // 运费包费
|
ConfigPostagePackageFee = "postage_package_fee_config" // 运费包费
|
||||||
ConfigPaymentGenre = "payment_genre_config" // 支付方式
|
ConfigPaymentGenre = "payment_genre_config" // 支付方式
|
||||||
ConfigNamePrivilegeMember = "privilege_member_config" // 尊享会员配置
|
ConfigNamePrivilegeMember = "privilege_member_config" // 尊享会员配置
|
||||||
|
ConfigNameOverdueNotice = "overdue_notice" // 超期提示语
|
||||||
)
|
)
|
||||||
|
|
||||||
func PayConfigInfo() (*PayConfig, error) {
|
func PayConfigInfo() (*PayConfig, error) {
|
||||||
|
@ -141,6 +142,48 @@ func GetPrivilegeMemberFee() (uint32, error) {
|
||||||
return memberConfig.MemberFee, nil
|
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 会员费配置
|
// ShortMemberConfigMap_Dev 会员费配置
|
||||||
// 开发环境配置
|
// 开发环境配置
|
||||||
var ShortMemberConfigMap_Dev = map[uint32]*MemberConfig{
|
var ShortMemberConfigMap_Dev = map[uint32]*MemberConfig{
|
||||||
|
|
|
@ -19,6 +19,7 @@ const (
|
||||||
OrderCardStatusCompleted = 4 // 已完成
|
OrderCardStatusCompleted = 4 // 已完成
|
||||||
OrderCardStatusCancel = 5 // 已取消
|
OrderCardStatusCancel = 5 // 已取消
|
||||||
OrderCardStatusRefund = 6 // 已退款
|
OrderCardStatusRefund = 6 // 已退款
|
||||||
|
OrderCardStatusSystemReturn = 7 // 系统处理(超期卡)
|
||||||
|
|
||||||
DeliveryTypeStorePick = 1 // 门店取货
|
DeliveryTypeStorePick = 1 // 门店取货
|
||||||
DeliveryTypeExpress = 2 // 快递取货
|
DeliveryTypeExpress = 2 // 快递取货
|
||||||
|
@ -115,6 +116,7 @@ type OrderCard struct {
|
||||||
GameCard *GameCard `json:"game_card" gorm:"-"` // 游戏
|
GameCard *GameCard `json:"game_card" gorm:"-"` // 游戏
|
||||||
Store *Store `json:"store" gorm:"-"` // 游戏
|
Store *Store `json:"store" gorm:"-"` // 游戏
|
||||||
RevertStore *Store `json:"revert_store" gorm:"-"` // 游戏
|
RevertStore *Store `json:"revert_store" gorm:"-"` // 游戏
|
||||||
|
OverdueNotice string `json:"overdue_notice" gorm:"-"` // 超期提示
|
||||||
//Status uint8 `json:"status" gorm:"index"` // 1-待领取 2-游玩中 3-已归还 4-未领取
|
//Status uint8 `json:"status" gorm:"index"` // 1-待领取 2-游玩中 3-已归还 4-未领取
|
||||||
//PickupCode string `json:"pickup_code"` // 取货码
|
//PickupCode string `json:"pickup_code"` // 取货码
|
||||||
}
|
}
|
||||||
|
@ -254,6 +256,13 @@ func (m *OrderListReq) GetOrderCardList() ([]OrderCard, uint32, error) {
|
||||||
totalPage = uint32(count/m.PageSize + 1)
|
totalPage = uint32(count/m.PageSize + 1)
|
||||||
fmt.Println("orderCards:", orderCards)
|
fmt.Println("orderCards:", orderCards)
|
||||||
|
|
||||||
|
for i, _ := range orderCards {
|
||||||
|
if orderCards[i].CardStatus == OrderCardStatusSystemReturn {
|
||||||
|
notice, _ := GetOrderNotice()
|
||||||
|
orderCards[i].OverdueNotice = notice
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
orderCards = OrderCardListSetGameInfo(orderCards)
|
orderCards = OrderCardListSetGameInfo(orderCards)
|
||||||
|
|
||||||
return orderCards, totalPage, nil
|
return orderCards, totalPage, nil
|
||||||
|
|
|
@ -57,6 +57,8 @@ type User struct {
|
||||||
UserVm *UserVm `json:"user_vm" gorm:"-"` //
|
UserVm *UserVm `json:"user_vm" gorm:"-"` //
|
||||||
InviteTime time.Time `json:"invite_time"` //
|
InviteTime time.Time `json:"invite_time"` //
|
||||||
DepositType uint32 `json:"deposit_type"` // 押金类型: 3-未充值
|
DepositType uint32 `json:"deposit_type"` // 押金类型: 3-未充值
|
||||||
|
Mark int8 `json:"mark"` // 标记
|
||||||
|
OverdueNotice string `json:"overdue_notice" gorm:"-"` // 超期提示
|
||||||
StoreList []StoreInfo `gorm:"-" json:"store_list"` // 有效门店列表
|
StoreList []StoreInfo `gorm:"-" json:"store_list"` // 有效门店列表
|
||||||
RoleId uint32 `json:"role_id" gorm:"-"` // 角色id
|
RoleId uint32 `json:"role_id" gorm:"-"` // 角色id
|
||||||
RoleKey string `json:"role_key" gorm:"-"` // 角色代码
|
RoleKey string `json:"role_key" gorm:"-"` // 角色代码
|
||||||
|
|
Loading…
Reference in New Issue
Block a user