giftcard_transaction.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package handler
  2. import (
  3. "bet24.com/database"
  4. "bet24.com/log"
  5. dbengine "bet24.com/servers/micros/dbengine/proto"
  6. item "bet24.com/servers/micros/item_inventory/proto"
  7. "encoding/json"
  8. )
  9. // 生成礼品卡
  10. func trans_GenGiftCard(userId, itemId int, key string) {
  11. statement := database.NewStatement()
  12. statement.SetNeedReturnValue(false)
  13. statement.SetOpenRecordSet(true)
  14. statement.SetProcName("WS_GiftCard_Gen")
  15. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  16. statement.AddParamter("@ItemID", database.AdParamInput, database.AdInteger, 4, itemId)
  17. statement.AddParamter("@Key", database.AdParamInput, database.AdNVarChar, 128, key)
  18. sqlString := statement.GenSql()
  19. log.Debug(sqlString)
  20. dbengine.Execute(sqlString)
  21. }
  22. // 使用礼品卡
  23. func trans_UseGiftCard(userId, itemId int) (bool, string) {
  24. statement := database.NewStatement()
  25. statement.SetNeedReturnValue(false)
  26. statement.SetOpenRecordSet(true)
  27. statement.SetProcName("WS_GiftCard_Use")
  28. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  29. statement.AddParamter("@ItemID", database.AdParamInput, database.AdInteger, 4, itemId)
  30. sqlString := statement.GenSql()
  31. //log.Debug(sqlString)
  32. retRows := dbengine.ExecuteRs(sqlString)
  33. rowLen := len(retRows)
  34. if rowLen <= 0 {
  35. return false, ""
  36. }
  37. ret := int(retRows[0][0].(int64)) > 0
  38. key := retRows[0][1].(string)
  39. return ret, key
  40. }
  41. // 获取使用记录
  42. func trans_GetGiftCardHistory(userId int) []item.GiftCard {
  43. statement := database.NewStatement()
  44. statement.SetNeedReturnValue(false)
  45. statement.SetOpenRecordSet(true)
  46. statement.SetProcName("WS_GiftCard_GetHistory")
  47. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  48. sqlString := statement.GenSql()
  49. var ret []item.GiftCard
  50. jsonData := dbengine.Execute(sqlString)
  51. if err := json.Unmarshal([]byte(jsonData), &ret); err != nil {
  52. log.Release("inventory.getGiftCardList load json unmarshal err %v", err)
  53. return nil
  54. }
  55. return ret
  56. }