/*
 * MM_MERCH_REG.pgc - mm 모듈 서비스 MM_MERCH_REG (one service = one file).
 * 기능: 가맹점 확장 마스터 등록 (dbio upsert + 이력).
 * 기존 인라인 mm_svr.pgc에서 분리; caller의 XA 브랜치에서 실행(EXEC SQL CONNECT 없음).
 * mm_svr가 tpsvrinit에서 이 서비스를 tpadvertise 한다.
 */
#include "MM_MERCH_REG.h"

void MM_MERCH_REG(TPSVCINFO *p)
{
    UBFH *b = (UBFH *)p->data;
    char merch[64], name[128], grade[8], acct[64];

    gets_(b, T_MERCHANT, merch, sizeof(merch));
    if (merch[0] == 0) { userlog("MM_MERCH_REG: T_MERCHANT 누락"); FAIL(b); }
    gets_(b, T_STR1, name, sizeof(name));   if (name[0] == 0) strcpy(name, "무명가맹점");
    gets_(b, T_STR2, grade, sizeof(grade)); if (grade[0] == 0) strcpy(grade, "C");
    gets_(b, T_STR3, acct, sizeof(acct));

    if (mmdb_insert_merchant(merch, name, grade, acct, "ACTIVE") < 0) FAIL(b);
    if (mmdb_insert_merch_hist(merch, "REG", "", grade, "신규 등록") < 0) FAIL(b);

    Bchg(b, T_STATUS, 0, "ACTIVE", 0L);
    userlog("MM_MERCH_REG merch=%s grade=%s 등록", merch, grade);
    OK(b);
}
