웹마스터 팁

누리고 쇼핑몰에서 물건을 주문하면서 마일리지를 사용하면 주문즉시 마일리지가 차감됩니다.


그런데, 상품을 취소하거나 반품시에는 사용한 마일리지가 다시 돌아가야 하는데


이게 안되어서 일일이 마일리지를 수동으로 조정해야 합니다.


이게 은근 귀찮아요.. ㅎㅎ


이걸 해결하려면


nstore - nstore.controller.php


에서


updateorderstatus() 부분을 수정해주시면 됩니다


// if the order is completed, give mileage to the member.
		if ($in_args->order_status==nstore::ORDER_STATE_COMPLETE)
		{
			$order_info = $oNstoreModel->getOrderInfo($order_srl);
			//debugprint($order_info);
			if ($order_info->member_srl && $order_info->mileage && $order_info->mileage_save=='N')
			{
				$oNmileageController = &getController('nmileage');
				$oNmileageController->plusMileage($order_info->member_srl, $order_info->mileage, $order_info->title, $order_srl);
				$args->mileage_save = 'Y';
			}

			if ($order_info->item_list)
			{
				foreach ($order_info->item_list as $key=>$item)
				{
					$item_srl = $item->item_srl;
					$quantity = $item->quantity;
					$this->updateSalesCount($item_srl, $quantity);
				}
			}
		}


이 코드가 주문완료시에 마일리지를 적립하는 코드인데요

여기 바로 아래 취소 혹은 반품 할 코드를 넣어줍니다.


여기서 중요한것은 

-취소:  물건을 배송하지 않았을 경우라고 보는것이고

-반품:  물건을 배송후에 취소하는 것이라고 보는것입니다.


그래서 취소는 사용한 마일리지만 돌려주고, 반품은 사용한 마일리지를 돌려주고, 적립된 마일리지를 차감하는 코드로 넣었습니다.


	if ($in_args->order_status=="A")
		{
//취소
			$order_info = $oNstoreModel->getOrderInfo($order_srl);
			if ($order_info->member_srl && $order_info->use_mileage && $order_info->mileage_save=='N')
			{
				$oNmileageController = &getController('nmileage');
				$oNmileageController->plusMileage($order_info->member_srl, $order_info->use_mileage, $order_info->title, $order_srl);
				$args->mileage_save = 'Y';
			}


			if ($order_info->item_list)
			{
				foreach ($order_info->item_list as $key=>$item)
				{
					$item_srl = $item->item_srl;
					$quantity = $item->quantity;
					$this->updateSalesCount($item_srl, $quantity);
				}
			}
		}

		if ($in_args->order_status=="B")
		{

		//반품을 할경우
			$order_info = $oNstoreModel->getOrderInfo($order_srl);
			if ($order_info->member_srl && $order_info->use_mileage && $order_info->mileage_save=='N')
			{
				$oNmileageController = &getController('nmileage');
				$oNmileageController->plusMileage($order_info->member_srl, $order_info->use_mileage, $order_info->title, $order_srl);
				$args->mileage_save = 'Y';
			}
			if ($order_info->member_srl && $order_info->mileage && $order_info->mileage_save=='N')
			{
				$oNmileageController = &getController('nmileage');
				$oNmileageController->minusMileage($order_info->member_srl, $order_info->mileage, $order_info->title, $order_srl);
				$args->mileage_save = 'Y';
			}

			if ($order_info->item_list)
			{
				foreach ($order_info->item_list as $key=>$item)
				{
					$item_srl = $item->item_srl;
					$quantity = $item->quantity;
					$this->updateSalesCount($item_srl, $quantity);
				}
			}
		}

제목 글쓴이 날짜
프리 반응형 템플릿(html/css/js) 다운받을 수 있는 곳 [1] jhsongsh 2014.10.28
즐겨찾기 소스 - 파비콘등록 soroweb 2015.04.16
누리고 쇼핑몰 상품취소 혹은 반품시 마일리지 자동회복하기 [6] garnecia 2015.01.21
확장변수에 시분초 추가하기 [1] file 해떨 2015.04.15
JS로 IE 6,7,8 구분하기 [4] 키스투엑스이 2015.04.14
|웹폰트(네이버 맑은 고딕, 나눔고딕) 적용하기 [1] 다큰왕자 2014.03.18
나눔고딕 웹 폰트 적용하기. [10] 정찬명 2011.12.15
에디터에서 URL 클릭시 "http://" 삭제하는 방법 [2] 콜롬보. 2015.03.13
통합검색 사용 가부 설정 및 특정 그룹만 사용가능하게 제한 설정 기능 추가 - 보안이슈가 될 수 있는 부분 [1] sejin7940 2015.04.10
요청한 기능을 실행할 수 있는 권한이 없습니다. - 오류해결 file I-JEX 2015.04.10
댓글 새로고침 수정 [22] Lansi 2013.09.06
메인 로고 및 메인 이미지 변경 방법 [1] file okcashbag042 2015.04.08
웹 재요청 방지 및 트래픽 감소를 위한 방법 마루디자인 2015.04.06
setModule() 오류 발생시 qkrcjfgus33 2015.04.04
ie11에서 통합검색시 page가 바뀌면 검색키워드가 없어지거나 이상한 글자로 바뀌는 것에 대한 팁 garnecia 2015.04.03
[고급] 내 XE 모듈에 editor 삽입하기 [8] 개발해보쟈 2013.01.22
스케치북게시판 최신버전에 네이트온 /마이피플/플립보드 추가하는 방법 [4] file 가을풍경 2015.03.09
로고 만들기 귀찮을때^^* [1] 수백 2015.03.06
[스케치북5] 댓글 수정 간략화하기.. (새로고침 없이 하는 방법 추가) [16] file XE만세 2014.01.05
php 5.6에서 인증메일 SMTP 연결에 실패할때.. file 루비스코 2015.03.31