|
@@ -184,16 +184,23 @@ class UnitSchema(BaseModel):
|
|
|
id: int = None
|
|
|
name: str = None
|
|
|
category: str = None
|
|
|
- address: str = None
|
|
|
- equipment: str = None
|
|
|
- training: str = None
|
|
|
+ contact_number: str = None
|
|
|
responsible_person: str = None
|
|
|
contact_number: str = None
|
|
|
- longitude: float = None
|
|
|
- latitude: float = None,
|
|
|
- position:str = None,
|
|
|
- team_size:int = None,
|
|
|
- supervisor_unit:str=None,
|
|
|
+ team_size: int = None
|
|
|
+ supervisor_unit: str = None
|
|
|
+ unit_prop: str = None
|
|
|
+ unit_level: str = None
|
|
|
+ unit_favor: str = None
|
|
|
+ supervisor_unit_phone: str = None
|
|
|
+ supervisor_unit_contact: str = None
|
|
|
+ responsible_person_phone: str = None
|
|
|
+ area: str = None
|
|
|
+ founding_time: str = None
|
|
|
+ address: str = None
|
|
|
+ longitude: str = None
|
|
|
+ latitude: str = None
|
|
|
+ position: str = None
|
|
|
is_delete: int = 0
|
|
|
|
|
|
class UnitListSchema(BaseModel):
|
|
@@ -212,22 +219,24 @@ def create_units(unit_list_data: UnitListSchema, db: Session = Depends(get_db)):
|
|
|
for unit_data in units:
|
|
|
|
|
|
unit_data = unit_data.dict(exclude_none=True)
|
|
|
- n_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
|
|
- unit_data["add_time"] = n_time
|
|
|
-
|
|
|
- new_unit = Unit(**unit_data)
|
|
|
+ unit_data["add_time"] = datetime.now()
|
|
|
+ print(unit_data)
|
|
|
+ new_unit = RescueUnit(**unit_data)
|
|
|
db.add(new_unit)
|
|
|
+ db.commit()
|
|
|
+ db.refresh(new_unit)
|
|
|
new_units.append(new_unit)
|
|
|
- db.commit()
|
|
|
+
|
|
|
unit_ids = [unit.id for unit in new_units] # 获取所有新对象的ID
|
|
|
return {"code": 200, "msg": "创建成功", "unit_ids": unit_ids}
|
|
|
except Exception as e:
|
|
|
+ traceback.print_exc()
|
|
|
db.rollback()
|
|
|
raise HTTPException(status_code=400, detail=str(e))
|
|
|
#删除
|
|
|
-@router.delete("/rescue_units/{unit_id}/")
|
|
|
+@router.delete("/delete/rescue_units/{unit_id}")
|
|
|
def delete_unit(unit_id: int, db: Session = Depends(get_db), user_id=Depends(valid_access_token)):
|
|
|
- unit = db.query(Unit).get(unit_id)
|
|
|
+ unit = db.query(RescueUnit).get(unit_id)
|
|
|
if not unit:
|
|
|
raise HTTPException(status_code=404, detail="单位不存在")
|
|
|
try:
|
|
@@ -236,6 +245,7 @@ def delete_unit(unit_id: int, db: Session = Depends(get_db), user_id=Depends(val
|
|
|
db.commit()
|
|
|
return {"code": 200, "msg": "删除成功"}
|
|
|
except Exception as e:
|
|
|
+ traceback.print_exc()
|
|
|
db.rollback()
|
|
|
raise HTTPException(status_code=400, detail=str(e))
|
|
|
|
|
@@ -252,8 +262,8 @@ def get_units(page: int = Query(default=1, gt=0),
|
|
|
db: Session = Depends(get_db),
|
|
|
user_id=Depends(valid_access_token)):
|
|
|
# 应用过滤条件,仅查询未被删除的单位
|
|
|
- data_query = db.query(Unit).filter(Unit.is_delete == 0)
|
|
|
- data_query = data_query.order_by(Unit.add_time.desc())
|
|
|
+ data_query = db.query(RescueUnit).filter(RescueUnit.is_delete == 0)
|
|
|
+ data_query = data_query.order_by(RescueUnit.add_time.desc())
|
|
|
# 计算总数
|
|
|
total_count = data_query.count()
|
|
|
|
|
@@ -281,7 +291,7 @@ def get_units(page: int = Query(default=1, gt=0),
|
|
|
@router.get("/rescue_units/{unit_id}/")
|
|
|
def get_unit_by_id(unit_id: int, db: Session = Depends(get_db), user_id=Depends(valid_access_token)):
|
|
|
# unit = db.query(Unit).filter(Unit.is_delete == 0).get(unit_id)
|
|
|
- unit = db.query(Unit).filter_by(id=unit_id, is_delete=0).first()
|
|
|
+ unit = db.query(RescueUnit).filter_by(id=unit_id, is_delete=0).first()
|
|
|
|
|
|
if not unit:
|
|
|
raise HTTPException(status_code=404, detail="单位不存在或已被标记为删除")
|
|
@@ -292,7 +302,7 @@ def get_unit_by_id(unit_id: int, db: Session = Depends(get_db), user_id=Depends(
|
|
|
def update_unit(unit_id: int, update_data: UnitSchema, db: Session = Depends(get_db),
|
|
|
user_id=Depends(valid_access_token)):
|
|
|
# 根据id和is_delete字段获取单位
|
|
|
- unit = db.query(Unit).filter_by(id=unit_id, is_delete=0).first()
|
|
|
+ unit = db.query(RescueUnit).filter_by(id=unit_id, is_delete=0).first()
|
|
|
if not unit:
|
|
|
raise HTTPException(status_code=404, detail="单位不存在或已被标记为删除")
|
|
|
|
|
@@ -306,6 +316,7 @@ def update_unit(unit_id: int, update_data: UnitSchema, db: Session = Depends(get
|
|
|
db.refresh(unit)
|
|
|
return {"code": 200, "msg": "更新成功", "unit": unit.to_dict()}
|
|
|
except Exception as e:
|
|
|
+ traceback.print_exc()
|
|
|
db.rollback()
|
|
|
raise HTTPException(status_code=400, detail=str(e))
|
|
|
|