diff --git a/controller/cb_goods_stock.go b/controller/cb_goods_stock.go index 34ae904..0c0c3f6 100644 --- a/controller/cb_goods_stock.go +++ b/controller/cb_goods_stock.go @@ -497,7 +497,7 @@ func AssistantMemberPromotionList(c *gin.Context) { return } - list, totalPage, err := req.List() + list, totalPage, count, err := req.List() if err != nil { logger.Error("list err:", err) RespJson(c, status.InternalServerError, nil) @@ -508,6 +508,7 @@ func AssistantMemberPromotionList(c *gin.Context) { "list": list, "total_page": totalPage, "page_num": req.PageNum, + "count": count, } RespOK(c, ret) return diff --git a/model/autogenerated_user.go b/model/autogenerated_user.go index 8eeeeef..e632a19 100644 --- a/model/autogenerated_user.go +++ b/model/autogenerated_user.go @@ -3623,6 +3623,10 @@ func (qs InviteMemberReportQuerySet) OrderDescByID() InviteMemberReportQuerySet return qs.w(qs.db.Order("id DESC")) } +func (qs InviteMemberReportQuerySet) OrderDescByDateAndAscByStoreId() InviteMemberReportQuerySet { + return qs.w(qs.db.Order("STR_TO_DATE(date, '%Y-%m-%d') DESC, store_id ASC")) +} + // OrderDescByPlatinumCount is an autogenerated method // nolint: dupl func (qs InviteMemberReportQuerySet) OrderDescByPlatinumCount() InviteMemberReportQuerySet { diff --git a/model/game_card.go b/model/game_card.go index 72126f0..8fda455 100644 --- a/model/game_card.go +++ b/model/game_card.go @@ -1740,7 +1740,7 @@ type AssistantMemberPromotionReq struct { Assistant *User `json:"assistant"` } -func (m *AssistantMemberPromotionReq) List() ([]InviteMemberReport, int, error) { +func (m *AssistantMemberPromotionReq) List() ([]InviteMemberReport, int, int, error) { var reports []InviteMemberReport m.PageNum -= 1 @@ -1751,7 +1751,14 @@ func (m *AssistantMemberPromotionReq) List() ([]InviteMemberReport, int, error) m.PageSize = 10 } - m.StoreId = uint32(m.Assistant.StoreId) + //m.StoreId = uint32(m.Assistant.StoreId) + + effectiveStoreInfo, err := GetUserEffectiveStore(m.Assistant.Uid) + if err != nil { + logger.Error("err:", err) + return reports, 0, 0, err + } + m.StoreId = uint32(effectiveStoreInfo.StoreID) qs := NewInviteMemberReportQuerySet(DB).CooperativeBusinessIdEq(m.Assistant.CooperativeBusinessId). StoreIdEq(m.StoreId) @@ -1761,17 +1768,19 @@ func (m *AssistantMemberPromotionReq) List() ([]InviteMemberReport, int, error) count, err := qs.Count() if err != nil { logger.Error("err:", err) - return reports, 0, err + return reports, 0, 0, err } - totalPage := int(count)/m.PageSize + 1 - err = qs.OrderDescByID().Offset(m.PageNum * m.PageSize).Limit(m.PageSize).All(&reports) + //totalPage := int(count)/m.PageSize + 1 + totalPage := (int(count) + m.PageSize - 1) / m.PageSize + + err = qs.OrderDescByDateAndAscByStoreId().Offset(m.PageNum * m.PageSize).Limit(m.PageSize).All(&reports) if err != nil && err != RecordNotFound { logger.Error("err:", err) - return reports, totalPage, err + return reports, totalPage, 0, err } reports = InviteMemberReportListSetUser(reports) - return reports, totalPage, nil + return reports, totalPage, count, nil } func uint32ToUint64(slice []uint32) []uint64 {