예제 #1
0
    def post(self, request, manual_service_id):
        order = ServiceUtils.get_order_by_manual_serviceid(
            service_id=manual_service_id
        )
        if not order:
            raise Http404

        user = order.user
        OrderManage.paid_order(
            order_id=order.order_id,
            user=user
        )

        if request.POST.get('pay_status') == 'continue':
            UserManualService.objects.filter(
                id=manual_service_id
            ).update(
                status='continue'
            )

        return JsonResponse({
            'result': 'success',
            'new_data': {'offline_pay': u'操作成功'},
            'new_html': {'offline_pay': u'操作成功'},
        })
예제 #2
0
    def post(self, request, order_id):
        order = OrderManage.get_order_info(
            order_id=order_id
        )
        if order:

            OrderManage.paid_order(
                order_id=order.order_id,
                user=order.user
            )
            order.payment_terms = 'offline'
            order.order_status = 'paid'
            order.save()
        return JsonResponse({
            'result': 'success',
            'new_data': {'offline_pay': u'支付成功'},
            'new_html': {'offline_pay': u'支付成功'},
        })
예제 #3
0
    def make_order_success(self):

        order_id = self.request.REQUEST.get('out_trade_no')

        success_order = self.order_already_success(order_id)
        if success_order:
            return success_order

        order_obj = get_object_or_none(UserOrder, order_id=order_id)
        ret = OrderManage.paid_order(
            order_id=order_id,
            user=order_obj.user
        )
        return ret
예제 #4
0
    def post(self, request):
        user = request.user
        order_id = request.POST.get('order_id')

        ret = OrderManage.paid_order(
            order_id=order_id,
            user=user
        )

        if ret:
            return JsonResponse({
                'status': 'ok',
                'msg': '订单支付成功'
            })
        else:
            return JsonResponse({
                'status': 'error',
                'msg': '订单支付失败'
            })
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