Ejemplo n.º 1
0
 def retrieve(self, request, pk):
     if request.user.is_anonymous:
         raise exceptions.PermissionDenied(u'用户未登录或并非小鹿妈妈')
     mama = get_object_or_404(XiaoluMama, id=pk)
     if not mama:
         raise exceptions.PermissionDenied(u'用户未登录或并非小鹿妈妈')
     activity = RankActivity.now_activity()
     rank = activity.ranks.filter(mama_id=mama.id).first()
     if not activity or not rank:
         res = {
             'mama': mama.id,
             'mama_nick': mama.nick,
             'thumbnail': mama.thumbnail,
             'mobile': mama.mobile
         }
         res['duration_total'] = 0
         res['duration_rank'] = 0
         res['invite_trial_num'] = 0
         res['invite_rank'] = 0
         res['activity_rank'] = 0
     else:
         res = self.get_serializer(rank).data
         res['duration_total'] = rank.duration_total
         res['duration_rank'] = rank.duration_rank
         res['invite_trial_num'] = rank.invite_trial_num
         res['invite_rank'] = rank.invite_rank
         res['activity_rank'] = rank.activity_rank
     return Response(res)
Ejemplo n.º 2
0
 def self_rank(self, request):
     if request.user.is_anonymous:
         raise exceptions.PermissionDenied(u'用户未登录或并非小鹿妈妈')
     mama = request.user.customer.get_xiaolumm()
     if not mama:
         raise exceptions.PermissionDenied(u'用户未登录或并非小鹿妈妈')
     stat_time = request.GET.get('stat_time')
     if stat_time:
         try:
             stat_time = datetime.datetime.strptime(stat_time, '%Y%m%d')
         except:
             raise exceptions.ValidationError(make_response(u'提供的统计时间不正确'))
     if not stat_time:
         stat_time = WeekRank.this_week_time()
     wmama = WeekMamaCarryTotal.objects.filter(mama_id=mama.id,
                                               stat_time=stat_time).first()
     if not wmama:
         res = {
             'mama': mama.id,
             'mama_nick': mama.nick,
             'thumbnail': mama.thumbnail,
             'total': 0,
             'num': 0,
             'total_display': '0',
             'rank': 0
         }
         return Response(res)
     res = self.get_serializer(wmama).data
     res['rank_add'] = 0
     res['rank'] = wmama.total_rank
     return Response(res)
Ejemplo n.º 3
0
 def self_rank(self, request):
     if request.user.is_anonymous:
         raise exceptions.PermissionDenied(u'用户未登录或并非小鹿妈妈')
     mama = request.user.customer.get_xiaolumm()
     if not mama:
         raise exceptions.ValidationError(u'用户未登录或并非小鹿妈妈')
     stat_time = request.GET.get('stat_time')
     if stat_time:
         try:
             stat_time = datetime.datetime.strptime(stat_time, '%Y%m%d')
         except:
             raise exceptions.ValidationError(make_response(u'提供的统计时间不正确'))
     myteam = WeekMamaTeamCarryTotal.get_by_mama_id(mama.id, stat_time)
     if not myteam:
         res = {
             'mama': mama.id,
             'mama_nick': mama.nick,
             'thumbnail': mama.thumbnail,
             'total': 0,
             'num': 0,
             'total_display': '0',
             'rank': 0
         }
         return Response(res)
     return Response(self.get_serializer(myteam).data)
Ejemplo n.º 4
0
 def activity_self_rank(self, request):
     if request.user.is_anonymous:
         raise exceptions.PermissionDenied(u'用户未登录或并非小鹿妈妈')
     mama = request.user.customer.getXiaolumm()
     if not mama:
         raise exceptions.ValidationError(u'用户未登录或并非小鹿妈妈')
     myteam = MamaTeamCarryTotal.get_by_mama_id(mama.id)
     return Response(ActivityMamaTeamCarryTotalSerializer(myteam).data)
Ejemplo n.º 5
0
 def activity_self_rank(self, request, pk):
     if request.user.is_anonymous:
         raise exceptions.PermissionDenied(u'用户未登录或并非小鹿妈妈')
     activity = RankActivity.objects.filter(
         id=pk).first() or RankActivity.now_activity()
     mama = request.user.customer.getXiaolumm()
     if not mama:
         raise exceptions.ValidationError(u'用户未登录或并非小鹿妈妈')
     myteam = ActivityMamaTeamCarryTotal.get_by_mama_id(mama.id)
     return Response(ActivityMamaTeamCarryTotalSerializer(myteam).data)
Ejemplo n.º 6
0
 def self_rank(self, request, pk):
     if request.user.is_anonymous:
         raise exceptions.PermissionDenied(u'用户未登录或并非小鹿妈妈')
     mama = request.user.customer.getXiaolumm()
     if not mama:
         raise exceptions.PermissionDenied(u'用户未登录或并非小鹿妈妈')
     activity = RankActivity.objects.filter(
         id=pk).first() or RankActivity.now_activity()
     rank = activity.ranks.filter(mama_id=mama.id).first()
     teamrank = activity.teamranks.filter(mama_id=mama.id).first()
     fortune = MamaFortune.objects.get(mama_id=mama.id)
     if not activity or not rank:
         res = {
             'mama': mama.id,
             'mama_nick': mama.nick,
             'thumbnail': mama.thumbnail,
             'mobile': mama.mobile
         }
         res['duration_total'] = 0
         res['duration_rank'] = 0
         res['invite_trial_num'] = 0
         res['invite_rank'] = 0
         res['activity_rank'] = 0
         res['team_duration_total'] = 0
         res['team_duration_rank'] = 0
     else:
         res = self.get_serializer(rank).data
         res['duration_total'] = rank.duration_total
         res['duration_rank'] = rank.duration_rank
         res['invite_trial_num'] = rank.duration_total
         res['active_trial_num'] = fortune.active_trial_num
         res['invite_rank'] = rank.invite_rank
         res['activity_rank'] = rank.activity_rank
         res['team_duration_total'] = teamrank.duration_total
         res['team_duration_rank'] = teamrank.duration_rank
     return Response(res)
Ejemplo n.º 7
0
 def activity_self_rank(self, request):
     if request.user.is_anonymous:
         raise exceptions.PermissionDenied(u'用户未登录或并非小鹿妈妈')
     mama = request.user.customer.getXiaolumm()
     if not mama:
         raise exceptions.ValidationError(u'用户未登录或并非小鹿妈妈')
     mama_carry = MamaCarryTotal.objects.get(pk=mama.id)
     res = ActivityMamaCarryTotalSerializer(mama_carry).data
     res['rank'] = mama_carry.activite_rank
     res['rank_add'] = 0
     team = MamaTeamCarryTotal.objects.get(pk=mama_carry.mama_id)
     res['recommended_quantity'] = len(mama.get_invite_potential_mama_ids())
     res['team_total'] = team.expect_total
     res['team_rank'] = team.activite_rank
     res['team_total_display'] = float('%.2f' % (team.expect_total * 0.01))
     res['duration_total'] = mama_carry.duration_total + mama_carry.expect_total
     res['duration_total_display'] = float('%.2f' %
                                           (mama_carry.expect_total * 0.01))
     res['team_num'] = team.duration_num
     res['activite_num'] = len(mama.get_active_invite_potential_mama_ids())
     # res['invitate_num'] = 0
     return Response(res)