feat: 初始化工程

This commit is contained in:
2026-09-09 18:42:37 +08:00
commit 31af6e07e2
29 changed files with 1208 additions and 0 deletions

42
service/crop_service.py Normal file
View File

@@ -0,0 +1,42 @@
from sqlalchemy import select, delete
from sqlalchemy.orm import Session
from models.patch import Crops, Records
from schemas.patch import CropCreate, CropUpdate
def create_crop(db: Session, data: CropCreate) -> bool:
crop = Crops(**data.model_dump())
db.add(crop)
db.commit()
db.refresh(crop)
return True
def update_crop(db: Session, crop_id: int, data: CropUpdate) -> bool:
result = db.execute(select(Crops).where(Crops.id == crop_id))
crop = result.scalar_one_or_none()
if not crop:
return False
for k, v in data.model_dump(exclude_unset=True).items():
setattr(crop, k, v)
db.commit()
db.refresh(crop)
return True
def delete_crop(db: Session, crop_id: int) -> bool:
result = db.execute(select(Crops).where(Crops.id == crop_id))
crop = result.scalar_one_or_none()
if not crop:
return False
db.execute(delete(Records).where(Records.crop_id == crop_id))
db.delete(crop)
db.commit()
return True