Commit f04749607444740334555e7271c8404270ab6e66
1 parent
35b0ac74
Exists in
master
单个用户没提50次,每次最大200金币加好了
Showing
1 changed file
with
56 additions
and
4 deletions
Show diff stats
src/HttpServer/logic/function.go
... | ... | @@ -275,11 +275,60 @@ func GetCoinFromToutiao(openid string, deviceid int) (int, error) { |
275 | 275 | return tmp.Data, nil |
276 | 276 | } |
277 | 277 | |
278 | +//检查今日次数上限 | |
279 | +func checkTodayAddCoinCount(openid string, amount int) (nums int, err error) { | |
280 | + | |
281 | + tim := time.Unix(time.Now().Unix(), 0).Format("0102") | |
282 | + redkey := "ttcc::" + openid + tim | |
283 | + | |
284 | + numstr, err := redishandler.GetRedisClient().GetString(redkey) | |
285 | + if err != nil { | |
286 | + return | |
287 | + } | |
288 | + | |
289 | + if numstr != "" { | |
290 | + nums, _ = strconv.Atoi(numstr) | |
291 | + } | |
292 | + | |
293 | + return | |
294 | +} | |
295 | + | |
296 | +//添加头条金币今日次数 | |
297 | +func addTodayAddCoinCount(openid string, amount int, nums int) (err error) { | |
298 | + nums++ | |
299 | + | |
300 | + tim := time.Unix(time.Now().Unix(), 0).Format("0102") | |
301 | + redkey := "ttcc::" + openid + tim | |
302 | + | |
303 | + expiretime := 86400 | |
304 | + redishandler.GetRedisClient().SetString(redkey, fmt.Sprintf("%d", nums)) | |
305 | + redishandler.GetRedisClient().Expire(redkey, expiretime) | |
306 | + | |
307 | + return | |
308 | +} | |
309 | + | |
278 | 310 | func AddCoinToTouTiao(openid string, deviceid, amount int, descr string, btype string, appname string) (int, int, int, bool, error) { |
279 | 311 | |
280 | 312 | gold_coin_extra_add := 0 |
281 | 313 | gold_coin_extra_limit := false |
282 | 314 | |
315 | + if amount > 200 { | |
316 | + err := errors.New("amount > 200") | |
317 | + logger.Error("AddCoinToTouTiao amount err=%v", err) | |
318 | + return 0, 0, gold_coin_extra_add, gold_coin_extra_limit, err | |
319 | + } | |
320 | + | |
321 | + ttnums, err := checkTodayAddCoinCount(openid, amount) | |
322 | + if err != nil { | |
323 | + logger.Error("AddCoinToTouTiao checkTodayAddCoinCount err=%v", err) | |
324 | + } | |
325 | + | |
326 | + if ttnums > 50 { | |
327 | + err := errors.New(fmt.Sprintf("ttnums > 50::%d", ttnums)) | |
328 | + logger.Error("AddCoinToTouTiao ttnums err=%v", err) | |
329 | + return 0, 0, gold_coin_extra_add, gold_coin_extra_limit, err | |
330 | + } | |
331 | + | |
283 | 332 | acctoken, err := GetAccessToken() |
284 | 333 | if err != nil { |
285 | 334 | logger.Error("AddCoinToTouTiao err=%v", err) |
... | ... | @@ -307,7 +356,7 @@ func AddCoinToTouTiao(openid string, deviceid, amount int, descr string, btype s |
307 | 356 | reqdata.TaskID = aidconfig.TaskID |
308 | 357 | reqdata.Extra.TaskKey = aidconfig.TaskKey |
309 | 358 | if aidconfig.Description != "" { |
310 | - reqdata.Description = fmt.Sprintf("%s+%d", aidconfig.Description, amount) | |
359 | + reqdata.Description = aidconfig.Description | |
311 | 360 | } |
312 | 361 | } |
313 | 362 | |
... | ... | @@ -325,22 +374,25 @@ func AddCoinToTouTiao(openid string, deviceid, amount int, descr string, btype s |
325 | 374 | |
326 | 375 | res, err := BeegoHttpPost(apiurl, reqdata) |
327 | 376 | if err != nil { |
328 | - logger.Error("AddCoinToTouTiao failed=%v", err) | |
377 | + logger.Error("AddCoinToTouTiao failed=%v", err, apiurl) | |
329 | 378 | return 0, 0, gold_coin_extra_add, gold_coin_extra_limit, err |
330 | 379 | } |
331 | 380 | |
332 | 381 | var resp AddcointotoutiaoResp |
333 | 382 | err = json.Unmarshal([]byte(res), &resp) |
334 | 383 | if err != nil { |
335 | - logger.Error("AddCoinToTouTiao failed=%v", err) | |
384 | + logger.Error("AddCoinToTouTiao failed=%v", err, apiurl) | |
336 | 385 | return 0, 0, gold_coin_extra_add, gold_coin_extra_limit, err |
337 | 386 | } |
338 | 387 | |
339 | 388 | if resp.Errcode != 0 { |
340 | - logger.Error("AddCoinToTouTiao failed=%v", resp) | |
389 | + logger.Error("AddCoinToTouTiao failed=%v", resp, apiurl) | |
341 | 390 | return 0, 0, gold_coin_extra_add, gold_coin_extra_limit, errors.New(resp.Errmsg) |
342 | 391 | } |
343 | 392 | |
393 | + //添加今日调用次数 | |
394 | + go addTodayAddCoinCount(openid, amount, ttnums) | |
395 | + | |
344 | 396 | newcoin, err := GetCoinFromToutiao(openid, 1) |
345 | 397 | if err != nil { |
346 | 398 | logger.Error("AddCoinToTouTiao failed=%v", err) | ... | ... |