From 39e9c979dbc40e4d3a08337d773e51701fa514f7 Mon Sep 17 00:00:00 2001 From: 陆恒 Date: Thu, 10 Sep 2020 10:51:42 +0800 Subject: [PATCH] 提交 --- src/HttpServer/jsonconf/DailyTask.json | 360 ++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- src/HttpServer/logic/constdef.go | 5 ++--- src/HttpServer/logic/datadef.go | 14 ++++---------- src/HttpServer/logic/function.go | 65 +++++++++++++++++++++++++++++++++++++---------------------------- src/HttpServer/logic/logic.go | 11 ++--------- 5 files changed, 85 insertions(+), 370 deletions(-) diff --git a/src/HttpServer/jsonconf/DailyTask.json b/src/HttpServer/jsonconf/DailyTask.json index 083c40c..cd7a97a 100644 --- a/src/HttpServer/jsonconf/DailyTask.json +++ b/src/HttpServer/jsonconf/DailyTask.json @@ -1,352 +1,72 @@ [ { "id": 1, - "task": "领取%d%个红包", - "num": 2, - "reward": [8,1], - "type": 5 + "type": 1, + "parameter": 5, + "desc": "在线%d分钟", + "reward": [1,500] }, { "id": 2, - "task": "领取%d%个红包", - "num": 5, - "reward": [8,1], - "type": 5 + "type": 1, + "parameter": 10, + "desc": "在线%d分钟", + "reward": [1,1000] }, { "id": 3, - "task": "领取%d%个红包", - "num": 7, - "reward": [8,1], - "type": 5 + "type": 1, + "parameter": 30, + "desc": "在线%d分钟", + "reward": [1,2000] }, { "id": 4, - "task": "领取%d%个红包", - "num": 10, - "reward": [8,1], - "type": 5 + "type": 1, + "parameter": 60, + "desc": "在线%d分钟", + "reward": [1,5000] }, { "id": 5, - "task": "领取%d%个红包", - "num": 15, - "reward": [8,1], - "type": 5 + "type": 2, + "parameter": 5, + "desc": "答对%d首歌曲", + "reward": [1,500] }, { "id": 6, - "task": "领取%d%个红包", - "num": 20, - "reward": [8,1], - "type": 5 + "type": 2, + "parameter": 10, + "desc": "答对%d首歌曲", + "reward": [1,1000] }, { "id": 7, - "task": "领取%d%个红包", - "num": 25, - "reward": [8,1], - "type": 5 + "type": 2, + "parameter": 20, + "desc": "答对%d首歌曲", + "reward": [1,2000] }, { "id": 8, - "task": "领取%d%个红包", - "num": 30, - "reward": [8,1], - "type": 5 + "type": 2, + "parameter": 50, + "desc": "答对%d首歌曲", + "reward": [1,5000] }, { "id": 9, - "task": "领取%d%个红包", - "num": 35, - "reward": [8,1], - "type": 5 + "type": 3, + "parameter": 5, + "desc": "观看广告%d次", + "reward": [1,1000] }, { "id": 10, - "task": "领取%d%个红包", - "num": 40, - "reward": [8,1], - "type": 5 - }, - { - "id": 11, - "task": "领取%d%个红包", - "num": 45, - "reward": [8,1], - "type": 5 - }, - { - "id": 12, - "task": "领取%d%个红包", - "num": 50, - "reward": [8,1], - "type": 5 - }, - { - "id": 13, - "task": "今日通过%d%关", - "num": 2, - "reward": [8,1], - "type": 3 - }, - { - "id": 14, - "task": "今日通过%d%关", - "num": 4, - "reward": [8,1], - "type": 3 - }, - { - "id": 15, - "task": "今日通过%d%关", - "num": 6, - "reward": [8,1], - "type": 3 - }, - { - "id": 16, - "task": "今日通过%d%关", - "num": 8, - "reward": [8,1], - "type": 3 - }, - { - "id": 17, - "task": "今日通过%d%关", - "num": 10, - "reward": [8,1], - "type": 3 - }, - { - "id": 18, - "task": "今日通过%d%关", - "num": 15, - "reward": [8,1], - "type": 3 - }, - { - "id": 19, - "task": "今日通过%d%关", - "num": 20, - "reward": [8,1], - "type": 3 - }, - { - "id": 20, - "task": "今日通过%d%关", - "num": 25, - "reward": [8,1], - "type": 3 - }, - { - "id": 21, - "task": "今日通过%d%关", - "num": 30, - "reward": [8,1], - "type": 3 - }, - { - "id": 22, - "task": "今日通过%d%关", - "num": 40, - "reward": [8,1], - "type": 3 - }, - { - "id": 23, - "task": "今日通过%d%关", - "num": 50, - "reward": [8,1], - "type": 3 - }, - { - "id": 24, - "task": "使用%d%次道具", - "num": 2, - "reward": [8,1], - "type": 4 - }, - { - "id": 25, - "task": "使用%d%次道具", - "num": 4, - "reward": [8,1], - "type": 4 - }, - { - "id": 26, - "task": "使用%d%次道具", - "num": 6, - "reward": [8,1], - "type": 4 - }, - { - "id": 27, - "task": "使用%d%次道具", - "num": 8, - "reward": [8,1], - "type": 4 - }, - { - "id": 28, - "task": "使用%d%次道具", - "num": 10, - "reward": [8,1], - "type": 4 - }, - { - "id": 29, - "task": "使用%d%次道具", - "num": 15, - "reward": [8,1], - "type": 4 - }, - { - "id": 30, - "task": "使用%d%次道具", - "num": 20, - "reward": [8,1], - "type": 4 - }, - { - "id": 31, - "task": "使用%d%次道具", - "num": 25, - "reward": [8,1], - "type": 4 - }, - { - "id": 32, - "task": "使用%d%次道具", - "num": 30, - "reward": [8,1], - "type": 4 - }, - { - "id": 33, - "task": "使用%d%次道具", - "num": 40, - "reward": [8,1], - "type": 4 - }, - { - "id": 34, - "task": "使用%d%次道具", - "num": 50, - "reward": [8,1], - "type": 4 - }, - { - "id": 35, - "task": "累计在线%d%分钟", - "num": 5, - "reward": [8,1], - "type": 7 - }, - { - "id": 36, - "task": "累计在线%d%分钟", - "num": 10, - "reward": [8,1], - "type": 7 - }, - { - "id": 37, - "task": "累计在线%d%分钟", - "num": 15, - "reward": [8,1], - "type": 7 - }, - { - "id": 38, - "task": "累计在线%d%分钟", - "num": 20, - "reward": [8,1], - "type": 7 - }, - { - "id": 39, - "task": "累计在线%d%分钟", - "num": 25, - "reward": [8,1], - "type": 7 - }, - { - "id": 40, - "task": "累计在线%d%分钟", - "num": 30, - "reward": [8,1], - "type": 7 - }, - { - "id": 41, - "task": "累计在线%d%分钟", - "num": 35, - "reward": [8,1], - "type": 7 - }, - { - "id": 42, - "task": "累计在线%d%分钟", - "num": 40, - "reward": [8,1], - "type": 7 - }, - { - "id": 43, - "task": "累计在线%d%分钟", - "num": 45, - "reward": [8,1], - "type": 7 - }, - { - "id": 44, - "task": "累计在线%d%分钟", - "num": 50, - "reward": [8,1], - "type": 7 - }, - { - "id": 45, - "task": "累计在线%d%分钟", - "num": 55, - "reward": [8,1], - "type": 7 - }, - { - "id": 46, - "task": "累计在线%d%分钟", - "num": 60, - "reward": [8,1], - "type": 7 - }, - { - "id": 47, - "task": "累计在线%d%分钟", - "num": 70, - "reward": [8,1], - "type": 7 - }, - { - "id": 48, - "task": "累计在线%d%分钟", - "num": 80, - "reward": [8,1], - "type": 7 - }, - { - "id": 49, - "task": "累计在线%d%分钟", - "num": 90, - "reward": [8,1], - "type": 7 - }, - { - "id": 50, - "task": "每日登录", - "num": 1, - "reward": [8,1], - "type": 1 + "type": 3, + "parameter": 10, + "desc": "观看广告%d次", + "reward": [1,5000] } ] \ No newline at end of file diff --git a/src/HttpServer/logic/constdef.go b/src/HttpServer/logic/constdef.go index a1aa972..b97cbf3 100644 --- a/src/HttpServer/logic/constdef.go +++ b/src/HttpServer/logic/constdef.go @@ -2,8 +2,7 @@ package logic //任务成就类型枚举 协议上报用 const ( - TASKTYPE_MERGE = 1 //表示合成 - TASKTYPE_WATCHADS = 2 //表示管看广告次数 + TASKTYPE_WATCHADS = 3 //表示管看广告次数 ) @@ -12,7 +11,7 @@ const ( //DAILY_TASKTYPE_LOGIN = 1 //1 每日登录 DAILY_TASKTYPE_ONLINEMIN = 1 //在线分钟数 - DAILY_TASKTYPE_MERGE = 2 //合成次数 + DAILY_TASKTYPE_MERGE = 2 //猜个次数 DAILY_TASKTYPE_WATCHADS = 3 //观看广告次数 ) diff --git a/src/HttpServer/logic/datadef.go b/src/HttpServer/logic/datadef.go index 4aeff50..8f9cacc 100644 --- a/src/HttpServer/logic/datadef.go +++ b/src/HttpServer/logic/datadef.go @@ -195,15 +195,8 @@ type GettaskrewardReq struct { } type GettaskrewardData struct { - Lv int `json:"lv"` - Costtime int `json:"costtime"` - Rewardstar int `json:"rewardstar"` - Chuiitem int `json:"chuiitem"` - Shuaitem int `json:"shuaitem"` - Swapitem int `json:"swapitem"` - Eliminitem int `json:"eliminitem"` - Goldnum int `json:"goldnum"` - Addgold int `json:"addgold"` + Totalrednum int `json:"totalrednum"` + Getrednum int `json:"getrednum"` } type GettaskrewardResp struct { Code int `json:"code"` @@ -261,6 +254,7 @@ type QuerysigndataResp struct { type FetchredbagReq struct { Gameid string `json:"gameid"` Channel string `json:"channel"` + Bagnum int `json:"bagnum"` } type FetchredbagData struct { @@ -383,7 +377,7 @@ type TaskList struct { //其中提取次数和当日登陆在userdata中记录 type TaskInfo struct { OnlineMin int //在线分钟数 - MergeCnt int //合成次数 + GuessSong int //合成次数 WatchAds int //观看广告次数 } diff --git a/src/HttpServer/logic/function.go b/src/HttpServer/logic/function.go index 121468d..2748161 100644 --- a/src/HttpServer/logic/function.go +++ b/src/HttpServer/logic/function.go @@ -109,8 +109,8 @@ func (uinfo *UserData) CalcTaskList(list *TaskList, uniqueid string) *TaskList { } if cfg.TaskType == DAILY_TASKTYPE_MERGE { - list.Taskdata[k].Taskprogress = uinfo.Task.MergeCnt - if uinfo.Task.MergeCnt >= cfg.Num { + list.Taskdata[k].Taskprogress = uinfo.Task.GuessSong + if uinfo.Task.GuessSong >= cfg.Num { list.Taskdata[k].Taskstatus = 2 } } else if cfg.TaskType == DAILY_TASKTYPE_ONLINEMIN { @@ -442,48 +442,57 @@ func (uinfo *UserData) HandleGetTaskReward(req *GettaskrewardReq, resp *Gettaskr for i := 0; i < sub; i++ { rtype := cfg.Reward[i*2] rnum := cfg.Reward[i*2+1] - r1, r2, r3, r4, r5, r6, r7, r8 := uinfo.RewardUser(rtype, rnum, req.Gameid, req.Channel, uuid) - if resp.Data.Lv != r1 { - resp.Data.Lv = r1 - resp.Data.Costtime = uinfo.UpLvCostTime / 3600 - } - resp.Data.Rewardstar += r2 - resp.Data.Chuiitem += r3 - resp.Data.Shuaitem += r4 - resp.Data.Swapitem += r5 - resp.Data.Eliminitem += r6 - resp.Data.Goldnum = r7 - resp.Data.Addgold = r8 + _, _, _, _, _, _, r7, r8 := uinfo.RewardUser(rtype, rnum, req.Gameid, req.Channel, uuid) + resp.Data.Getrednum = r8 + resp.Data.Totalrednum = r7 + break } return nil } //领取红包 按次数计算 -func (uinfo *UserData) FetchRedPacket(gameid string, channel string, uuid int) int { - uinfo.FetchRedCnt++ - addgold := jsonconf.GetRedpacketNum(uinfo.FetchRedCnt) - if addgold == 0 { - logger.Error("FetchRedPacket failed addgold=0") - return 0 - } +func (uinfo *UserData) FetchRedPacket(gameid string, channel string, uuid int,num int) int { + sunnum := num + sunaddnum := 0 + for { + if sunnum == 0 { + break + } + uinfo.FetchRedCnt++ + sunnum-- + addgold := jsonconf.GetRedpacketNum(uinfo.FetchRedCnt) + if addgold == 0 { + logger.Error("FetchRedPacket failed addgold=0") + continue + } - goldnum, realaddnum, err := AddCoinToSdk(uuid, addgold, gameid, channel, 102) - if err != nil { - logger.Error("RewardUser failer err=%v", err) + goldnum, realaddnum, err := AddCoinToSdk(uuid, addgold, gameid, channel, 102) + if err != nil { + logger.Error("RewardUser failer err=%v", err) + continue + } + sunaddnum += realaddnum + uinfo.RealGold = goldnum } - uinfo.RealGold = goldnum + uniqueid := strconv.Itoa(uuid) + channel SaveUserInfo(uinfo, uniqueid) - return realaddnum + return sunaddnum } func (uinfo *UserData) RewardUser(rtype int, num int, gameid string, channel string, uuid int) (int, int, int, int, int, int, int, int) { logger.Info("RewardUser rtype=%v,num=%v", rtype, num) switch rtype { case REWARDTYPE_STAR: - return 0, num, 0, 0, 0, 0, 0, 0 + readadd := num / 100 + goldnum, _, err := AddCoinToSdk(uuid, readadd, gameid, channel, 102) + if err != nil { + logger.Error("RewardUser failer err=%v", err) + } + uinfo.RealGold = goldnum + return 0, 0, 0, 0, 0, 0, uinfo.RealGold, readadd case REWARDTYPE_CHUI: return 0, 0, num, 0, 0, 0, 0, 0 case REWARDTYPE_SHUA: @@ -877,7 +886,7 @@ func (u *UserData) HandlePassDay(uuid int, channel string) { u.GetCashCnt = 0 u.Task.OnlineMin = 0 - u.Task.MergeCnt = 0 + u.Task.GuessSong = 0 u.Task.WatchAds = 0 u.ShakeTime = SHAKELIMIT u.FetchRdBagNum = 0 diff --git a/src/HttpServer/logic/logic.go b/src/HttpServer/logic/logic.go index 3764068..cab14a0 100644 --- a/src/HttpServer/logic/logic.go +++ b/src/HttpServer/logic/logic.go @@ -735,20 +735,15 @@ func HandlerFetchredbag(w http.ResponseWriter, data string, uuid int) { break } - if uinfo.FetchRdBagNum >= DAILYFETCHREDBAGNUMLIMIT { - resp.Message = "当日;领取红包次数已达上限" - resp.Code = ERROR_SRV_ERROR - break - } - readaddgold := uinfo.FetchRedPacket(rdata.Gameid, rdata.Channel, uuid) + readaddgold := uinfo.FetchRedPacket(rdata.Gameid, rdata.Channel, uuid,rdata.Bagnum) uinfo.IsNew = 0 uinfo.FetchRdBagNum++ resp.Data.Walletgold = uinfo.RealGold resp.Data.Getgoldnum = readaddgold - resp.Data.Leftredbagnum = DAILYFETCHREDBAGNUMLIMIT - uinfo.FetchRdBagNum + //resp.Data.Leftredbagnum = DAILYFETCHREDBAGNUMLIMIT - uinfo.FetchRdBagNum //保存数据 @@ -994,8 +989,6 @@ func HandlerUpdatetaskandachieve(w http.ResponseWriter, data string, uuid int) { } switch rdata.Tasktype { - case TASKTYPE_MERGE: - uinfo.Task.MergeCnt += rdata.Value case TASKTYPE_WATCHADS: uinfo.Task.WatchAds += rdata.Value } -- libgit2 0.21.0