libushang il y a 1 jour
Parent
commit
3c22cd099a

+ 1 - 1
main.py

@@ -25,7 +25,7 @@ app.include_router(api.router, prefix="/api")
 app.include_router(prod_api.router, prefix="")
 
 app.add_middleware(SessionMiddleware, secret_key='MM-ZHCS-YJ-API', max_age=36000 * 24)
-app.add_middleware(CORSMiddleware,allow_origins=['*'],allow_credentials=False,allow_methods=['*'],allow_headers=['*'])
+app.add_middleware(CORSMiddleware,allow_origins=['*'],allow_credentials=False,allow_methods=["GET", "POST", "PUT", "DELETE", "OPTIONS"],allow_headers=['*'])
 
 app.mount('/static', StaticFiles(directory='static'), name='static')
 

+ 9 - 9
models/resource_provision_base.py

@@ -4,7 +4,7 @@ from sqlalchemy.ext.declarative import declarative_base
 from datetime import datetime
 
 import uuid
-
+from utils import get_datetime_str
 
 Base = declarative_base()
 
@@ -90,15 +90,15 @@ class ResourceImportFileStatus(Base):
 
 
 
-class Unit(Base):
+class RescueUnit(Base):
     __tablename__ = 'rescue_units'
 
     id = Column(Integer, autoincrement=True, primary_key=True)
-    name = Column(String(255), nullable=False, comment='单位名称')
-    category = Column(String(100), nullable=False, comment='类别')
+    name = Column(String(255), nullable=False, comment='队伍名称')
+    category = Column(String(100), nullable=False, comment='队伍类型')
     address = Column(String(255), nullable=False, comment='地址')
-    equipment = Column(String(255), comment='装备')
-    training = Column(String(255), comment='训练')
+    # equipment = Column(String(255), comment='装备')
+    # training = Column(String(255), comment='训练')
     responsible_person = Column(String(100), comment='队伍负责人')
     contact_number = Column(String(20), comment='值班电话')
     longitude = Column(Float, comment='经度')
@@ -125,8 +125,8 @@ class Unit(Base):
             "name": self.name,
             "category": self.category,
             "address": self.address,
-            "equipment": self.equipment,
-            "training": self.training,
+            # "equipment": self.equipment,
+            # "training": self.training,
             "responsible_person": self.responsible_person,
             "contact_number": self.contact_number,
             "longitude": self.longitude,
@@ -134,7 +134,7 @@ class Unit(Base):
             "position": self.position,  # 新增字段:负责人职务
             "team_size": self.team_size,  # 新增字段:队伍人数
             "supervisor_unit": self.supervisor_unit,  # 新增字段:主管单位
-            "add_time": self.add_time,
+            "add_time": get_datetime_str(self.add_time),
             "unit_prop": self.unit_prop,
             "unit_level": self.unit_level,
             "unit_favor": self.unit_favor,

+ 30 - 19
routers/api/resourceProvison/emergency_resources.py

@@ -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))