contract_repo.py 949 B

12345678910111213141516171819202122232425262728293031323334
  1. from sqlalchemy.orm import Session
  2. from sqlalchemy import or_
  3. from typing import List, Optional
  4. from alien_store.db.models.contract_store import ContractStore
  5. class ContractRepository:
  6. """合同数据访问层"""
  7. def __init__(self, db: Session):
  8. self.db = db
  9. def get_by_id(self, store_id: int):
  10. """根据店铺id查询所有合同"""
  11. return self.db.query(ContractStore).filter(ContractStore.id == store_id).all()
  12. def create(self, user_data):
  13. """创建未签署合同模板"""
  14. db_templates = ContractStore(
  15. store_id = user_data.store_id,
  16. merchant_name = user_data.merchant_name,
  17. contact_phone = user_data.contact_phone,
  18. contract_url = user_data.contract_url,
  19. seal_url = user_data.seal_url
  20. )
  21. self.db.add(db_templates)
  22. self.db.commit()
  23. self.db.refresh(db_templates)
  24. return db_templates