示例#1
0
def update_status(request):
    """
	激活或停用微众卡
	"""
    try:
        id = request.POST.get('card_id', '')
        card_remark = request.POST.get('card_remark', '')
        activated_to = request.POST.get('activated_to', '')
        department = request.POST.get('department', '')
        operate_style = request.POST.get('operate_style', '')
        # status = int(request.POST['status'])
        event_type = WEIZOOM_CARD_LOG_TYPE_DISABLE
        weizoom_card = WeizoomCard.objects.get(id=id)
        if operate_style == 'active':
            status = 0
            weizoom_card.active_card_user_id = request.user.id
            operate_log = u'激活'
        else:
            status = 3
            operate_log = u'停用'
        if weizoom_card.status == WEIZOOM_CARD_STATUS_INACTIVE:
            weizoom_card.activated_at = datetime.strftime(
                datetime.now(), '%Y-%m-%d %H:%M:%S')
            event_type = WEIZOOM_CARD_LOG_TYPE_ACTIVATION

        if (status == 0 and
                weizoom_card.weizoom_card_rule.money != weizoom_card.money):
            weizoom_card.status = WEIZOOM_CARD_STATUS_USED
        else:
            weizoom_card.status = status
        weizoom_card.target_user_id = 0
        if card_remark and activated_to and department:
            weizoom_card.remark = card_remark
            weizoom_card.activated_to = activated_to
            weizoom_card.department = department
        weizoom_card.save()
        # 创建激活日志
        module_api.create_weizoom_card_log(request.user.id, -1, event_type, id,
                                           weizoom_card.money)
        response = create_response(200)
        # 创建操作日志
        WeizoomCardOperationLog.objects.create(card_id=id,
                                               operater_id=request.user.id,
                                               operater_name=request.user,
                                               operate_log=operate_log,
                                               remark=card_remark,
                                               activated_to=activated_to,
                                               department=department)
    except:
        response = create_response(500)
    return response.get_response()
示例#2
0
def update_batch_status(request):
	card_ids = request.POST.get('card_ids', '')
	target_id = request.POST.get('target_id', '')
	
	activated_at = datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:%S')
	WeizoomCard.objects.filter(id__in=card_ids.split(',')).update(status=0, target_user_id=target_id, activated_at=activated_at)

	# 创建激活日志
	for card in WeizoomCard.objects.filter(id__in=card_ids.split(',')):
		module_api.create_weizoom_card_log(
			request.user.id, 
			-1, 
			WEIZOOM_CARD_LOG_TYPE_ACTIVATION, 
			card.id, 
			card.money)
	
	response = create_response(200)
	return response.get_response()
示例#3
0
def update_batch_status(request):
    """
	批量激活微众卡
	"""
    card_ids = request.POST.get('card_id', '')
    card_remark = request.POST['card_remark']
    activated_to = request.POST['activated_to']
    department = request.POST['department']
    if card_ids:
        card_ids = card_ids.split(',')
        activated_at = datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:%S')
        cards = WeizoomCard.objects.filter(id__in=card_ids)

        cards.update(status=0,
                     activated_at=activated_at,
                     remark=card_remark,
                     activated_to=activated_to,
                     department=department,
                     active_card_user_id=request.user.id)
        # 创建操作日志
        operation_logs = []
        for card_id in card_ids:
            operation_logs.append(
                WeizoomCardOperationLog(card_id=card_id,
                                        operater_id=request.user.id,
                                        operater_name=request.user,
                                        operate_log=u'激活',
                                        remark=card_remark,
                                        activated_to=activated_to))
        WeizoomCardOperationLog.objects.bulk_create(operation_logs)
        # 创建激活日志
        for card in cards:
            module_api.create_weizoom_card_log(
                request.user.id, -1, WEIZOOM_CARD_LOG_TYPE_ACTIVATION, card.id,
                card.money)

        response = create_response(200)
    else:
        response = create_response(500)
        response.errMsg = u'没有需要激活的卡'
    return response.get_response()
示例#4
0
def update_status(request):
	id = request.POST['card_id']
	status = int(request.POST['status'])

	event_type = WEIZOOM_CARD_LOG_TYPE_DISABLE
	weizoom_card = WeizoomCard.objects.get(id=id)
	if weizoom_card.status == WEIZOOM_CARD_STATUS_INACTIVE:
		weizoom_card.activated_at = datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:%S')
		event_type = WEIZOOM_CARD_LOG_TYPE_ACTIVATION

	if (status==0 and weizoom_card.weizoom_card_rule.money!=weizoom_card.money):
		weizoom_card.status = WEIZOOM_CARD_STATUS_USED
	else:
		weizoom_card.status = status=status
	weizoom_card.target_user_id = 0
	weizoom_card.save()

	# 创建激活日志
	module_api.create_weizoom_card_log(request.user.id, -1, event_type, id, weizoom_card.money)
	response = create_response(200)
	return response.get_response()
示例#5
0
def change_weizoom_card_to_integral(request):
    """
	微众卡兑换积分,暂不使用
	"""
    if True:
        return
    response = create_response(500)
    data = dict()
    card_id = request.POST.get('card_id', '')
    webapp_owner_id = request.webapp_owner_id

    if card_id:
        try:
            weizoom_card = WeizoomCard.objects.get(id=card_id)
        except:
            weizoom_card = None
            data['msg'] = u'不存在该微众卡'

        if weizoom_card and weizoom_card.status == WEIZOOM_CARD_STATUS_INACTIVE:
            data['msg'] = u'微众卡未激活'

        if weizoom_card and WeizoomCardUsedAuthKey.is_can_pay(
                request.COOKIES[core_setting.WEIZOOM_CARD_AUTH_KEY], card_id
        ) and weizoom_card.status != WEIZOOM_CARD_STATUS_INACTIVE:
            integral_each_yuan = IntegralStrategySttings.get_integral_each_yuan(
                request.user_profile.webapp_id)
            if integral_each_yuan:
                expired_money = weizoom_card.money
                change_integral = weizoom_card.money * integral_each_yuan
                if change_integral > int(change_integral):
                    change_integral = int(change_integral) + 1
                change_integral = int(change_integral)
                try:
                    log = increase_member_integral(request.member,
                                                   change_integral, u'积分兑换')

                    weizoom_card.money = 0
                    weizoom_card.status = WEIZOOM_CARD_STATUS_EMPTY
                    weizoom_card.save()

                    # 创建微众卡日志
                    module_api.create_weizoom_card_log(
                        webapp_owner_id, -1,
                        WEIZOOM_CARD_LOG_TYPE_RETURN_BY_SYSTEM,
                        weizoom_card.id, expired_money, log.id if log else 0)
                    #登录安全
                    WeizoomCardUsedAuthKey.objects.filter(
                        auth_key=request.COOKIES[
                            core_setting.WEIZOOM_CARD_AUTH_KEY],
                        weizoom_card_id=card_id).delete()
                except:
                    notify_message = u"微众卡兑换积分, cause:\n{}".format(
                        unicode_full_stack())
                    watchdog_error(notify_message)
                    response = create_response(500)
                    response.data = u'兑换失败'
            else:
                response = create_response(500)
                response.data = u'兑换失败'

            response = create_response(200)
        elif data.has_key('msg') is False:
            response.data = u'兑换失败'

    response.data = data
    return response.get_response()