|
@@ -6,6 +6,7 @@ import (
|
|
|
"eta/eta_mini_ht_api/common/utils/page"
|
|
|
userDao "eta/eta_mini_ht_api/models/user"
|
|
|
"gorm.io/gorm"
|
|
|
+ "time"
|
|
|
)
|
|
|
|
|
|
var (
|
|
@@ -15,6 +16,15 @@ var (
|
|
|
}
|
|
|
)
|
|
|
|
|
|
+type BookMarkDTO struct {
|
|
|
+ ID int
|
|
|
+ UserID int
|
|
|
+ SourceID int
|
|
|
+ SourceType string
|
|
|
+ Status string
|
|
|
+ MarkedTime string
|
|
|
+}
|
|
|
+
|
|
|
func BookMark(templateUserId int, sourceId int, sourceType string) (err error) {
|
|
|
sourceTypeItem := sourceTransMap[sourceType]
|
|
|
if sourceTypeItem == "" {
|
|
@@ -86,3 +96,29 @@ func GetBookMarkPageRangeBySourceType(templateUserId int, sourceType string, inf
|
|
|
offset := page.StartIndex(info.Current, info.PageSize)
|
|
|
return userDao.GetBookMarkPageRangeBySourceType(templateUserId, sourceTypeItem, offset, info.PageSize, sourceIds)
|
|
|
}
|
|
|
+
|
|
|
+func GetBookMarkedBySource(sourceId int, templateUserId int, sourceType string) (bookMarkDTO BookMarkDTO, err error) {
|
|
|
+ sourceTypeItem := sourceTransMap[sourceType]
|
|
|
+ if sourceTypeItem == "" {
|
|
|
+ logger.Error("非法的资源类型")
|
|
|
+ err = errors.New("非法的资源类型")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ bookMark, err := userDao.GetBookMarkedBySource(sourceId, templateUserId, sourceTypeItem)
|
|
|
+ if err != nil {
|
|
|
+ logger.Error("获取用户收藏记录失败:%v", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ bookMarkDTO = convertUserBookmark(bookMark)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func convertUserBookmark(bookmark userDao.UserBookmark) (bookMark BookMarkDTO) {
|
|
|
+ bookMark.ID = bookmark.ID
|
|
|
+ bookMark.UserID = bookmark.UserID
|
|
|
+ bookMark.SourceID = bookmark.SourceID
|
|
|
+ bookMark.SourceType = string(bookmark.SourceType)
|
|
|
+ bookMark.Status = string(bookmark.Status)
|
|
|
+ bookMark.MarkedTime = bookmark.MarkedTime.Format(time.DateTime)
|
|
|
+ return
|
|
|
+}
|