def add_by_user_loyalty_id(user_id, loyalty_id):
        answer = -1
        loyalty = PaymentLoyalty.query.filter_by(
            id=loyalty_id).first()
        if not loyalty:
            return False

        user_wallets = PaymentWallet.query.filter_by(user_id=user_id).all()

        for wallet in user_wallets:
            wl = WalletLoyalty.query.filter_by(
                loyalty_id=loyalty_id, status=WalletLoyalty.STATUS_ON, wallet_id=wallet.id).first()

            if not wl:
                continue

            person = Person.query.filter_by(
                firm_id=loyalty.firm_id, payment_id=wallet.payment_id).first()

            if not person:
                person = Person()
                person.name = 'Участник промо-кампании'
                person.firm_id = loyalty.firm_id
                person.hard_id = wallet.hard_id
                person.payment_id = wallet.payment_id
                person.save()

            if not loyalty.terms_id:
                continue

            timeout = PersonEvent.LIKE_TIMEOUT
            if loyalty.timeout:
                timeout = loyalty.timeout

            terms = json.loads(loyalty.terms_id)
            for term in terms:
                event = PersonEvent.query.filter_by(
                    person_id=person.id, term_id=term, event_id=loyalty.event_id, firm_id=loyalty.firm_id).first()

                if event:
                    if event.timeout > timeout:
                        event.status = PersonEvent.STATUS_BANNED
                        event.save()
                else:
                    event = PersonEvent()
                    event.person_id = person.id
                    event.term_id = term
                    event.event_id = loyalty.event_id
                    event.firm_id = loyalty.firm_id
                    event.timeout = PersonEvent.LIKE_TIMEOUT
                    if loyalty.timeout:
                        event.timeout = loyalty.timeout
                    event.save()
                    answer = event.id

        return answer
def create():
    person = Person()
    person.id = uuid.uuid4()
    person.vorname = request.json["vorname"]
    person.nachname = request.json["nachname"]
    person.email = request.json["email"]
    person.handy = request.json["handy"]
    person.save(force_insert=True)

    return json.dumps(map_to_dict(person), indent=4)
Exemple #3
0
    def init_table_values(self):
        Person.drop_table(self.database)
        Person.create_table(self.database)

        for i in range(self.rows):
            response_id = int(self.df['respid'][i])
            book_count = int(self.df['books1'][i])
            state = int(self.df['state'][i])
            person = Person(response_id, book_count, state, self.database)
            person.save()
Exemple #4
0
def create():
    status = 0
    try:
        if request.method == 'GET':
            raise Exception("method must be post")
        # 获取用户填写的信息
        username = request.form.get('username')
        password = request.form.get('password')
        tel = request.form.get('telephone')
        email = request.form.get('email')
        if not all([username, password, tel, email]):
            raise Exception(
                'required information is not complete: username, password, tel, email'
            )
        have_uid = Person.query.filter(Person.username == username).first()
        if have_uid:
            status = 2
            raise Exception('user name is exist')
        if not valid.checkEmail(email):
            raise Exception('email is not valid')
        if not valid.checkPhone(tel):
            raise Exception('phone number is not valid')

        config = app.config['SERVER_INI']
        config["to_mail"] = email
        sender = Sendcheck(config)
        emailcheck = sender.send()
        person = Person(username=username,
                        password=password,
                        tel=tel,
                        email=email,
                        emailcheck=emailcheck)
        person.save()
        return dict(status=1, message="success", data="none")
    except Exception as e:
        return dict(status=status, message=str(e), data="none")
Exemple #5
0
def person_save(person_id):
    """Добавляем или редактируем человека"""

    answer = dict(error='yes', message=u'Произошла ошибка', person_id=0)
    arg = json.loads(request.stream.read())
    form = PersonAddForm.from_json(arg)

    if person_id == 0:
        code = arg['card_code'] if 'card_code' in arg else False
        card_hard_id = arg['card_hard_id'] if 'card_hard_id' in arg else False
        person = Person()

        if code or card_hard_id:
            if code:
                bind_card = set_person_card(code)
            else:
                bind_card = set_person_card_by_hid(card_hard_id)
                
            if not bind_card['wallet']:
                answer['message'] = bind_card['message']
                return jsonify(answer)
            else:
                wallet = bind_card['wallet']
                person.hard_id = wallet.hard_id
                person.payment_id = bind_card['payment_id']
                
    else:
        person = Person.query.get(person_id)
        if not person:
            abort(404)

    if not form.validate():
        answer['message'] = u"""Форма заполнена неверно,
                            проверьте формат полей"""
        return jsonify(answer)

    form.populate_obj(person)
    if person.save():
        answer['person_id'] = person.id
        answer['error'] = 'no'
        answer['message'] = u'Данные сохранены'
        return jsonify(answer)

    return jsonify(answer)
Exemple #6
0
def insert():
    person = Person(username="******",password="******")
    person.save()

    return '添加成功'