transaction.go 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package gift
  2. import (
  3. "encoding/json"
  4. "bet24.com/database"
  5. "bet24.com/log"
  6. dbengine "bet24.com/servers/micros/dbengine/proto"
  7. pb "bet24.com/servers/micros/giftservice/proto"
  8. )
  9. func getUnclaimedGifts(userId int) []pb.UserGift {
  10. var ret []pb.UserGift
  11. statement := database.NewStatement()
  12. statement.SetNeedReturnValue(false)
  13. statement.SetOpenRecordSet(false)
  14. statement.SetProcName("WS_GiftService_getUnclaimed")
  15. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  16. jsonData := dbengine.Execute(statement.GenSql())
  17. if jsonData != "[]" {
  18. log.Debug("getUnclaimedGifts [%d] %s", userId, jsonData)
  19. }
  20. if err := json.Unmarshal([]byte(jsonData), &ret); err != nil {
  21. log.Error("gift.transaction.getUnclaimedGifts json unmarshal UserID=%d err %v", userId, err)
  22. }
  23. return ret
  24. }
  25. func addUserGift(ug pb.UserGift, giftType int) int {
  26. statement := database.NewStatement()
  27. statement.SetNeedReturnValue(false)
  28. statement.SetOpenRecordSet(false)
  29. statement.SetProcName("WS_GiftService_AddUserGift")
  30. statement.AddParamter("@Sender", database.AdParamInput, database.AdInteger, 4, ug.Sender)
  31. statement.AddParamter("@Receiver", database.AdParamInput, database.AdInteger, 4, ug.Receiver)
  32. statement.AddParamter("@GiftID", database.AdParamInput, database.AdInteger, 4, ug.GiftId)
  33. statement.AddParamter("@SendTime", database.AdParamInput, database.AdInteger, 4, ug.SendTime)
  34. statement.AddParamter("@Items", database.AdParamInput, database.AdVarChar, 128, ug.Items)
  35. statement.AddParamter("@GiftType", database.AdParamInput, database.AdInteger, 4, giftType)
  36. var ret []pb.UserGift
  37. jsonData := dbengine.Execute(statement.GenSql())
  38. if err := json.Unmarshal([]byte(jsonData), &ret); err != nil {
  39. log.Error("gift.transaction.addUserGift json unmarshal UserID=%d err %v", ug.Sender, err)
  40. }
  41. return ret[0].Rid
  42. }
  43. func claimUserGift(userId int, rid int, claimTime int) string {
  44. statement := database.NewStatement()
  45. statement.SetNeedReturnValue(false)
  46. statement.SetOpenRecordSet(true)
  47. statement.SetProcName("WS_GiftService_ClaimUserGift")
  48. statement.AddParamter("@UserId", database.AdParamInput, database.AdInteger, 4, userId)
  49. statement.AddParamter("@Rid", database.AdParamInput, database.AdInteger, 4, rid)
  50. statement.AddParamter("@ClaimTime", database.AdParamInput, database.AdInteger, 4, claimTime)
  51. jsonData := dbengine.Execute(statement.GenSql())
  52. return jsonData
  53. }
  54. func getReceivedGiftHistory(userId int, giftType, count int) string {
  55. statement := database.NewStatement()
  56. statement.SetNeedReturnValue(false)
  57. statement.SetOpenRecordSet(true)
  58. statement.SetProcName("WS_GiftService_GetClaimRecord")
  59. statement.AddParamter("@UserId", database.AdParamInput, database.AdInteger, 4, userId)
  60. statement.AddParamter("@GiftType", database.AdParamInput, database.AdInteger, 4, giftType)
  61. statement.AddParamter("@Count", database.AdParamInput, database.AdInteger, 4, count)
  62. jsonData := dbengine.Execute(statement.GenSql())
  63. return jsonData
  64. }