fix:多次邀请 数据统计

This commit is contained in:
li 2022-08-04 11:57:21 +08:00
parent 581633ebe6
commit 77fa2be613
8 changed files with 245 additions and 58 deletions

View File

@ -64,7 +64,7 @@ func AuthLogin(c *gin.Context) {
//}
fmt.Println("InviteUid:", req.InviteUid)
now := time.Now()
nowTime := time.Now()
// 不存在则创建 新用户
//var invite *model.UserInvite
//if req.InviteUid != 0 && req.InviteUid != user.Uid && user.StoreId == 0 {
@ -81,6 +81,31 @@ func AuthLogin(c *gin.Context) {
}
if inviteUser.UserType == 2 && user.Uid != 0 {
exist, err := model.QueryRecordExist(
fmt.Sprintf("SELECT * FROM user_invite_record WHERE to_uid = %d AND from_uid = %d ",
user.Uid, req.InviteUid))
if err != nil {
logger.Error("query err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
if !exist {
firstInviteRecord := &model.UserInviteRecord{
ToUid: user.Uid,
FromUid: req.InviteUid,
Action: 2,
SpendType: 1,
MemberLevel: 0,
First: 1,
Scan: 1,
ActionTime: nowTime,
}
err = model.DB.Create(firstInviteRecord).Error
if err != nil {
logger.Error("create user invite record err:", err)
}
}
inviteRecord := &model.UserInviteRecord{
ToUid: user.Uid,
FromUid: req.InviteUid,
@ -89,7 +114,7 @@ func AuthLogin(c *gin.Context) {
MemberLevel: 0,
First: 0,
Scan: 1,
ActionTime: now,
ActionTime: nowTime,
}
err = model.DB.Create(inviteRecord).Error
if err != nil {
@ -102,6 +127,8 @@ func AuthLogin(c *gin.Context) {
if inviteErr != nil && inviteErr != model.RecordNotFound {
logger.Error("user invite err:", err)
}
fmt.Println("inviteErr:", inviteErr)
fmt.Printf("inviteNew:%#v \n", inviteNew)
if inviteErr == model.RecordNotFound {
memberLevel := user.MemberLevel
if memberLevel == 0 {
@ -118,10 +145,10 @@ func AuthLogin(c *gin.Context) {
Action: 1,
SpendType: 1,
UserInviteRecordId: inviteRecord.ID,
FirstInvite: 1,
FirstInvite: 0, // TODO
Scan: 1,
}
fmt.Println("创建邀请:", invite)
//count, err := model.NewUserInviteQuerySet(model.DB).FromUidEq(req.InviteUid).ToUidEq(user.Uid).Count()
//if err != nil {
// logger.Error(err)
@ -138,8 +165,10 @@ func AuthLogin(c *gin.Context) {
}
if inviteErr == nil {
err = model.NewUserInviteQuerySet(model.DB).IDEq(inviteNew.ID).GetUpdater().
SetFromUid(req.InviteUid).SetStoreId(inviteUser.StoreId).SetUserInviteRecordId(inviteRecord.ID).Update()
//err = model.NewUserInviteQuerySet(model.DB).IDEq(inviteNew.ID).GetUpdater().
// SetFromUid(req.InviteUid).SetStoreId(inviteUser.StoreId).SetUserInviteRecordId(inviteRecord.ID).Update()
err = model.NewUserInviteQuerySet(model.DB).IDEq(inviteNew.ID).GetUpdater().SetCreatedAt(nowTime).
SetUserInviteRecordId(inviteRecord.ID).Update()
if err != nil {
logger.Error("from uid update user invite err:", err, req.InviteUid)
}
@ -151,7 +180,7 @@ func AuthLogin(c *gin.Context) {
user = model.User{
WxOpenID: resp.OpenID,
WxUnionID: resp.UnionID,
LastLoginAt: now,
LastLoginAt: nowTime,
MemberLevel: 1,
//Notify: common.Yes,
}
@ -167,7 +196,7 @@ func AuthLogin(c *gin.Context) {
MemberLevel: 0,
First: 1,
Scan: 1,
ActionTime: now,
ActionTime: nowTime,
}
err = model.DB.Create(inviteRecordFirst).Error
if err != nil {
@ -182,7 +211,7 @@ func AuthLogin(c *gin.Context) {
MemberLevel: 0,
First: 0,
Scan: 1,
ActionTime: now,
ActionTime: nowTime,
}
err = model.DB.Create(inviteRecord).Error
if err != nil {
@ -265,7 +294,7 @@ func AuthLogin(c *gin.Context) {
"refresh_token": refreshToken.Token,
"refresh_expire": config.AppConfig.JwtUserRefreshExpire,
"uid": user.Uid,
"access_created_at": now,
"access_created_at": nowTime,
})
return
}
@ -327,7 +356,7 @@ func AuthLogin(c *gin.Context) {
"refresh_token": refreshToken.Token,
"refresh_expire": config.AppConfig.JwtUserRefreshExpire,
"uid": user.Uid,
"access_created_at": now,
"access_created_at": nowTime,
//"is_new": isNew,
//"invite_from_code": inviteCode,
})

View File

@ -490,7 +490,8 @@ func PushWXPayNotice(c *gin.Context) {
}
var invite model.UserInvite
err = model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).OrderDescByID().Limit(1).One(&invite)
//err = model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).OrderDescByID().Limit(1).One(&invite)
err = model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).OrderDescByCreatedAt().Limit(1).One(&invite)
if err != nil && err != model.RecordNotFound {
logger.Error("err:", err)
} else {

View File

@ -609,6 +609,7 @@ func UpgradeMemberInfo(c *gin.Context) {
return
}
totalFee = (totalFee / 100) * 100
//fmt.Println("MemberLevel:", req.MemberLevel)
//fmt.Println("UserCouponId:", req.UserCouponId)
//fmt.Println("totalFee:", totalFee)

View File

@ -7097,6 +7097,62 @@ func (qs UserInviteQuerySet) DeletedAtNe(deletedAt time.Time) UserInviteQuerySet
return qs.w(qs.db.Where("deleted_at != ?", deletedAt))
}
// FirstInviteEq is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) FirstInviteEq(firstInvite uint32) UserInviteQuerySet {
return qs.w(qs.db.Where("first_invite = ?", firstInvite))
}
// FirstInviteGt is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) FirstInviteGt(firstInvite uint32) UserInviteQuerySet {
return qs.w(qs.db.Where("first_invite > ?", firstInvite))
}
// FirstInviteGte is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) FirstInviteGte(firstInvite uint32) UserInviteQuerySet {
return qs.w(qs.db.Where("first_invite >= ?", firstInvite))
}
// FirstInviteIn is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) FirstInviteIn(firstInvite ...uint32) UserInviteQuerySet {
if len(firstInvite) == 0 {
qs.db.AddError(errors.New("must at least pass one firstInvite in FirstInviteIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("first_invite IN (?)", firstInvite))
}
// FirstInviteLt is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) FirstInviteLt(firstInvite uint32) UserInviteQuerySet {
return qs.w(qs.db.Where("first_invite < ?", firstInvite))
}
// FirstInviteLte is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) FirstInviteLte(firstInvite uint32) UserInviteQuerySet {
return qs.w(qs.db.Where("first_invite <= ?", firstInvite))
}
// FirstInviteNe is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) FirstInviteNe(firstInvite uint32) UserInviteQuerySet {
return qs.w(qs.db.Where("first_invite != ?", firstInvite))
}
// FirstInviteNotIn is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) FirstInviteNotIn(firstInvite ...uint32) UserInviteQuerySet {
if len(firstInvite) == 0 {
qs.db.AddError(errors.New("must at least pass one firstInvite in FirstInviteNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("first_invite NOT IN (?)", firstInvite))
}
// FromUidEq is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) FromUidEq(fromUid uint32) UserInviteQuerySet {
@ -7461,6 +7517,12 @@ func (qs UserInviteQuerySet) OrderAscByDeletedAt() UserInviteQuerySet {
return qs.w(qs.db.Order("deleted_at ASC"))
}
// OrderAscByFirstInvite is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) OrderAscByFirstInvite() UserInviteQuerySet {
return qs.w(qs.db.Order("first_invite ASC"))
}
// OrderAscByFromUid is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) OrderAscByFromUid() UserInviteQuerySet {
@ -7497,6 +7559,12 @@ func (qs UserInviteQuerySet) OrderAscByMemberType() UserInviteQuerySet {
return qs.w(qs.db.Order("member_type ASC"))
}
// OrderAscByScan is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) OrderAscByScan() UserInviteQuerySet {
return qs.w(qs.db.Order("scan ASC"))
}
// OrderAscBySpendType is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) OrderAscBySpendType() UserInviteQuerySet {
@ -7557,6 +7625,12 @@ func (qs UserInviteQuerySet) OrderDescByDeletedAt() UserInviteQuerySet {
return qs.w(qs.db.Order("deleted_at DESC"))
}
// OrderDescByFirstInvite is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) OrderDescByFirstInvite() UserInviteQuerySet {
return qs.w(qs.db.Order("first_invite DESC"))
}
// OrderDescByFromUid is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) OrderDescByFromUid() UserInviteQuerySet {
@ -7593,6 +7667,12 @@ func (qs UserInviteQuerySet) OrderDescByMemberType() UserInviteQuerySet {
return qs.w(qs.db.Order("member_type DESC"))
}
// OrderDescByScan is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) OrderDescByScan() UserInviteQuerySet {
return qs.w(qs.db.Order("scan DESC"))
}
// OrderDescBySpendType is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) OrderDescBySpendType() UserInviteQuerySet {
@ -7635,10 +7715,60 @@ func (qs UserInviteQuerySet) OrderDescByUserType() UserInviteQuerySet {
return qs.w(qs.db.Order("user_type DESC"))
}
// PreloadToUser is an autogenerated method
// ScanEq is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) PreloadToUser() UserInviteQuerySet {
return qs.w(qs.db.Preload("ToUser"))
func (qs UserInviteQuerySet) ScanEq(scan uint32) UserInviteQuerySet {
return qs.w(qs.db.Where("scan = ?", scan))
}
// ScanGt is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) ScanGt(scan uint32) UserInviteQuerySet {
return qs.w(qs.db.Where("scan > ?", scan))
}
// ScanGte is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) ScanGte(scan uint32) UserInviteQuerySet {
return qs.w(qs.db.Where("scan >= ?", scan))
}
// ScanIn is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) ScanIn(scan ...uint32) UserInviteQuerySet {
if len(scan) == 0 {
qs.db.AddError(errors.New("must at least pass one scan in ScanIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("scan IN (?)", scan))
}
// ScanLt is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) ScanLt(scan uint32) UserInviteQuerySet {
return qs.w(qs.db.Where("scan < ?", scan))
}
// ScanLte is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) ScanLte(scan uint32) UserInviteQuerySet {
return qs.w(qs.db.Where("scan <= ?", scan))
}
// ScanNe is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) ScanNe(scan uint32) UserInviteQuerySet {
return qs.w(qs.db.Where("scan != ?", scan))
}
// ScanNotIn is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) ScanNotIn(scan ...uint32) UserInviteQuerySet {
if len(scan) == 0 {
qs.db.AddError(errors.New("must at least pass one scan in ScanNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("scan NOT IN (?)", scan))
}
// SpendTypeEq is an autogenerated method
@ -7865,18 +7995,6 @@ func (qs UserInviteQuerySet) ToUidNotIn(toUid ...uint32) UserInviteQuerySet {
return qs.w(qs.db.Where("to_uid NOT IN (?)", toUid))
}
// ToUserIsNotNull is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) ToUserIsNotNull() UserInviteQuerySet {
return qs.w(qs.db.Where("to_user IS NOT NULL"))
}
// ToUserIsNull is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) ToUserIsNull() UserInviteQuerySet {
return qs.w(qs.db.Where("to_user IS NULL"))
}
// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs UserInviteQuerySet) UpdatedAtEq(updatedAt time.Time) UserInviteQuerySet {
@ -8046,6 +8164,13 @@ func (u UserInviteUpdater) SetDeletedAt(deletedAt *time.Time) UserInviteUpdater
return u
}
// SetFirstInvite is an autogenerated method
// nolint: dupl
func (u UserInviteUpdater) SetFirstInvite(firstInvite uint32) UserInviteUpdater {
u.fields[string(UserInviteDBSchema.FirstInvite)] = firstInvite
return u
}
// SetFromUid is an autogenerated method
// nolint: dupl
func (u UserInviteUpdater) SetFromUid(fromUid uint32) UserInviteUpdater {
@ -8088,6 +8213,13 @@ func (u UserInviteUpdater) SetMemberType(memberType uint32) UserInviteUpdater {
return u
}
// SetScan is an autogenerated method
// nolint: dupl
func (u UserInviteUpdater) SetScan(scan uint32) UserInviteUpdater {
u.fields[string(UserInviteDBSchema.Scan)] = scan
return u
}
// SetSpendType is an autogenerated method
// nolint: dupl
func (u UserInviteUpdater) SetSpendType(spendType uint32) UserInviteUpdater {
@ -8181,7 +8313,8 @@ var UserInviteDBSchema = struct {
SpendType UserInviteDBSchemaField
MemberLevel UserInviteDBSchemaField
UserInviteRecordId UserInviteDBSchemaField
ToUser UserInviteDBSchemaField
FirstInvite UserInviteDBSchemaField
Scan UserInviteDBSchemaField
}{
ID: UserInviteDBSchemaField("id"),
@ -8200,7 +8333,8 @@ var UserInviteDBSchema = struct {
SpendType: UserInviteDBSchemaField("spend_type"),
MemberLevel: UserInviteDBSchemaField("member_level"),
UserInviteRecordId: UserInviteDBSchemaField("user_invite_record_id"),
ToUser: UserInviteDBSchemaField("to_user"),
FirstInvite: UserInviteDBSchemaField("first_invite"),
Scan: UserInviteDBSchemaField("scan"),
}
// Update updates UserInvite fields by primary key
@ -8223,7 +8357,8 @@ func (o *UserInvite) Update(db *gorm.DB, fields ...UserInviteDBSchemaField) erro
"spend_type": o.SpendType,
"member_level": o.MemberLevel,
"user_invite_record_id": o.UserInviteRecordId,
"to_user": o.ToUser,
"first_invite": o.FirstInvite,
"scan": o.Scan,
}
u := map[string]interface{}{}
for _, f := range fields {

View File

@ -178,8 +178,11 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
//qs = qs.IDIn(gameIds...)
var cardStocks []GameCardGoodsStock
err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).RentStockGt(0).
OrderDescByRentStock().All(&cardStocks)
//err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).RentStockGt(0).
// OrderDescByRentStock().All(&cardStocks)
//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 DESC;", storeId)
err = DB.Raw(cardStockSql1).Scan(&cardStocks).Error
if err != nil {
logger.Error("GetGameIdByType err:", err)
return cards, 0, err
@ -193,8 +196,10 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
}
cardStocks = []GameCardGoodsStock{}
err = NewGameCardGoodsStockQuerySet(DB).StoreIdNe(uint64(storeId)).RentStockGt(0).
OrderDescByRentStock().All(&cardStocks)
//err = NewGameCardGoodsStockQuerySet(DB).StoreIdNe(uint64(storeId)).RentStockGt(0).
// 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 DESC;", storeId)
err = DB.Raw(cardStockSql2).Scan(&cardStocks).Error
if err != nil {
logger.Error("GetGameIdByType err:", err)
return cards, 0, err
@ -208,7 +213,9 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
}
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 DESC;")
err = DB.Raw(cardStockSql3).Scan(&cardStocks).Error
if err != nil {
logger.Error("GetGameIdByType err:", err)
return cards, 0, err
@ -226,8 +233,10 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
}
} else {
var cardStocks []GameCardGoodsStock
err := NewGameCardGoodsStockQuerySet(DB).RentStockGt(0).
OrderDescByRentStock().All(&cardStocks)
//err := NewGameCardGoodsStockQuerySet(DB).RentStockGt(0).
// 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 DESC;")
err = DB.Raw(cardStockSql1).Scan(&cardStocks).Error
if err != nil {
logger.Error("GetGameIdByType err:", err)
return cards, 0, err
@ -241,7 +250,9 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
}
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 DESC;")
err = DB.Raw(cardStockSql2).Scan(&cardStocks).Error
if err != nil {
logger.Error("GetGameIdByType err:", err)
return cards, 0, err

View File

@ -141,19 +141,6 @@ func InitTestDB() {
&GameCard{},
&CooperativeMemberPromotionStoreDay{},
//&CooperativeMemberDeduct{},
//&CooperativeAssistantMemberDeduct{},
//&CooperativeDeductSettle{},
//&CooperativeMemberPromotion{},
//&CooperativeMemberPromotion{},
//&CooperativeMemberPromotionDay{},
//&CooperativeMemberDeduct{},
//&CooperativeAssistantMemberDeduct{},
//&CooperativeMemberPromotion{},
//&CooperativeMemberPromotionStore{},
//&CooperativeMemberPromotionDay{},
//&CooperativeMemberPromotionStoreDay{},
//&CooperativeDeductSettle{},
&UserInvite{},
&UserInviteRecord{},
&CooperativeMemberPromotionStore{},
@ -260,11 +247,29 @@ func InitDBProd() {
//&UserOpenMemberRecord{},
//&HomeCarousel{},
//&UserRenewalLog{},
&GameCard{},
&CooperativeMemberPromotion{},
//&GameCard{},
//&CooperativeMemberPromotion{},
//&CooperativeMemberPromotionStore{},
//&CooperativeMemberPromotionDay{},
//&CooperativeMemberPromotionStoreDay{},
&User{},
&UserOpenMemberRecord{},
&CooperativeMemberDeduct{},
&CooperativeAssistantMemberDeduct{},
&UserMemberRecord{},
&CooperativeDeductSettle{},
&CooperativeMemberPromotionStore{},
&CooperativeMemberPromotionDay{},
&InviteMemberReport{},
&MemberStatisticDaily{},
&CooperativeMemberPromotion{},
&GameCard{},
&CooperativeMemberPromotionStoreDay{},
&UserInvite{},
&UserInviteRecord{},
&CooperativeMemberPromotionStore{},
)
if err := DBProd.DB().Ping(); err != nil {

View File

@ -88,8 +88,8 @@ type UserInvite struct {
Model
FromUid uint32 `json:"from_uid"` // 邀请用户id
UserType uint32 `json:"user_type"` // 用户类型 1-普通用户
StoreId uint64 `json:"store_id"` // 门店id
UserType uint32 `json:"user_type"` // 用户类型 1-普通用户 邀请用户类型
StoreId uint64 `json:"store_id"` // 门店id 邀请用户门店
MemberOpenTime time.Time `json:"member_open_time"` // 开通会员
MemberType uint32 `json:"member_type"` // 被邀请用户 1-普通用户 2-会员
MemberStatus uint8 `json:"member_status"` // 被邀请用户 1-未开通 2-已开通 3-已取消会员
@ -101,7 +101,8 @@ type UserInvite struct {
UserInviteRecordId uint32 `json:"user_invite_record_id"` // 邀请记录
FirstInvite uint32 `json:"first_invite"` // 首次
Scan uint32 `json:"scan"` // 扫码
ToUser *User `json:"to_user" gorm:"-"`
//InviteTime time.Time `json:"invite_time"` // 邀请时间
ToUser *User `json:"to_user" gorm:"-"`
//ToUser *UserLess `json:"to_user" gorm:"-"` //
}
@ -552,6 +553,11 @@ func (m *UserInviteListReq) InviteUserList() (*UserInviteListResp, error) {
qs := NewUserInviteQuerySet(DB).FromUidEq(m.Uid)
if m.MemberType != 0 {
qs = qs.MemberTypeEq(uint32(m.MemberType))
if m.MemberType == 2 {
//qs = qs.FirstInviteNe(1).SpendTypeEq(2)
//qs = qs.SpendTypeEq(2)
qs = qs.SpendTypeNotIn([]uint32{3, 4}...)
}
}
if m.StartTime != "" {
parse, err := time.Parse(DateTimeFormat, m.StartTime)
@ -588,7 +594,7 @@ func (m *UserInviteListReq) InviteUserList() (*UserInviteListResp, error) {
var invites []UserInvite
//err = qs.Offset(page * m.PageSize).Limit(m.PageSize).OrderDescByID().All(&invites)
err = qs.OrderDescByID().Offset(page * m.PageSize).Limit(m.PageSize).OrderDescByMemberOpenTime().All(&invites)
err = qs.OrderDescByCreatedAt().Offset(page * m.PageSize).Limit(m.PageSize).OrderDescByMemberOpenTime().All(&invites)
if err != nil && err != RecordNotFound {
logger.Error("err:", err)
return resp, err

View File

@ -154,7 +154,6 @@ func ConfigAppRouter(r gin.IRouter) {
article.POST("collect/add", controller.ArticleCollectAdd) //
article.POST("collect/cancel", controller.ArticleCollectCancel) //
article.POST("collect/list", controller.ArticleCollectList) //
}
activity := api.Group("activity")
{