def fake_categoies(count=10): with db.auto_commit(): category = Category() category.name = 'Default' db.session.add(category) for i in range(count): with db.auto_commit(): category = Category(name=fake.word()) db.session.add(category)
def fake_comments(count=50): for i in range(count): with db.auto_commit(): comment = Comment(author=fake.name(), email=fake.email(), site=fake.url(), body=fake.sentence(), timestamp=fake.date_time_this_year(), reviewed=True, post=Post.query.get( random.randint(1, Post.query.count()))) db.session.add(comment) salt = int(count * 0.1) for i in range(salt): with db.auto_commit(): comment = Comment(author=fake.name(), email=fake.email(), site=fake.url(), body=fake.sentence(), timestamp=fake.date_time_this_year(), reviewed=False, post=Post.query.get( random.randint(1, Post.query.count()))) db.session.add(comment) for i in range(salt): with db.auto_commit(): comment = Comment(author='Mima Kirigoe', email='*****@*****.**', site='example.com', body=fake.sentence(), timestamp=fake.date_time_this_year(), from_admin=True, reviewed=True, post=Post.query.get( random.randint(1, Post.query.count()))) db.session.add(comment) for i in range(salt): with db.auto_commit(): comment = Comment(author=fake.name(), email=fake.email(), site=fake.url(), body=fake.sentence(), timestamp=fake.date_time_this_year(), reviewed=True, replied=Comment.query.get( random.randint(1, Comment.query.count())), post=Post.query.get( random.randint(1, Post.query.count()))) db.session.add(comment)
def make_uid(cls, merchant: MerchantEnum): with db.auto_commit(): global_uid = cls() global_uid.merchant = merchant db.session.add(global_uid) return global_uid.id
def create_group(): ep_infos = get_ep_infos() if request.method == 'POST': form = NewGroup() if form.validate_on_submit(): exists = Group.query.filter_by(name=form.name.data).first() if exists: flash('分组已存在,不可创建同名分组', 2) return common_render('page/manage_group/create/index.html', ep_infos=ep_infos) with db.auto_commit(): group = Group(name=form.name.data, info=form.info.data) db.session.add(group) db.session.flush() for auth in form.auths.data: meta = find_auth_module(auth) if meta: auth = Auth(auth=meta.auth, module=meta.module, group_id=group.id) db.session.add(auth) flash('创建成功', 1) else: flash(form.errors_info) return common_render('page/manage_group/create/index.html', ep_infos=ep_infos)
def delete(self): default_category = Category.query.get(1) posts = self.posts[:] with db.auto_commit(): for post in posts: post.category = default_category db.session.delete(self)
def add_bank_card(cls, merchant: MerchantEnum, uid: int, bank_name: str, bank_code: str, card_no: str, account_name: str, branch: str, province: str, city: str): """ 添加用户银行卡 :param merchant: :param uid: :param bank_name: :param bank_code: :param card_no: :param account_name: :param branch: :param province: :param city: :return: """ with db.auto_commit(): bank_card = cls.query_one(query_fields=dict(card_no=card_no, valid=cls.INVALID, _merchant=merchant.value)) if not bank_card: bank_card = cls.get_model_obj(merchant=merchant) bank_card.valid = cls.VALID bank_card.uid = uid bank_card.bank_name = bank_name bank_card.bank_code = bank_code bank_card.card_no = card_no bank_card.account_name = account_name bank_card.branch = branch bank_card.province = province bank_card.city = city bank_card.merchant = merchant db.session.add(bank_card) return bank_card
def delete(self, id_): mock_data: MockData = MockData.query.filter(MockData.status != -1, MockData.id == id_).first_or_404() mock_data.status = -1 with db.auto_commit(): db.session.add(mock_data) return DeleteSuccess()
def register_by_email(user_name, account, secret): with db.auto_commit(): user = User() user.user_name = user_name user.email = account user.password = secret db.session.add(user)
def get(self): """ 测试外网访问,正向代理是否正常 :return: """ try: tx_id = request.args['tx_id'] except: return ResponseSuccess(message="必填交易ID").as_response() order = OrderDeposit.query_by_tx_id(tx_id) if not order: return ResponseSuccess(message="订单不存在,请确认交易号是否正确: %s" % tx_id).as_response() state_before = OrderConstraint.query_by_order_id(order.order_id).state with db.auto_commit(): OrderConstraint.revoke_order_state(order.order_id, order.state) state_after = OrderConstraint.query_by_order_id(order.order_id).state return ResponseSuccess(bs_data=dict( order_id=order.order_id, sys_tx_id=order.sys_tx_id, order_state=order.state.desc, state_before=state_before.desc, state_after=state_after.desc, )).as_response()
def put(self, id_): args = ProjectsResource.parser.parse_args() project = MockProject.query.filter(MockProject.status != -1, MockProject.id == id_).first_or_404() project = MockProjectSchema().load(args, instance=project) with db.auto_commit(): db.session.add(project) return UpdateSuccess()
def put(self, id_): args = DataResource.parser.parse_args() mock_data = MockData.query.filter(MockData.status != -1, MockData.id == id_).first_or_404() mock_data = MockDataSchema().load(args, instance=mock_data) with db.auto_commit(): db.session.add(mock_data) return UpdateSuccess()
def drop_all_records(cls): create_time = DateTimeKit.get_cur_datetime() with db.auto_commit(): model_cls = cls.get_model_cls(date=create_time) model_cls.query.delete() model_cls = cls.get_cold_model_cls(date=create_time) model_cls.query.delete()
def edit_user(user_name, account, gender, department, position, mobile): user = User.query.filter_by(email=account).first() with db.auto_commit(): user.user_name = user_name user.department_id = department or None user.gender = gender user.mobile = mobile user.position = position
def delete(self, id_): project: MockProject = MockProject.query.filter(MockProject.status != -1, MockProject.id == id_).first_or_404() has_mock_data = MockData.query.filter(MockData.project_id == id_, MockData.status != -1).all() if has_mock_data: raise DeleteFaild(message='请先删除该项目下的所有 Mock 数据') project.status = -1 with db.auto_commit(): db.session.add(project) return DeleteSuccess()
def fake_posts(count=50): for i in range(count): with db.auto_commit(): post = Post(title=fake.sentence(), body=fake.text(200), category=Category.query.get( random.randint(1, Category.query.count())), timestamp=fake.date_time_this_year()) db.session.add(post)
def delete_bankcard_by_card_id(cls, card_id): """ 根据卡号删除用户银行卡 :param card_id: :return: """ with db.auto_commit(): bank_card = cls.query_bankcard_by_id(card_id=card_id) bank_card.valid = cls.INVALID db.session.add(bank_card)
def delete_account(cls, uid=None, account=None): """ 删除账号 :param uid: :param account: :return: """ with db.auto_commit(): user = cls.query_user(uid=uid, account=account) db.session.delete(user)
def delete_all(cls, *args, **kwargs): """ 删除所有 :return: """ model_cls = kwargs.get('model_cls') or cls.get_model_cls( *args, **kwargs) with db.auto_commit(): model_cls.query.delete()
def delete_bankcard_by_card_no(cls, merchant, card_no): """ 根据卡号删除用户银行卡 :param merchant: :param card_no: :return: """ with db.auto_commit(): bank_card = cls.query_bankcard_by_card_no(merchant, card_no=card_no) bank_card.valid = cls.INVALID db.session.add(bank_card)
def create_user(user_name, account, password, gender, department, position, mobile): with db.auto_commit(): user = User() user.user_name = user_name user.email = account user.password = password user.department_id = department or None user.gender = gender user.mobile = mobile user.position = position db.session.add(user)
def delete_by_create_time(cls, begin_time, end_time, *args, **kwargs): """ 根据创建时间删除记录 :param begin_time: :param end_time: :param args: :param kwargs: :return: """ with db.auto_commit(): return cls.query_by_create_time( begin_time, end_time, *args, **kwargs).delete(synchronize_session="fetch")
def main(): app = create_app() with app.app_context(): with db.auto_commit(): for link in links: address = True if link['showAddress'] == '首页' else False l = FriendLinks(id=link['linksId'], title=link['linksName'], url=link['linksUrl'], email=link['masterEmail'], create_time=link['linksTime'], show_address=address) db.session.add(l)
def fake_admin(): ''' 生成管理员帐号 ''' with db.auto_commit(): admin = Admin( username='******', blog_title='Myblog', blog_sub_title="hello world", name='Mima Kirigoe', about='Um, l, Mima Kirigoe, had a fun time as a member of CHAM...') admin.password = '******' db.session.add(admin)
def add_bank(cls, bank_name: str, bank_code: str): """ 添加日志 :param bank_name: :param bank_code: :return: """ with db.auto_commit(): bank = cls() bank.bank_name = bank_name bank.bank_code = bank_code db.session.add(bank) return bank
def delete_merchant(cls, merchant: MerchantEnum): """ 删除商户 :param merchant: :return: """ with db.auto_commit(): obj = cls.query.filter(cls._merchant == merchant.value).first() obj.set_before_fields(['merchant']) db.session.delete(obj) log_model = cls.add_admin_log(obj) log_model and db.session.add(log_model)
def register_account(cls, account, login_pwd): """ 注册账号 :param account: :param login_pwd: :return: """ user = cls() user.account = account user.login_pwd = login_pwd with db.auto_commit(): db.session.add(user) return user
def settings(): form = SettingForm() if form.validate_on_submit(): with db.auto_commit(): current_user.name = form.name.data current_user.blog_title = form.blog_title.data current_user.blog_sub_title = form.blog_sub_title.data current_user.about = form.about.data flash('资料修改成功', 'success') return redirect(url_for('blog.index')) form.name.data = current_user.name form.blog_title.data = current_user.blog_title form.blog_sub_title.data = current_user.blog_sub_title form.about.data = current_user.about return render_template('admin/settings.html', form=form)
def register_account(cls, mid, account, password): """ 注册账号 :param account: :param login_pwd: :return: """ user = cls() user.mid = mid user.account = account user.password = password with db.auto_commit(): db.session.add(user) return user
def commit_models(cls, *args, models=None, delete=False, commit=True): """ 多个model在同一个事务中提交,一个失败,所有都失败 :param models: :param delete: :param commit: 是否提交事务 :return: """ models = models or list() models.extend(args) with db.auto_commit(commit): for model in models: if delete: db.session.delete(model) else: db.session.add(model)
def reset_password(cls, account=None, uid=None, login_pwd=None): """ 修改密码 :param account: :param uid: :param login_pwd: :return: """ with db.auto_commit(): if uid: user = cls.query_user(uid=uid) else: user = cls.query_user(account=account) if user is not None: user.login_pwd = login_pwd db.session.add(user) return True else: return False