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, })
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
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
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)
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
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
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)