trans_share.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package transaction
  2. import (
  3. "encoding/json"
  4. "runtime/debug"
  5. "bet24.com/database"
  6. "bet24.com/log"
  7. item "bet24.com/servers/micros/item_inventory/proto"
  8. )
  9. // isReward: 0 表示查询 1 表示领取,需要写数据库
  10. func GetShareItems(userId int, isReward int) []item.ItemPack {
  11. var rets []item.ItemPack
  12. defer func() {
  13. if err := recover(); err != nil {
  14. log.Release("GetShareItems err %v", err)
  15. log.Release("%s", debug.Stack())
  16. }
  17. }()
  18. statement := database.NewStatement()
  19. statement.SetNeedReturnValue(false)
  20. statement.SetOpenRecordSet(true)
  21. statement.SetProcName("WS_Share_GetItems")
  22. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  23. statement.AddParamter("@Reward", database.AdParamInput, database.AdInteger, 4, isReward)
  24. sqlstring := statement.GenSql()
  25. retRows := CenterDB.ExecSql(sqlstring)
  26. rowLen := len(retRows)
  27. if rowLen <= 0 {
  28. return rets
  29. }
  30. items := (retRows[0][0]).(string)
  31. if len(items) <= 0 {
  32. return rets
  33. }
  34. if err := json.Unmarshal([]byte(items), &rets); err != nil {
  35. log.Error("GetShareItems json unmarshal fail %v", err)
  36. }
  37. return rets
  38. }