wip: 客户评级弹窗化/公司信息精简/参数中文化/品牌站点同步(基于 927592b)
This commit is contained in:
1 parent
927592b472
commit
27533eb465
43 files changed
+2959
-434
No files matched your search
@@ -0,0 +1,33 @@
|
||||
"""客户评级数据访问(每客户一行)。
|
||||
|
||||
本层只 flush 不 commit —— 事务边界由 services 层控制。
|
||||
"""
|
||||
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.models import CustomerRating
|
||||
|
||||
# ==================== 读取 ====================
|
||||
|
||||
|
||||
def get_by_customer_id(session: Session, customer_id: int) -> CustomerRating | None:
|
||||
"""查某客户的当前评级(uk_customer_ratings_customer_id 保证至多一行)。"""
|
||||
stmt = select(CustomerRating).where(CustomerRating.customer_id == customer_id)
|
||||
return session.execute(stmt).scalar_one_or_none()
|
||||
|
||||
|
||||
# ==================== 写入 ====================
|
||||
|
||||
|
||||
def create(session: Session, rating: CustomerRating) -> CustomerRating:
|
||||
"""新增评级行。只 flush 以取得自增 id。"""
|
||||
session.add(rating)
|
||||
session.flush()
|
||||
return rating
|
||||
|
||||
|
||||
def delete(session: Session, rating: CustomerRating) -> None:
|
||||
"""删除评级行(客户物理删除前的联动清理,调用方先校验业务引用)。"""
|
||||
session.delete(rating)
|
||||
session.flush()
|
||||
Reference in new issue
Block a user