def post(self, request): user = request.user pid = request.POST.get('pid') num = request.POST.get('num', 1) payment_terms = request.POST.get('payment_terms') is_insurance = request.POST.get('is_insurance') product_type = request.POST.get('product_type') order = OrderManage.create_order( user=user, pid=pid, num=num, product_type=product_type, payment_terms=payment_terms, is_insurance=is_insurance ) if (int(num) < 1): return JsonResponse({ 'status': 'error', 'msg': '商品数量不能小于1', }) if not order: return JsonResponse({ 'status': 'error', 'msg': '支付失败,请勿重新购买!', }) pay_url = '' if payment_terms == 'alipay': alipay_return_url = request.build_absolute_uri( reverse('order-alipay-return') ) alipay_notify_url = request.build_absolute_uri( reverse('order-alipay-notify') ) pay_url = AlipayUtils.submit_order_url( order, return_url=alipay_return_url, notify_url=alipay_notify_url, order_price=order.order_price, extra_common_param=product_type ) if payment_terms == 'coin': pay_url = reverse('vip-coin-paid-order') return JsonResponse({ 'status': 'ok', 'msg': '订单生成成功', 'pay_url': pay_url, 'order_id': order.order_id, 'payment_terms': order.payment_terms, 'order_price': order.order_price })
def post(self, request): username = request.POST.get('username', '') user = get_object_or_none( User, username=username, ) if not user: return JsonResponse({ 'status': 'user_not_found', 'msg': '用户不存在', }) pid = request.POST.get('pid') num = request.POST.get('num', 1) payment_terms = request.POST.get('payment_terms') is_insurance = request.POST.get('is_insurance') product_type = request.POST.get('product_type') order = OrderManage.create_order( user=user, pid=pid, num=num, product_type=product_type, payment_terms=payment_terms, is_insurance=is_insurance ) if (int(num) < 1): return JsonResponse({ 'status': 'error', 'msg': '商品数量不能小于1', }) if not order: return JsonResponse({ 'status': 'error', 'msg': '支付失败,请勿重新购买!', }) return JsonResponse({ 'status': 'ok', 'msg': '订单生成成功', 'pay_url': '', 'order_id': order.order_id, 'payment_terms': order.payment_terms, 'order_price': order.order_price })
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