|
|
|
@ -61,8 +61,6 @@ def award(id): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def update(uid, award_id): |
|
|
|
def update(uid, award_id): |
|
|
|
# t_users.clear_cache() |
|
|
|
|
|
|
|
# t_awards.clear_cache() |
|
|
|
|
|
|
|
if not t_awards.get(d.Query().award_id == award_id): |
|
|
|
if not t_awards.get(d.Query().award_id == award_id): |
|
|
|
return server_resp(500, "不存在此奖品") |
|
|
|
return server_resp(500, "不存在此奖品") |
|
|
|
if len(t_users.update({'award_id': award_id}, d.Query().uid == uid)) == 0: |
|
|
|
if len(t_users.update({'award_id': award_id}, d.Query().uid == uid)) == 0: |
|
|
|
@ -122,21 +120,22 @@ def run(): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def draw_lottery(award_id): |
|
|
|
def draw_lottery(award_id): |
|
|
|
t_awards.clear_cache() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if not start_time: |
|
|
|
if not start_time: |
|
|
|
return server_resp(402, "尚未开始抽奖") |
|
|
|
return server_resp(503, "尚未开始抽奖") |
|
|
|
|
|
|
|
|
|
|
|
award = t_awards.get(d.where('award_id') == award_id) |
|
|
|
award = t_awards.get(d.where('award_id') == award_id) |
|
|
|
if not award: |
|
|
|
if not award: |
|
|
|
return server_resp(500, "不存在此奖项") |
|
|
|
return server_resp(500, "不存在此奖项") |
|
|
|
|
|
|
|
|
|
|
|
t_users.clear_cache() |
|
|
|
if award['award_size'] <= 0: |
|
|
|
user = d.Query() |
|
|
|
return server_resp(504, "该奖项已经抽完") |
|
|
|
luckies = random_selector.randomselect(current_ms() - start_time, t_users.search( |
|
|
|
|
|
|
|
user['award_id'] == None), award['award_capacity']) |
|
|
|
luckies = random_selector.randomselect(current_ms() - start_time, |
|
|
|
|
|
|
|
luckless_users()['data'], award['award_capacity']) |
|
|
|
for lucky in luckies: |
|
|
|
for lucky in luckies: |
|
|
|
update(lucky['uid'], award_id) |
|
|
|
update(lucky['uid'], award_id) |
|
|
|
lucky.update({'award_id': award_id}) |
|
|
|
lucky.update({'award_id': award_id}) |
|
|
|
|
|
|
|
t_awards.update({'award_size': award['award_capacity'] - len(luckies)}, |
|
|
|
|
|
|
|
doc_ids=[award.doc_id]) |
|
|
|
return server_resp(200, "success", luckies) |
|
|
|
return server_resp(200, "success", luckies) |
|
|
|
|
|
|
|
|
|
|
|
|