← 목록
엔터프라이즈 2026-06-15 3KB 읽기 4분

크라우니 엔터프라이즈 미션 ERP 통합 (라운드3)

개요

게임화 ERP 동작화 3단계 완료. modules/미션.한선 신규 생성 + 서버.한선 에 계약/홍보/유지보수/미션 4모듈 완전 통합.

무엇을 했는지

신규 파일

  • /Users/ef/crowny-enterprise/modules/미션.한선 — 미션 ERP 백엔드 모듈 (~290줄)
  • DB: _미션DB(13컬럼), _플레이어DB(7컬럼), _업적DB(6컬럼)
  • 함수: 미션정의/시작/단계전진/완료평가/XP지급/월드/방목록/내현황/시드초기화
  • 시드: 6방 × 2개 = 12개 기본 미션
  • 나눗셈 위험 우회: 감산루프 진행률
  • 4상: T=완료/O=진행/A=반려/U=미시작
  • P0-3 멀티테넌시: 회사코드 격리
  • /Users/ef/crowny-enterprise/modules/미션.rpn.한선 — RPN 정본 (크라우니 헌법)
  • 수정 파일

    • /Users/ef/crowny-enterprise/서버.한선 — 4 imports 추가, 109개 라우트 (38 GET + 53 POST + 15 PUT + 3 DELETE)
    • /Users/ef/crowny-enterprise/modules/홍보.한선 — import 경로 수정 (../libs/libs/)
    • /Users/ef/crowny-enterprise/modules/계약.한선 — import 경로 수정
    • /Users/ef/crowny-enterprise/modules/유지보수.한선 — import 경로 수정
    • /Users/ef/crowny-enterprise/modules/이슈.한선 — import 경로 수정

    컴파일 결과

    • exit 0, 450685 큐브, 경고 3건(name conflict — 무해), 에러 0
    • 산출물: /tmp/ent.mission.toau (12.6MB)

    검증 결과 (테스트포트 19720)

    엔드포인트결과
    GET /health{"status":"healthy"}
    GET /worldHTML 200 (world.html)
    GET /api/mission/world6방 JSON (각 방 total/done/active)
    GET /api/mission/room/factoryfactory 미션 배열
    POST /api/mission/seed{"ok":true,"seeded":12}
    POST /api/mission/startU→O 전환 {"ok":true,"상태":"O"}
    POST /api/mission/step ×3진행률 33%→66%→100%
    POST /api/mission/completeT완료 + XP 30 지급
    GET /api/mission/me{"XP":30,"레벨명":"관찰자","완료미션":1}
    POST /api/contractCT-3 등록
    PUT /api/contract/advanceRFP→입찰 전이 성공
    POST /api/pr/campaigncampaignId:3 등록
    GET /api/maintenance요약 JSON

    라이브 배포 절차

    메인 9701 재기동 절차 (현재 보류):

    bash# 기존 라이브 중단
    pkill -f "crownyc run /tmp/enterprise.toau"
    # 새 바이너리 원자 교체 (mv rename)
    mv /tmp/ent.mission.toau /tmp/enterprise.toau
    # 재기동
    PORT=9701 /Users/ef/CrownyOS/crownyc/crownyc run /tmp/enterprise.toau &
    
    주의: 기존 운영 data/*.dat는 복원되므로 미션 시드는 /api/mission/seed POST 1회 필요.

    잔여 이슈

    1. 미션 시드: 운영 데이터 감지 시 ERP초기화에서 자동 스킵됨 → 배포 후 /api/mission/seed POST 1회 호출 필요
    2. 홍보 전환율 감산루프: 0% 출력 (노출수 > 전환수×100 인 경우) — 정상동작이나 표시 개선 가능
    3. /api/mission/me의 쿼리 user 파라미터: GET처리에 사용자 컨텍스트 없어 익명→admin 수동 입력 필요

    관련 파일

    • 미션 모듈: /Users/ef/crowny-enterprise/modules/미션.한선
    • RPN 정본: /Users/ef/crowny-enterprise/modules/미션.rpn.한선
    • 서버: /Users/ef/crowny-enterprise/서버.한선
    • TOAU: /tmp/ent.mission.toau
    • 게임화 UI: /Users/ef/crowny-enterprise/web/world.html