feat: 분석 페이지 고도화 및 AI 위험 적응형(AAS) SOI 모델 도입

This commit is contained in:
2026-03-23 13:51:05 +09:00
parent 0953f49db1
commit d416fee414
9 changed files with 1119 additions and 337 deletions

42
inquiry_service.py Normal file
View File

@@ -0,0 +1,42 @@
from datetime import datetime
from sql_queries import InquiryQueries
class InquiryService:
@staticmethod
def get_inquiries_logic(cursor, pm_type=None, category=None, status=None, keyword=None):
sql = InquiryQueries.SELECT_BASE
params = []
if pm_type:
sql += " AND pm_type = %s"
params.append(pm_type)
if category:
sql += " AND category = %s"
params.append(category)
if status:
sql += " AND status = %s"
params.append(status)
if keyword:
sql += " AND (content LIKE %s OR author LIKE %s OR project_nm LIKE %s)"
params.extend([f"%{keyword}%", f"%{keyword}%", f"%{keyword}%"])
sql += f" {InquiryQueries.ORDER_BY_DESC}"
cursor.execute(sql, params)
return cursor.fetchall()
@staticmethod
def get_inquiry_detail_logic(cursor, inquiry_id):
cursor.execute(InquiryQueries.SELECT_BY_ID, (inquiry_id,))
return cursor.fetchone()
@staticmethod
def update_inquiry_reply_logic(cursor, conn, inquiry_id, req):
handled_date = datetime.now().strftime("%Y.%m.%d")
cursor.execute(InquiryQueries.UPDATE_REPLY, (req.reply, req.status, req.handler, handled_date, inquiry_id))
conn.commit()
return {"success": True}
@staticmethod
def delete_inquiry_reply_logic(cursor, conn, inquiry_id):
cursor.execute(InquiryQueries.DELETE_REPLY, (inquiry_id,))
conn.commit()
return {"success": True}