def active_service(self, service_id=None, user=None):
        now = datetime.datetime.now()
        if service_id and user:
            service_id = service_id
            user = user
        else:
            service_id = self.service_id
            user = self.user

        manual_service = get_object_or_none(UserManualService, id=service_id)

        expire_time = get_after_month(
            months=manual_service.item.service_month
        )

        manual_service.is_active = True
        manual_service.status = 'success'
        manual_service.active_time = now
        manual_service.expire_time = expire_time
        manual_service.save()

        user_vip = SelfServiceUtils.set_experience_user(self.user)
        user_vip.custom_feed = 5
        user_vip.custom_point = 200
        user_vip.active_time = now
        user_vip.expire_time = expire_time
        user_vip.save()

        self_srv = SelfService()
        self_srv.update_vip_pkg(user_vip)
        self_srv.update_vip_point(user_vip)

        return True
    def get(self, request, username):

        user_query = User.objects.filter(
            username=username,
            vip_roles=None,
        ).exclude(userprofile=None, )

        if not user_query:
            return JsonResponse({
                'status': 'error',
                'data': '用户数据有误',
            })

        user = user_query[0]
        user.is_active = True
        user.save()

        experience_service = VipRoleUtils.get_experience_vip()
        srv_meta = {
            'service_name': 'self_service',
            'product': experience_service,
            'user': user,
        }
        experience_srv = SelfService(**srv_meta)
        srv = experience_srv.create_service()
        ret = experience_srv.active_service() if srv else False

        return JsonResponse({
            'status': 'ok',
            'data': '操作成功',
            'ret': ret,
        })
    def get(self, request, username):

        user_query = User.objects.filter(
            username=username,
            vip_roles=None,
        ).exclude(
            userprofile=None,
        )

        if not user_query:
            return JsonResponse({
                'status': 'error',
                'data': '用户数据有误',
            })

        user = user_query[0]
        user.is_active = True
        user.save()

        experience_service = VipRoleUtils.get_experience_vip()
        srv_meta = {
            'service_name': 'self_service',
            'product': experience_service,
            'user': user,
        }
        experience_srv = SelfService(**srv_meta)
        srv = experience_srv.create_service()
        ret = experience_srv.active_service() if srv else False

        return JsonResponse({
            'status': 'ok',
            'data': '操作成功',
            'ret': ret,
        })
Beispiel #4
0
 def active_experience_service(self, user):
     experience_service = VipRoleUtils.get_experience_vip()
     srv_meta = {
         'service_name': 'self_service',
         'product': experience_service,
         'user': user,
     }
     experience_srv = SelfService(**srv_meta)
     srv = experience_srv.create_service()
     ret = experience_srv.active_service() if srv else False
     return ret
Beispiel #5
0
 def active_experience_service(self, user):
     experience_service = VipRoleUtils.get_experience_vip()
     srv_meta = {
         'service_name': 'self_service',
         'product': experience_service,
         'user': user,
     }
     experience_srv = SelfService(**srv_meta)
     srv = experience_srv.create_service()
     ret = experience_srv.active_service() if srv else False
     return ret
Beispiel #6
0
    def create_service(self, **kwargs):
        # 添加人工服务
        manual_service = self.add_service_record(
            user=self.user, item=self.product, is_insurance=self.is_insurance)
        if not manual_service:
            return False

        # 添加自助服务
        self_service = SelfService()
        self_service.add_user_vip_record(user=self.user, with_manual=True)

        self.service_id = manual_service.id
        self.change_service_status(status='applying')

        return manual_service
Beispiel #7
0
def main():
    product = get_object_or_none(VipRoleSetting, code_name='experience_user')
    users = User.objects.filter(
        is_active=True,
        date_joined__gte=join_date,
        vip_roles=None,
    ).exclude(userprofile=None, )

    for old_user in users:
        self_srv = SelfService()
        self_srv.user = old_user
        self_srv.product = product
        self_srv.service_name = 'self_service'
        self_service_obj = self_srv.create_service()
        self_srv.service_id = self_service_obj.id
        self_srv.active_service()
        print 'conver user success! %s' % (old_user)
Beispiel #8
0
    def active_service(self, service_id=None, user=None):
        now = datetime.datetime.now()
        if service_id and user:
            service_id = service_id
            user = user
        else:
            service_id = self.service_id
            user = self.user

        manual_service = get_object_or_none(UserManualService, id=service_id)

        expire_time = get_after_month(months=manual_service.item.service_month)

        manual_service.is_active = True
        manual_service.status = 'success'
        manual_service.active_time = now
        manual_service.expire_time = expire_time
        manual_service.save()

        user_vip = SelfServiceUtils.set_experience_user(self.user)
        user_vip.custom_feed = 5
        user_vip.custom_point = 200
        user_vip.active_time = now
        user_vip.expire_time = expire_time
        user_vip.save()

        self_srv = SelfService()
        self_srv.update_vip_pkg(user_vip)
        self_srv.update_vip_point(user_vip)

        return True
    def create_service(self, **kwargs):
        # 添加人工服务
        manual_service = self.add_service_record(
            user=self.user,
            item=self.product,
            is_insurance=self.is_insurance
        )
        if not manual_service:
            return False

        # 添加自助服务
        self_service = SelfService()
        self_service.add_user_vip_record(
            user=self.user,
            with_manual=True
        )

        self.service_id = manual_service.id
        self.change_service_status(
            status='applying'
        )

        return manual_service
Beispiel #10
0
    def get_self_service(self):
        user = self.request.user
        service_utils = SelfService()
        user_vip = service_utils.get_current_active_service(user=user)
        if not user_vip:
            return {}

        vip_role = user_vip.vip_role
        feed_count = user_vip.custom_feed if user_vip.custom_feed else vip_role.feed_count
        data = {
            'user_vip_id': user_vip.id,
            'user_status': vip_role.product_name,
            'feed_count': feed_count,
            'self_pinbot_point': vip_role.pinbot_point,
            'month_price': vip_role.month_price,
            'active_time': user_vip.active_time,
            'expire_time': user_vip.expire_time,
            'is_expire': False,
            'can_update': True,
            'is_experience_user': True if vip_role.code_name == 'experience_user' else False,
            'user_type': 'self' if vip_role.code_name != 'experience_user' else 'experience',
        }
        return data
def main():
    product = get_object_or_none(VipRoleSetting, code_name='experience_user')
    users = User.objects.filter(
        is_active=True,
        date_joined__gte=join_date,
        vip_roles=None,
    ).exclude(
        userprofile=None,
    )

    for old_user in users:
        self_srv = SelfService()
        self_srv.user = old_user
        self_srv.product = product
        self_srv.service_name = 'self_service'
        self_service_obj = self_srv.create_service()
        self_srv.service_id = self_service_obj.id
        self_srv.active_service()
        print 'conver user success! %s' % (old_user)
from pin_utils.django_utils import (
    get_object_or_none
)

if __name__ == '__main__':

    active_uid_list = list(UserVip.objects.filter(is_active=True).values_list('user_id', flat=True))

    deactive_uid_list = list(set(list(UserVip.objects.select_related('user').filter(is_active=False)\
                                      .exclude(user__id__in=active_uid_list).values_list('user_id', flat=True))))

    old_user_list = User.objects.filter(id__in=deactive_uid_list)

    print 'old_user count:', len(old_user_list)

    product = get_object_or_none(VipRoleSetting, code_name='experience_user')

    for old_user in old_user_list:
        self_srv = SelfService()
        self_srv.user = old_user
        self_srv.product = product
        self_srv.service_name = 'self_service'
        self_service_obj = self_srv.create_service()
        self_srv.service_id = self_service_obj.id
        self_srv.active_service()
        print 'conver user success! %s' % (old_user)




def trans_advance_user():
    vip_a = VipRoleSetting.objects.get(code_name='experience_user')

    UserVip.objects.filter(
        is_active=True,
        user__username__in=username_list,
    ).update(
        vip_role=vip_a
    )

    manual_service = list(PackageItem.objects.all(
    ).values_list(
        'id',
        'price',
    ))
    manual_mapper = {
        i[1]: i[0]
        for i in manual_service
    }

    user_list = User.objects.filter(
        username__in=username_list,
        manual_roles=None,
    )

    experience_service = VipRoleUtils.get_experience_vip()

    for i in user_list:
        user = i
        username = i.username
        user_price = users_mapper.get(username, {}).get('price', 0)
        if not user_price:
            print 'user %s is valid, no price' % username

        pid = manual_mapper.get(user_price, 0)
        if not pid:
            print 'user %s price %s is valid, valid price' % (username, user_price)

        start_time = str2datetime(users_mapper.get(username, {}).get('start_time', ''))
        end_time = str2datetime(users_mapper.get(username, {}).get('end_time', ''))

        with transaction.atomic():
            if not user.vip_roles.filter(is_active=True).exists():
                srv_meta = {
                    'service_name': 'self_service',
                    'product': experience_service,
                    'user': user,
                }
                experience_srv = SelfService(**srv_meta)
                experience_srv.create_service()
                experience_srv.active_service()

            order = OrderManage.create_order(
                user,
                pid,
                'manual_service',
                1,
                'offline',
            )
            OrderManage.paid_order(order.order_id, user)

            UserManualService.objects.filter(
                user=user,
                is_active=True,
            ).update(
                active_time=start_time,
                expire_time=end_time,
            )
            print 'trans %s success' % username
def trans_advance_user():
    vip_a = VipRoleSetting.objects.get(code_name='experience_user')

    UserVip.objects.filter(
        is_active=True,
        user__username__in=username_list,
    ).update(vip_role=vip_a)

    manual_service = list(PackageItem.objects.all().values_list(
        'id',
        'price',
    ))
    manual_mapper = {i[1]: i[0] for i in manual_service}

    user_list = User.objects.filter(
        username__in=username_list,
        manual_roles=None,
    )

    experience_service = VipRoleUtils.get_experience_vip()

    for i in user_list:
        user = i
        username = i.username
        user_price = users_mapper.get(username, {}).get('price', 0)
        if not user_price:
            print 'user %s is valid, no price' % username

        pid = manual_mapper.get(user_price, 0)
        if not pid:
            print 'user %s price %s is valid, valid price' % (username,
                                                              user_price)

        start_time = str2datetime(
            users_mapper.get(username, {}).get('start_time', ''))
        end_time = str2datetime(
            users_mapper.get(username, {}).get('end_time', ''))

        with transaction.atomic():
            if not user.vip_roles.filter(is_active=True).exists():
                srv_meta = {
                    'service_name': 'self_service',
                    'product': experience_service,
                    'user': user,
                }
                experience_srv = SelfService(**srv_meta)
                experience_srv.create_service()
                experience_srv.active_service()

            order = OrderManage.create_order(
                user,
                pid,
                'manual_service',
                1,
                'offline',
            )
            OrderManage.paid_order(order.order_id, user)

            UserManualService.objects.filter(
                user=user,
                is_active=True,
            ).update(
                active_time=start_time,
                expire_time=end_time,
            )
            print 'trans %s success' % username
Beispiel #15
0
from users.models import (User)
from app.vip.runtime.self_service import (SelfService)
from app.vip.models import (VipRoleSetting)
from pin_utils.django_utils import (get_object_or_none)

if __name__ == '__main__':

    active_uid_list = list(
        UserVip.objects.filter(is_active=True).values_list('user_id',
                                                           flat=True))

    deactive_uid_list = list(set(list(UserVip.objects.select_related('user').filter(is_active=False)\
                                      .exclude(user__id__in=active_uid_list).values_list('user_id', flat=True))))

    old_user_list = User.objects.filter(id__in=deactive_uid_list)

    print 'old_user count:', len(old_user_list)

    product = get_object_or_none(VipRoleSetting, code_name='experience_user')

    for old_user in old_user_list:
        self_srv = SelfService()
        self_srv.user = old_user
        self_srv.product = product
        self_srv.service_name = 'self_service'
        self_service_obj = self_srv.create_service()
        self_srv.service_id = self_service_obj.id
        self_srv.active_service()
        print 'conver user success! %s' % (old_user)