주문번호 생성시 앞의 년도를 제외하는 방법에 대해 문의 드립니다.

주문번호 생성시 앞의 년도를 제외하는 방법에 대해 문의 드립니다.

QA

주문번호 생성시 앞의 년도를 제외하는 방법에 대해 문의 드립니다.

답변 1

본문

영카트 주문번호가 아래와 같이 생성되는데

이 주문번호에서 연도에 해당하는 앞에 네숫자또는 두숫자를 제외하고 생성되게끔 하는 방법이 있나요?

 

2021082614150518  -> 082614150518

2021082614150518  -> 21082614150518

 

혹시 이렇게 변경하였을때 기존의 다른 관리자 기능에 영향을 받지는 않을까요?

 

선배님들의 답변 좀 부탁드립니다^^

이 질문에 댓글 쓰기 :

답변 1

* /lib/common.lib.php, get_uniqid() 함수의 다음 구문을 변경하면 됩니다. 

$key = date('YmdHis', time()) . str_pad((int)((float)microtime()*100), 2, "0", STR_PAD_LEFT);

 

* date('Y~' 를 date('y~' 로 변경하면 앞 연도 4자리 -> 2자리가 됩니다.

$key = date('ymdHis', time()) . str_pad((int)((float)microtime()*100), 2, "0", STR_PAD_LEFT);

 

연도를 빼고 싶다면.. y를 빼면 됩니다.

 

* 연도를 빼거나 2자리로 하면.. 중복 가능성이 이전보다는 커집니다만.. 문제될 수준은 아니라고 생각합니다. (해당 로직에서 중복인 경우 0.01초 후 재생성)

(연도를 빼면 월일부분이 매년 반복되기 때문에 이전보다 중복 가능성이 커지고, 연도를 2자리로 빼면 100년마다 년월일부분이 같게 됩니다만.. 규모가 엄청 큰 쇼핑몰이 아니라면.. 크게 신경쓰지 않아도 될 듯 합니다.)

 

* 다른 부분에 영향이 있는지는 잘 알지 못합니다.

예상으로는, 없을 듯 합니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,284
© SIRSOFT
현재 페이지 제일 처음으로