transaction.go 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. package coupontask
  2. import (
  3. "runtime/debug"
  4. "bet24.com/servers/coreservice/dbengine"
  5. "bet24.com/database"
  6. "bet24.com/log"
  7. )
  8. // 券广告播放配置
  9. func getVideoConfig() []*videoConfig {
  10. defer func() {
  11. if err := recover(); err != nil {
  12. log.Error("transaction recover err %v", err)
  13. log.Error("%s", debug.Stack())
  14. }
  15. }()
  16. statement := database.NewStatement()
  17. statement.SetOpenRecordSet(true)
  18. statement.SetNeedReturnValue(false)
  19. statement.SetProcName("WS_CouponTask_GetVideoConfig")
  20. sqlstring := statement.GenSql()
  21. retRows := dbengine.CenterDB.ExecSql(sqlstring)
  22. rowLen := len(retRows)
  23. if rowLen <= 0 {
  24. return nil
  25. }
  26. var list []*videoConfig
  27. for i := 0; i < rowLen; i++ {
  28. ret := retRows[i]
  29. list = append(list, &videoConfig{
  30. PlayTimes: int((ret[0]).(int64)),
  31. CouponLimit: int((ret[1]).(int64)),
  32. })
  33. }
  34. return list
  35. }
  36. // 券系统任务
  37. func getSysList() []*task {
  38. defer func() {
  39. if err := recover(); err != nil {
  40. log.Error("transaction recover err %v", err)
  41. log.Error("%s", debug.Stack())
  42. }
  43. }()
  44. statement := database.NewStatement()
  45. statement.SetOpenRecordSet(true)
  46. statement.SetNeedReturnValue(false)
  47. statement.SetProcName("WS_CouponTask_GetSysList")
  48. sqlstring := statement.GenSql()
  49. retRows := dbengine.CenterDB.ExecSql(sqlstring)
  50. rowLen := len(retRows)
  51. if rowLen <= 0 {
  52. return nil
  53. }
  54. var list []*task
  55. for i := 0; i < rowLen; i++ {
  56. ret := retRows[i]
  57. list = append(list, &task{
  58. TaskId: int((ret[0]).(int64)),
  59. GameID: int((ret[1]).(int64)),
  60. BaseScore: int((ret[2]).(int64)),
  61. Players: int((ret[3]).(int64)),
  62. DoubleType: int((ret[4]).(int64)),
  63. Coupons: int((ret[5]).(int64)),
  64. })
  65. }
  66. return list
  67. }
  68. // 用户任务
  69. func getUserTaskList(userId int) []*UserTask {
  70. defer func() {
  71. if err := recover(); err != nil {
  72. log.Error("transaction recover err %v", err)
  73. log.Error("%s", debug.Stack())
  74. }
  75. }()
  76. statement := database.NewStatement()
  77. statement.SetOpenRecordSet(true)
  78. statement.SetNeedReturnValue(false)
  79. statement.SetProcName("WS_CouponTask_GetTaskList")
  80. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  81. sqlstring := statement.GenSql()
  82. // log.Debug(sqlstring)
  83. retRows := dbengine.CenterDB.ExecSql(sqlstring)
  84. rowLen := len(retRows)
  85. if rowLen <= 0 {
  86. return nil
  87. }
  88. var list []*UserTask
  89. for i := 0; i < rowLen; i++ {
  90. ret := retRows[i]
  91. list = append(list, &UserTask{
  92. UserTaskId: int((ret[0]).(int64)),
  93. GameId: int((ret[1]).(int64)),
  94. BaseScore: int((ret[2]).(int64)),
  95. GameCount: int((ret[3]).(int64)),
  96. Coupons: int((ret[4]).(int64)),
  97. GiftStatus: int((ret[5]).(int64)),
  98. Crdate: (ret[6]).(string),
  99. })
  100. }
  101. return list
  102. }
  103. // 用户信息
  104. func getUserInfo(userId int) *BaseInfo {
  105. defer func() {
  106. if err := recover(); err != nil {
  107. log.Error("transaction recover err %v", err)
  108. log.Error("%s", debug.Stack())
  109. }
  110. }()
  111. statement := database.NewStatement()
  112. statement.SetNeedReturnValue(false)
  113. statement.SetOpenRecordSet(true)
  114. statement.SetProcName("WS_CouponTask_GetUserInfo")
  115. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  116. sqlstring := statement.GenSql()
  117. // log.Debug(sqlstring)
  118. retRows := dbengine.CenterDB.ExecSql(sqlstring)
  119. if len(retRows) <= 0 {
  120. return &BaseInfo{}
  121. }
  122. return &BaseInfo{
  123. TodayCount: int((retRows[0][0]).(int64)),
  124. BaseLimit: int((retRows[0][1]).(int64)),
  125. TmpAdd: int((retRows[0][2]).(int64)),
  126. PlayTimes: int((retRows[0][3]).(int64)),
  127. updateTime: int((retRows[0][4]).(int64)),
  128. isFacebook: int((retRows[0][5]).(int64)),
  129. }
  130. }
  131. // 修改信息
  132. func updateInfo(userId, todayCount, updateTime int) {
  133. defer func() {
  134. if err := recover(); err != nil {
  135. log.Error("transaction recover err %v", err)
  136. log.Error("%s", debug.Stack())
  137. }
  138. }()
  139. statement := database.NewStatement()
  140. statement.SetNeedReturnValue(false)
  141. statement.SetOpenRecordSet(true)
  142. statement.SetProcName("WS_CouponTask_UpdateInfo")
  143. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  144. statement.AddParamter("@TodayCount", database.AdParamInput, database.AdInteger, 4, todayCount)
  145. statement.AddParamter("@UpdateTime", database.AdParamInput, database.AdInteger, 4, updateTime)
  146. sqlstring := statement.GenSql()
  147. dbengine.CenterDB.ExecSql(sqlstring)
  148. }
  149. // 修改上限
  150. func updateLimit(userId, baseLimit, playTimes, tmpAdd int) {
  151. defer func() {
  152. if err := recover(); err != nil {
  153. log.Error("transaction recover err %v", err)
  154. log.Error("%s", debug.Stack())
  155. }
  156. }()
  157. statement := database.NewStatement()
  158. statement.SetNeedReturnValue(false)
  159. statement.SetOpenRecordSet(true)
  160. statement.SetProcName("WS_CouponTask_UpdateLimit")
  161. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  162. statement.AddParamter("@BaseLimit", database.AdParamInput, database.AdInteger, 4, baseLimit)
  163. statement.AddParamter("@PlayTimes", database.AdParamInput, database.AdInteger, 4, playTimes)
  164. statement.AddParamter("@TmpAdd", database.AdParamInput, database.AdInteger, 4, tmpAdd)
  165. sqlstring := statement.GenSql()
  166. log.Debug(sqlstring)
  167. dbengine.CenterDB.ExecSql(sqlstring)
  168. }
  169. // 跨天重置
  170. func reset(userId int, info *BaseInfo) {
  171. defer func() {
  172. if err := recover(); err != nil {
  173. log.Error("transaction recover err %v", err)
  174. log.Error("%s", debug.Stack())
  175. }
  176. }()
  177. statement := database.NewStatement()
  178. statement.SetNeedReturnValue(false)
  179. statement.SetOpenRecordSet(true)
  180. statement.SetProcName("WS_CouponTask_Reset")
  181. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  182. statement.AddParamter("@TodayCount", database.AdParamInput, database.AdInteger, 4, info.TodayCount)
  183. statement.AddParamter("@TmpAdd", database.AdParamInput, database.AdInteger, 4, info.TmpAdd)
  184. statement.AddParamter("@PlayTimes", database.AdParamInput, database.AdInteger, 4, info.PlayTimes)
  185. statement.AddParamter("@UpdateTime", database.AdParamInput, database.AdInteger, 4, info.updateTime)
  186. sqlstring := statement.GenSql()
  187. dbengine.CenterDB.ExecSql(sqlstring)
  188. }
  189. // 新增任务
  190. func insertTask(userId int, info *UserTask) int {
  191. defer func() {
  192. if err := recover(); err != nil {
  193. log.Error("transaction recover err %v", err)
  194. log.Error("%s", debug.Stack())
  195. }
  196. }()
  197. statement := database.NewStatement()
  198. statement.SetNeedReturnValue(false)
  199. statement.SetOpenRecordSet(true)
  200. statement.SetProcName("WS_CouponTask_InsertTask")
  201. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  202. statement.AddParamter("@GameID", database.AdParamInput, database.AdInteger, 4, info.GameId)
  203. statement.AddParamter("@BaseScore", database.AdParamInput, database.AdInteger, 4, info.BaseScore)
  204. statement.AddParamter("@GameCount", database.AdParamInput, database.AdInteger, 4, info.GameCount)
  205. statement.AddParamter("@Coupons", database.AdParamInput, database.AdInteger, 4, info.Coupons)
  206. statement.AddParamter("@GiftStatus", database.AdParamInput, database.AdInteger, 4, info.GiftStatus)
  207. sqlstring := statement.GenSql()
  208. retRows := dbengine.CenterDB.ExecSql(sqlstring)
  209. if len(retRows) <= 0 {
  210. return 0
  211. }
  212. return int((retRows[0][0]).(int64))
  213. }
  214. // 更新任务
  215. func updateTask(userId int, info *UserTask) {
  216. defer func() {
  217. if err := recover(); err != nil {
  218. log.Error("transaction recover err %v", err)
  219. log.Error("%s", debug.Stack())
  220. }
  221. }()
  222. statement := database.NewStatement()
  223. statement.SetNeedReturnValue(false)
  224. statement.SetOpenRecordSet(true)
  225. statement.SetProcName("WS_CouponTask_UpdateTask")
  226. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  227. statement.AddParamter("@UserTaskID", database.AdParamInput, database.AdInteger, 4, info.UserTaskId)
  228. statement.AddParamter("@GameCount", database.AdParamInput, database.AdInteger, 4, info.GameCount)
  229. statement.AddParamter("@Coupons", database.AdParamInput, database.AdInteger, 4, info.Coupons)
  230. sqlstring := statement.GenSql()
  231. dbengine.CenterDB.ExecSql(sqlstring)
  232. }
  233. // 领取奖励
  234. func awardTask(req *award_req) int {
  235. defer func() {
  236. if err := recover(); err != nil {
  237. log.Error("transaction recover err %v", err)
  238. log.Error("%s", debug.Stack())
  239. }
  240. }()
  241. statement := database.NewStatement()
  242. statement.SetNeedReturnValue(false)
  243. statement.SetOpenRecordSet(true)
  244. statement.SetProcName("WS_CouponTask_AwardTask")
  245. statement.AddParamter("@UserTaskID", database.AdParamInput, database.AdInteger, 4, req.UserTaskId)
  246. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, req.UserId)
  247. statement.AddParamter("@Status", database.AdParamInput, database.AdInteger, 4, req.Status)
  248. sqlstring := statement.GenSql()
  249. log.Debug(sqlstring)
  250. retRows := dbengine.CenterDB.ExecSql(sqlstring)
  251. if len(retRows) <= 0 {
  252. return 0
  253. }
  254. return int((retRows[0][0]).(int64))
  255. }
  256. // 获取开关信息
  257. func getSwitchInfo() bool {
  258. defer func() {
  259. if err := recover(); err != nil {
  260. log.Error("transaction recover err %v", err)
  261. log.Error("%s", debug.Stack())
  262. }
  263. }()
  264. statement := database.NewStatement()
  265. statement.SetNeedReturnValue(false)
  266. statement.SetOpenRecordSet(true)
  267. statement.SetProcName("WS_CouponTask_GetSwitchInfo")
  268. sqlstring := statement.GenSql()
  269. retRows := dbengine.CenterDB.ExecSql(sqlstring)
  270. if len(retRows) <= 0 {
  271. return false
  272. }
  273. return int((retRows[0][0]).(int64)) == 1
  274. }