DailyShareTaskLogic.lua 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. local Lang = require("common.Lang")
  2. local Util = require("common.Util")
  3. local Msg = require("core.Msg")
  4. local ObjHuman = require("core.ObjHuman")
  5. local DailyTaskExcel = require("excel.dailyTask")
  6. local BagLogic = require("bag.BagLogic")
  7. local Grid = require("bag.Grid")
  8. local Log = require("common.Log")
  9. local PfLogic = require("platform.PfLogic")
  10. DAILY_SPECIAL_TASK_ID_1 = 1 --每日分享任务
  11. -- 查询每日任务
  12. function dailyTaskQuery(human)
  13. local dailyTaskConfig = DailyTaskExcel.shareTask
  14. if not dailyTaskConfig then return end
  15. -- 每日更新
  16. ObjHuman.updateDaily(human)
  17. local msgRet = Msg.gc.GC_DAILYSHARE_QUERY
  18. local now = os.time()
  19. local ts1 = Util.getDayStartTime(now)
  20. msgRet.nextRefreshTime = 24 * 60 * 60 - (now - ts1)
  21. local cnt = 0
  22. local len = 0
  23. for key, value in ipairs(DailyTaskExcel.shareTask) do
  24. cnt = cnt + 1
  25. msgRet.list[cnt].taskID = key
  26. msgRet.list[cnt].desc = value.taskDesc
  27. msgRet.list[cnt].maxCnt = value.taskCnt
  28. len = 0
  29. for k, v in pairs(value.reward) do
  30. len = len + 1
  31. Grid.makeItem(msgRet.list[cnt].itemData[len], v[1], v[2])
  32. end
  33. msgRet.list[cnt].itemData[0] = len
  34. msgRet.list[cnt].finishCnt = 0
  35. msgRet.list[cnt].isGet = 0
  36. if human.db.dailyShareTask and human.db.dailyShareTask[key] then
  37. msgRet.list[cnt].finishCnt = human.db.dailyShareTask[key].finishCnt or 0
  38. if human.db.dailyShareTask[key].isGet then
  39. msgRet.list[cnt].isGet = 1
  40. end
  41. end
  42. end
  43. msgRet.list[0] = cnt
  44. Msg.send(msgRet, human.fd)
  45. end
  46. -- 记录每个任务的完成次数
  47. function recordDailyTaskFinishCnt(human, msg)
  48. local taskID = msg.taskID
  49. local addCnt = 1
  50. local pf = msg.pf
  51. local appid = msg.appid
  52. local shareType = msg.shareType
  53. if taskID ~= 1 then
  54. return
  55. end
  56. local dailyTaskConfig = DailyTaskExcel.shareTask[taskID]
  57. if not dailyTaskConfig then return end
  58. -- 每日更新
  59. ObjHuman.updateDaily(human)
  60. human.db.dailyShareTask = human.db.dailyShareTask or {}
  61. human.db.dailyShareTask[taskID] = human.db.dailyShareTask[taskID] or {}
  62. human.db.dailyShareTask[taskID].finishCnt = human.db.dailyShareTask[taskID].finishCnt or 0
  63. if human.db.dailyShareTask[taskID].finishCnt >= dailyTaskConfig.taskCnt then
  64. dailyTaskQuery(human)
  65. return
  66. end
  67. human.db.dailyShareTask[taskID].finishCnt = human.db.dailyShareTask[taskID].finishCnt + addCnt
  68. --'1:微信好友分享,2:微信朋友圈,3:微博,4:QQ,5:QQ好友,6:其他'
  69. Log.write(Log.LOGID_OSS_SHARE, human.db._id, human.db.account, human.db.name, pf, appid, shareType)
  70. -- 领奖品
  71. BagLogic.addItemList(human, dailyTaskConfig.reward, "daily_task")
  72. -- 通知客户端
  73. dailyTaskQuery(human)
  74. end
  75. function isOpen(human)
  76. -- 目前只有H5渠道开,但H5是客户端拉起聚合的接口来判断是否开
  77. -- if PfLogic.isKunTangTishen() == true or PfLogic.isFkwTishen() == true then
  78. -- return
  79. -- end
  80. -- if PfLogic.isKunTang(human) == true or PfLogic.isFKW(human) == true then
  81. -- return true
  82. -- end
  83. end