package user import ( "cls-server/internal/domain/gift_log" "errors" ) type UserGiftLogAggregate struct { user *User giftLog []*gift_log.GiftLog } func (a *UserGiftLogAggregate) GetUser() *User { return a.user } func (a *UserGiftLogAggregate) GetGiftLogs() []*gift_log.GiftLog { return a.giftLog } func (a *UserGiftLogAggregate) SetGiftLogs(g []*gift_log.GiftLog) { a.giftLog = g } func NewUserGiftLogAggregate(user *User) *UserGiftLogAggregate { return &UserGiftLogAggregate{ user: user, giftLog: make([]*gift_log.GiftLog, 0), } } func (a *UserGiftLogAggregate) AddGiftToUser(l *gift_log.GiftLog) error { if l.Num < 1 { return errors.New("赠送次数不能少于1") } a.user.GiftCount += l.Num a.giftLog = []*gift_log.GiftLog{l} return nil }