This is an automated email from the ASF dual-hosted git repository. robin0716 pushed a commit to branch develop/robin in repository https://gitbox.apache.org/repos/asf/incubator-answer.git
commit 77a966cb7a11c18995d016ea00df5ab32201e5e0 Author: kumfo <ku...@sifou.com> AuthorDate: Wed Jul 31 10:32:10 2024 +0800 feat(badge): init entity --- internal/base/constant/object_type.go | 23 +++++++---- internal/entity/badge.go | 43 ++++++++++++++++++++ .../object_type.go => entity/badge_award.go} | 47 ++++++++-------------- .../object_type.go => entity/badge_group.go} | 43 ++++++-------------- 4 files changed, 89 insertions(+), 67 deletions(-) diff --git a/internal/base/constant/object_type.go b/internal/base/constant/object_type.go index b3e3883d..eef952c4 100644 --- a/internal/base/constant/object_type.go +++ b/internal/base/constant/object_type.go @@ -27,6 +27,9 @@ const ( CollectionObjectType = "collection" CommentObjectType = "comment" ReportObjectType = "report" + BadgeObjectType = "badge" + BadgeAwardObjectType = "badge_award" + BadgeGroupObjectType = "badge_group" ) var ( @@ -38,15 +41,21 @@ var ( CollectionObjectType: 6, CommentObjectType: 7, ReportObjectType: 8, + BadgeObjectType: 9, + BadgeAwardObjectType: 10, + BadgeGroupObjectType: 11, } ObjectTypeNumberMapping = map[int]string{ - 1: QuestionObjectType, - 2: AnswerObjectType, - 3: TagObjectType, - 4: UserObjectType, - 6: CollectionObjectType, - 7: CommentObjectType, - 8: ReportObjectType, + 1: QuestionObjectType, + 2: AnswerObjectType, + 3: TagObjectType, + 4: UserObjectType, + 6: CollectionObjectType, + 7: CommentObjectType, + 8: ReportObjectType, + 9: BadgeObjectType, + 10: BadgeAwardObjectType, + 11: BadgeGroupObjectType, } ) diff --git a/internal/entity/badge.go b/internal/entity/badge.go new file mode 100644 index 00000000..d310ef79 --- /dev/null +++ b/internal/entity/badge.go @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package entity + +import "time" + +// Badge badge +type Badge struct { + ID string `json:"id" xorm:"id"` + CreatedAt time.Time `json:"created_at" xorm:"created_at"` + UpdatedAt time.Time `json:"updated_at" xorm:"updated_at"` + Name string `json:"name" xorm:"name"` + AwardTotal int64 `json:"award_total" xorm:"award_total"` + Description string `json:"description" xorm:"description"` + Status int8 `json:"status" xorm:"status"` + BadgeGroupId int64 `json:"badge_group_id" xorm:"badge_group_id"` + Single int8 `json:"single" xorm:"single"` + Collect string `json:"collect" xorm:"collect"` + Handler string `json:"handler" xorm:"handler"` + Param string `json:"param" xorm:"param"` +} + +// TableName badge table name +func (*Badge) TableName() string { + return "badge" +} diff --git a/internal/base/constant/object_type.go b/internal/entity/badge_award.go similarity index 53% copy from internal/base/constant/object_type.go copy to internal/entity/badge_award.go index b3e3883d..fe1dab96 100644 --- a/internal/base/constant/object_type.go +++ b/internal/entity/badge_award.go @@ -17,36 +17,23 @@ * under the License. */ -package constant +package entity -const ( - QuestionObjectType = "question" - AnswerObjectType = "answer" - TagObjectType = "tag" - UserObjectType = "user" - CollectionObjectType = "collection" - CommentObjectType = "comment" - ReportObjectType = "report" -) +import "time" -var ( - ObjectTypeStrMapping = map[string]int{ - QuestionObjectType: 1, - AnswerObjectType: 2, - TagObjectType: 3, - UserObjectType: 4, - CollectionObjectType: 6, - CommentObjectType: 7, - ReportObjectType: 8, - } +// BadgeAward badge_award +type BadgeAward struct { + ID string `json:"id" xorm:"id"` + CreatedAt time.Time `json:"created_at" xorm:"created_at"` + UpdatedAt time.Time `json:"updated_at" xorm:"updated_at"` + UserId int64 `json:"user_id" xorm:"user_id"` + BadgeId int64 `json:"badge_id" xorm:"badge_id"` + ObjectId int64 `json:"object_id" xorm:"object_id"` + BadgeGroupId int8 `json:"badge_group_id" xorm:"badge_group_id"` + IsBadgeDeleted int8 `json:"is_badge_deleted" xorm:"is_badge_deleted"` +} - ObjectTypeNumberMapping = map[int]string{ - 1: QuestionObjectType, - 2: AnswerObjectType, - 3: TagObjectType, - 4: UserObjectType, - 6: CollectionObjectType, - 7: CommentObjectType, - 8: ReportObjectType, - } -) +// TableName badge_award table name +func (*BadgeAward) TableName() string { + return "badge_award" +} diff --git a/internal/base/constant/object_type.go b/internal/entity/badge_group.go similarity index 53% copy from internal/base/constant/object_type.go copy to internal/entity/badge_group.go index b3e3883d..14535299 100644 --- a/internal/base/constant/object_type.go +++ b/internal/entity/badge_group.go @@ -17,36 +17,19 @@ * under the License. */ -package constant +package entity -const ( - QuestionObjectType = "question" - AnswerObjectType = "answer" - TagObjectType = "tag" - UserObjectType = "user" - CollectionObjectType = "collection" - CommentObjectType = "comment" - ReportObjectType = "report" -) +import "time" -var ( - ObjectTypeStrMapping = map[string]int{ - QuestionObjectType: 1, - AnswerObjectType: 2, - TagObjectType: 3, - UserObjectType: 4, - CollectionObjectType: 6, - CommentObjectType: 7, - ReportObjectType: 8, - } +// BadgeGroup badge_group +type BadgeGroup struct { + ID string `json:"id" xorm:"id"` + Name string `json:"name" xorm:"name"` + CreatedAt time.Time `json:"created_at" xorm:"created_at"` + UpdatedAt time.Time `json:"updated_at" xorm:"updated_at"` +} - ObjectTypeNumberMapping = map[int]string{ - 1: QuestionObjectType, - 2: AnswerObjectType, - 3: TagObjectType, - 4: UserObjectType, - 6: CollectionObjectType, - 7: CommentObjectType, - 8: ReportObjectType, - } -) +// TableName badge_group table name +func (*BadgeGroup) TableName() string { + return "badge_group" +}