|
@@ -396,4 +396,79 @@ func InterfaceLog(in *model.InterfaceLog) bool {
|
|
return false
|
|
return false
|
|
}
|
|
}
|
|
return true
|
|
return true
|
|
-}
|
|
|
|
|
|
+}
|
|
|
|
+//文档收藏
|
|
|
|
+func UserMerge(mergeUser,mergedUser string) bool {
|
|
|
|
+
|
|
|
|
+ log.Println("UserMerge exec ......")
|
|
|
|
+ orm := docRpcUtil.GetJyDocsDB()
|
|
|
|
+
|
|
|
|
+ docData := model.UserDocData{}
|
|
|
|
+ err := orm.Transaction(func(tx *gorm.DB) error {
|
|
|
|
+ err0 := orm.Select("id,userId,docId,isCollection,isDownload").
|
|
|
|
+ Where("userId = ? AND appId = ?", userDoc.UserId, userDoc.DocId,userDoc.AppId).
|
|
|
|
+ Find(&docData).Error
|
|
|
|
+ if err0 != nil {
|
|
|
|
+ log.Println("查询已存在收藏记录失败")
|
|
|
|
+ return errors.New("查询已存在收藏记录失败")
|
|
|
|
+ }
|
|
|
|
+ //已收藏数据处理
|
|
|
|
+ if docData.IsCollection == 1 {
|
|
|
|
+ log.Println("此文档,该用户已收藏,不可重复收藏")
|
|
|
|
+ return errors.New("此文档,该用户已收藏,不可重复收藏")
|
|
|
|
+ }
|
|
|
|
+ //查询文档基础信息
|
|
|
|
+ doc := model.Doc{}
|
|
|
|
+ err0 = orm.Where("id = ?", userDoc.DocId).
|
|
|
|
+ Find(&doc).Error
|
|
|
|
+ if err0 != nil || doc.Id == "" {
|
|
|
|
+ log.Println("文档不存在")
|
|
|
|
+ return errors.New("文档不存在")
|
|
|
|
+ }
|
|
|
|
+ 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
|
|
|
|
+ userDoc.Cost = fmt.Sprint(doc.Price)
|
|
|
|
+ //已取消收藏,再次进行收藏
|
|
|
|
+ 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
|
|
|
|
+ err := orm.Create(userDoc).Error
|
|
|
|
+ if err != nil {
|
|
|
|
+ log.Println("userDocCollect error:", err)
|
|
|
|
+ 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, 2, doc.Price).Error
|
|
|
|
+ if err != nil {
|
|
|
|
+ log.Println("userDocCollect record insert error:", err)
|
|
|
|
+ tx.Rollback()
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ return err
|
|
|
|
+ })
|
|
|
|
+ if err != nil {
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+ return true
|
|
|
|
+}
|