Commit Graph

16 Commits

Author SHA1 Message Date
d2eeea266a [chore] negodata: ALTER 스크립트를 postgres-migrations/ 로 분리·이름변경
postgres-init/ 는 신규 DB 부트스트랩(01 schema·02 learning·03 seed) 전용이라
ALTER(기존 DB 대상)는 별도 디렉터리로 분리. 앞으로 마이그레이션은
postgres-migrations/YYYY-MM-DD-설명.sql 로 추가한다.
04-alter-negodata-pricing.sql → 2026-06-26-pricing-classification.sql

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 17:15:59 +09:00
103c80046e [feat] negodata: 신규 견적유형 + 목표가·앵커링 산정 + 협력사유형 + 협상카드 용도
- 견적유형 4종: QuotationType 에 신규협상(3)·신규견적(4) 추가(1·2 재 고정)
- 목표가 산정: items(매입가·판매가·인터넷최저가) + quotations.md_price +
  quotation_settings.internet_average_fee 로 _calc_target_price(KTC 이식, 신규/재 분리),
  세션 target_price·target_anchoring_price 저장
- 협력사유형: quotations.supplier_type(SupplierType) + 직전유형 조회 API(/supplier/{id}/last-type)
- 협상카드 용도: nego_cards/wild_cards.usage_type(CardUsageType: 공통/신규견적전용/재견적전용)
- 스키마(01-schema.sql)·ORM·protocol·service·crud·프론트(생성타입/폼) 일괄, /backend enums·models 미러

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 17:09:14 +09:00
9f947e4823 [feat] negodata/front: 견적 재생성·차수 체인 UI + 담당자/메모 + 스크롤·목업 정비
- 견적 재생성(다음 견적) 엔드포인트 연동 모달: 연결 공급사+협상단계 표시, 마지막 차수에서만
- 차수 체인 타임라인/견적번호 클릭 필터, 생성 응답 슬림(qt_id/session_count) 반영
- 상세 시트 스크롤 수정(min-h-0)·배경 스크롤 락(useScrollLock)·헤더2:탭1 비율
- 담당자=로그인 유저(store) 자동 전송 + 생성 모달 메모 입력 추가
- 목업/가짜 폴백 제거(담당자·견적명·번호·메모 → '-'), 시드 회사 placeholder UUID→실 UUID
- 견적상태 CREATED 칩 pulse 제거

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 16:57:29 +09:00
fd2e5c1cc2 [feat] 세션 step desync 동기화 2026-06-23 09:09:07 +09:00
088c57f415 Merge branch 'main' of https://gitea.o2o.kr/Negosium/o2o-negosium
# Conflicts:
#	postgres-init/03-seed-negodata.sql
2026-06-18 17:53:03 +09:00
664cf90d3b [chore] negodata/seed: 시드를 company+admin 유저만 남기고 회사명 아이마켓코리아로 변경
- 데모 상품/견적/협력사/카드/세션/채팅 시드 제거(로컬 로그인용 최소만 유지)
- 회사명 Negosium → 아이마켓코리아, 사업자번호·대표·연락처·웹사이트·이메일 보강
- admin 유저 연락처/이메일 보강(로그인 admin/admin1234 유지)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 17:49:44 +09:00
a52321e68d Merge branch 'main' of https://gitea.o2o.kr/Negosium/o2o-negosium 2026-06-18 16:33:16 +09:00
b0b787a8ce cors 문제 해결 . 2026-06-18 16:30:03 +09:00
민헌
16c5fde284 Merge remote-tracking branch 'origin/main' into feature/backend 2026-06-18 14:26:06 +09:00
민헌
dcce82a630 feat(backend): 협상 채팅(chat) API + agent 위임
- /v1/negotiation/sessions/{id}/chat/{init,messages,send} 추가
- agent(9500) 위임 어댑터(IAgentClient) + mock(use_mock) 격리 → agent 미연동 시 1402 graceful degrade
- negotiation.chats 메시지 영속화(meta JSONB) + 종료 시 세션 입찰/거부 확정(단일 트랜잭션)
- 동시전송 가드(유저 메시지 pre-claim/CHAT_IN_PROGRESS) + 실패 시 롤백, 마감/만료 분기, init 만료 정리
- ChatSender enum, chat 에러코드(1400~1403), chats ORM 모델, AgentConfig
- 테스트 10건(test_chat.py), AGENT_INTEGRATION.md 연동 규약 문서

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 14:24:57 +09:00
01e80281d1 [chore] negodata: 데모 시드 데이터 정비
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 11:00:15 +09:00
ece24f4067 [chore] negodata: CORS client_url 예시 + 시드 정비 + README DB 절차 갱신
- config.local.toml.example: client_url 추가(CORS 허용 origin), DB명 negosium_db 정정
- postgres-init: 03-seed.sql → 03-seed-negodata.sql (negodata 전용 시드)
- README: DB 준비 절차(스키마+learning+시드) 갱신
- docker-compose 정비

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 15:59:08 +09:00
951d6eab84 Agent 서버 구축: 멀티테넌트 협상 PoC (UCB Q-Table 학습 + /chat + 14 API + 학습검증 하네스), config 단일화(local.toml) + 빌드 경량화 2026-06-17 11:10:03 +09:00
a6731dcb07 quotation_settings에 user_id 컬럼·인덱스 추가
versions 테이블과 동일하게 quotation.quotation_settings 에 user_id (uuid NOT NULL)
컬럼을 추가하고, 조인/조회용 인덱스 idx_quotation_settings_user_id 를 생성한다.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 13:55:59 +09:00
민헌
e7b4d573a3 DB 스키마 설계: negosium_db 단일 DB + 도메인별 6 schema
- 단일 negosium_db 안에 company/supplier/partner/card/quotation/negotiation 6개 schema 로 18개 테이블 구성
- FK 미사용(앱 레이어 무결성) + 조인/자연키 인덱스 명시 생성
- enum 코드값은 SMALLINT(1부터), 시각 TIMESTAMPTZ(UTC 고정), 금액 BIGINT, 비율 NUMERIC
- chats: session 1:N + (session_id, seq) 부분 유니크
- CREATE DATABASE 는 \gexec 가드로 멱등 처리, 그 외 전부 IF NOT EXISTS

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 10:30:57 +09:00
ebfa7a15bb requirement.dev.txt 삭제 . 2026-06-15 15:58:06 +09:00