|
@@ -16,56 +16,51 @@ func UserDocCollect(userDoc *model.UserDoc, cost int) bool {
|
|
|
orm := docRpcUtil.GetJyDocsDB()
|
|
|
docData := model.UserDocData{}
|
|
|
err := orm.Transaction(func(tx *gorm.DB) error {
|
|
|
- err0 := orm.Select("id,userId,docId,docCategory,isDelete").
|
|
|
- Where("userId = ? AND docId = ? AND (isDelete = 0 OR isDelete = 1)", userDoc.UserId, userDoc.DocId).
|
|
|
+ err0 := orm.Select("id,userId,docId,isCollection").
|
|
|
+ Where("userId = ? AND docId = ? AND appId = ?", userDoc.UserId, userDoc.DocId,userDoc.AppId).
|
|
|
Find(&docData).Error
|
|
|
if err0 != nil {
|
|
|
log.Println("查询已存在收藏记录失败")
|
|
|
return err0
|
|
|
}
|
|
|
- //已下载数据处理
|
|
|
- if docData.DocCategory == 1 {
|
|
|
- log.Println("该文档已下载,无法收藏")
|
|
|
- return err0
|
|
|
- }
|
|
|
-
|
|
|
//已收藏数据处理
|
|
|
- if docData.IsDelete == 0 && docData.UserId != "" {
|
|
|
+ if docData.IsCollection == 1 {
|
|
|
log.Println("此文档,该用户已收藏,不可重复收藏")
|
|
|
return err0
|
|
|
}
|
|
|
+ //查询文档基础信息
|
|
|
+ doc := model.Doc{}
|
|
|
+ err0 = orm.Where("id = ?", userDoc.DocId).
|
|
|
+ Find(&doc).Error
|
|
|
+ if err0 != nil || doc.Id == "" {
|
|
|
+ log.Println("文档不存在", err0)
|
|
|
+ return err0
|
|
|
+ }
|
|
|
+ userDoc.DocSourceUserId = doc.UserId
|
|
|
+ userDoc.DocCategory = 2
|
|
|
+ userDoc.IsDelete = int(userlib.UserDocStatus_Normal)
|
|
|
+ userDoc.DocName = doc.DocName
|
|
|
+ userDoc.DocFileType = doc.DocFileType
|
|
|
+ userDoc.DocFileSuffix = doc.DocFileSuffix
|
|
|
+ userDoc.DocFileSize = doc.DocFileSize
|
|
|
+ userDoc.DocPageSize = doc.DocPageSize
|
|
|
+ userDoc.DocSummary = doc.DocSummary
|
|
|
+ userDoc.IsCollection = 1
|
|
|
//已取消收藏,再次进行收藏
|
|
|
- if docData.IsDelete == 1 && docData.UserId != "" {
|
|
|
- err := orm.Exec("UPDATE user_doc SET isDelete = 0 WHERE id = ?", docData.Id).Error
|
|
|
+ if docData.IsCollection == 0 && docData.UserId != "" {
|
|
|
+ err := orm.Exec("UPDATE user_doc SET isCollection = 1 WHERE id = ?", docData.Id).Error
|
|
|
if err != nil {
|
|
|
log.Println("文档再次收藏失败")
|
|
|
tx.Rollback()
|
|
|
return err
|
|
|
}
|
|
|
- //无收藏记录,新增收藏
|
|
|
+ //无收藏记录,新增收藏
|
|
|
} else {
|
|
|
//用户文库表添加记录(需要检查是否重复)
|
|
|
timeData := time.Now()
|
|
|
userDoc.CreateAt = timeData
|
|
|
userDoc.UpdateAt = timeData
|
|
|
userDoc.DeletedAt = timeData
|
|
|
- //查询文档基础信息
|
|
|
- doc := model.Doc{}
|
|
|
- err0 := orm.Where("id = ?", userDoc.DocId).
|
|
|
- Find(&doc).Error
|
|
|
- if err0 != nil || doc.Id == "" {
|
|
|
- log.Println("文档不存在", err0)
|
|
|
- return err0
|
|
|
- }
|
|
|
- userDoc.DocSourceUserId = doc.UserId
|
|
|
- userDoc.DocCategory = 2
|
|
|
- userDoc.IsDelete = int(userlib.UserDocStatus_Normal)
|
|
|
- userDoc.DocName = doc.DocName
|
|
|
- userDoc.DocFileType = doc.DocFileType
|
|
|
- userDoc.DocFileSuffix = doc.DocFileSuffix
|
|
|
- userDoc.DocFileSize = doc.DocFileSize
|
|
|
- userDoc.DocPageSize = doc.DocPageSize
|
|
|
- userDoc.DocSummary = doc.DocSummary
|
|
|
err := orm.Create(userDoc).Error
|
|
|
if err != nil {
|
|
|
log.Println("userDocCollect error:", err)
|
|
@@ -74,7 +69,7 @@ func UserDocCollect(userDoc *model.UserDoc, cost int) bool {
|
|
|
}
|
|
|
}
|
|
|
//用户收藏、兑换记录表添加记录
|
|
|
- err := orm.Exec("insert into download_collection_record (docId,userId,sourceUserId,category,cost) values (?,?,?,?,?)", userDoc.DocId, userDoc.UserId, userDoc.DocSourceUserId, userDoc.DocCategory, cost).Error
|
|
|
+ err := orm.Exec("insert into download_collection_record (docId,userId,appId,sourceUserId,category,cost) values (?,?,?,?,?,?)", userDoc.DocId, userDoc.UserId, userDoc.AppId, userDoc.DocSourceUserId, 2, cost).Error
|
|
|
if err != nil {
|
|
|
log.Println("userDocCollect record insert error:", err)
|
|
|
tx.Rollback()
|
|
@@ -92,12 +87,28 @@ func UserDocCollect(userDoc *model.UserDoc, cost int) bool {
|
|
|
func UserDocCancelCollect(userDocId string) bool {
|
|
|
orm := docRpcUtil.GetJyDocsDB()
|
|
|
err := orm.Transaction(func(tx *gorm.DB) error {
|
|
|
- err := orm.Exec("UPDATE user_doc SET isDelete = 1 WHERE id = ? AND docCategory = 2 AND isDelete = 0", userDocId).Error
|
|
|
+ //收藏记录详情
|
|
|
+ userDoc := model.UserDoc{}
|
|
|
+ err := orm.Where("id = ?", userDocId).
|
|
|
+ Find(&userDoc).Error
|
|
|
+ if err != nil || userDoc.ID == 0{
|
|
|
+ log.Println("无此收藏记录,取消收藏失败", err)
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ //文档取消收藏状态修改
|
|
|
+ err = orm.Exec("UPDATE user_doc SET isCollection = 0 WHERE id = ? AND isCollection = 1", userDocId).Error
|
|
|
if err != nil {
|
|
|
log.Println("文档取消收藏失败")
|
|
|
tx.Rollback()
|
|
|
return err
|
|
|
}
|
|
|
+ //记录文档取消收藏添加记录
|
|
|
+ err = orm.Exec("insert into download_collection_record (docId,userId,appId,sourceUserId,category,cost) values (?,?,?,?,?,?)", userDoc.DocId, userDoc.UserId, userDoc.AppId, userDoc.DocSourceUserId, 3, 0).Error
|
|
|
+ if err != nil {
|
|
|
+ log.Println("userDocCollect record insert error:", err)
|
|
|
+ tx.Rollback()
|
|
|
+ return err
|
|
|
+ }
|
|
|
return nil
|
|
|
})
|
|
|
if err != nil {
|