userDocService.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package userlib
  2. import (
  3. "app.yhyue.com/moapp/jydocs/services/model"
  4. docRpcUtil "app.yhyue.com/moapp/jydocs/services/util"
  5. "gorm.io/gorm"
  6. "log"
  7. "time"
  8. )
  9. func UserDocCollect(userDoc *model.UserDoc, cost int) bool {
  10. log.Println("UserDocCollect exec ......")
  11. err := docRpcUtil.GetJyDocsDB().Transaction(func(tx *gorm.DB) error {
  12. //用户文库表添加记录(需要检查是否重复)
  13. err := docRpcUtil.GetJyDocsDB().Create(userDoc).Error
  14. if err != nil {
  15. log.Println("userDocCollect error:", err)
  16. tx.Rollback()
  17. return err
  18. }
  19. //用户收藏、转存记录表添加记录
  20. err = docRpcUtil.GetJyDocsDB().Exec("insert into download_collection_record (docId,userId,sourceUserId,category,cost) values (?,?,?,?,?)", userDoc.DocId, userDoc.UserId, userDoc.DocSourceUserId, userDoc.DocCategory, cost).Error
  21. if err != nil {
  22. log.Println("userDocCollect record insert error:", err)
  23. tx.Rollback()
  24. return err
  25. }
  26. return nil
  27. })
  28. if err != nil {
  29. return false
  30. }
  31. return true
  32. }
  33. func UserDocDelete(docId string) bool {
  34. err := docRpcUtil.GetJyDocsDB().Transaction(func(tx *gorm.DB) error {
  35. orm := docRpcUtil.GetJyDocsDB()
  36. docData := model.UserDoc{}
  37. //查询用户文档详情
  38. orm.Select("userId,docId").First(&docData,docId)
  39. log.Println(docData.UserId)
  40. log.Println(docData.DocId)
  41. //逻辑删除
  42. err := docRpcUtil.GetJyDocsDB().Exec("UPDATE user_doc SET isDelete = 1 WHERE id = ?",docId).Error
  43. if err != nil {
  44. tx.Rollback()
  45. return err
  46. }
  47. //删除记录
  48. err = docRpcUtil.GetJyDocsDB().Exec("insert into del_record (docId, userId, date, operate, viewType, source, shareUserId) values (?,?,?,?,?,?,?)",docId,docData.UserId,time.Now(),1,1,1,1).Error
  49. if err != nil {
  50. tx.Rollback()
  51. return err
  52. }
  53. return nil
  54. })
  55. if err != nil {
  56. return false
  57. }
  58. return true
  59. }