|
|
@@ -5,10 +5,8 @@ import java.util.Collection;
|
|
|
import java.util.List;
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.core.env.Environment;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
-import org.springframework.web.bind.annotation.PathVariable;
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
@@ -16,26 +14,28 @@ import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
|
|
import com.gagaframework.web.parameter.GagaMap;
|
|
|
+import com.gagaframework.web.rest.server.GagaResponse;
|
|
|
import com.gagaframework.web.rest.server.GagaResponseStatus;
|
|
|
import com.style24.core.biz.service.TscCustomerService;
|
|
|
-import com.style24.core.biz.service.TscFreegiftService;
|
|
|
import com.style24.core.biz.service.TscOrderChangeService;
|
|
|
import com.style24.core.biz.service.TscOrderRefundService;
|
|
|
import com.style24.core.biz.service.TscOrderService;
|
|
|
+import com.style24.core.biz.service.TscWmsService;
|
|
|
import com.style24.core.support.env.TscConstants;
|
|
|
import com.style24.core.support.message.TscMessageByLocale;
|
|
|
import com.style24.front.biz.service.TsfCartService;
|
|
|
-import com.style24.front.biz.service.TsfCustomerService;
|
|
|
+import com.style24.front.biz.service.TsfCommonService;
|
|
|
import com.style24.front.biz.service.TsfGiftcardService;
|
|
|
import com.style24.front.biz.service.TsfOrderChangeService;
|
|
|
import com.style24.front.biz.service.TsfOrderService;
|
|
|
import com.style24.front.biz.service.TsfRendererService;
|
|
|
-import com.style24.front.biz.thirdparty.NiceCertify;
|
|
|
import com.style24.front.support.controller.TsfBaseController;
|
|
|
import com.style24.front.support.security.session.TsfSession;
|
|
|
import com.style24.persistence.TscPageRequest;
|
|
|
+import com.style24.persistence.domain.Cart;
|
|
|
import com.style24.persistence.domain.Customer;
|
|
|
import com.style24.persistence.domain.Order;
|
|
|
+import com.style24.persistence.domain.OrderChange;
|
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
@@ -59,21 +59,9 @@ public class TsfNoMemberController extends TsfBaseController {
|
|
|
@Autowired
|
|
|
private TsfOrderService orderService;
|
|
|
|
|
|
- @Autowired
|
|
|
- private TscFreegiftService coreFreegiftService;
|
|
|
-
|
|
|
@Autowired
|
|
|
private TsfCartService cartService;
|
|
|
|
|
|
- @Autowired
|
|
|
- private Environment env;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private NiceCertify niceCertify;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private TsfCustomerService customerService;
|
|
|
-
|
|
|
@Autowired
|
|
|
private TscCustomerService coreCustomerService;
|
|
|
|
|
|
@@ -92,8 +80,14 @@ public class TsfNoMemberController extends TsfBaseController {
|
|
|
@Autowired
|
|
|
private TsfGiftcardService giftcardService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private TsfCommonService commonService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TscWmsService coreWmsService;
|
|
|
+
|
|
|
/**
|
|
|
- * 마이페이지 메인 화면
|
|
|
+ * 비회원 주문 내역
|
|
|
*
|
|
|
* @param Order(ordNm, ordPhnno, ordNo)
|
|
|
* @return ModelAndView
|
|
|
@@ -103,6 +97,11 @@ public class TsfNoMemberController extends TsfBaseController {
|
|
|
@PostMapping("/order/list/form")
|
|
|
public ModelAndView noMemberOrderListForm(Order order) {
|
|
|
ModelAndView mav = new ModelAndView();
|
|
|
+
|
|
|
+ // 핸드폰번호 하이픈 처리
|
|
|
+ if (!order.getOrdPhnno().contains("-")) {
|
|
|
+ order.setOrdPhnno(order.getOrdPhnno().replaceAll("(\\d{3})(\\d{3,4})(\\d{4})", "$1-$2-$3"));
|
|
|
+ }
|
|
|
|
|
|
// 비회원 정보 설정
|
|
|
mav.addObject("ordNo", order.getOrdNo());
|
|
|
@@ -125,44 +124,30 @@ public class TsfNoMemberController extends TsfBaseController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 마이페이지 주문상세 화면
|
|
|
- *
|
|
|
- * @return
|
|
|
+ * 비회원 주문상세 화면
|
|
|
+ *
|
|
|
+ * @param Order
|
|
|
+ * @return ModelAndView
|
|
|
* @author card007
|
|
|
- * @since 2021. 02. 15
|
|
|
+ * @since 2021. 04. 28
|
|
|
*/
|
|
|
- @GetMapping({"/order/detail/form/{ordNo}"})
|
|
|
- public ModelAndView mypageOrderDetailForm(@PathVariable(value = "ordNo") int ordNo) {
|
|
|
+ @PostMapping("/order/detail/form")
|
|
|
+ public ModelAndView noMemberOrderDetailForm(Order order) {
|
|
|
ModelAndView mav = new ModelAndView();
|
|
|
|
|
|
- // 고객번호 설정
|
|
|
- int custNo = TsfSession.getInfo().getCustNo();
|
|
|
- mav.addObject("custNo", custNo);
|
|
|
-
|
|
|
- // 고객정보 조회
|
|
|
- Customer customer = new Customer();
|
|
|
- customer.setSiteCd(TscConstants.Site.STYLE24.value());
|
|
|
- customer.setCustNo(custNo);
|
|
|
- customer.setCustStat(TscConstants.CustStat.ACTIVE.value());
|
|
|
- customer = coreCustomerService.getCustomerInfo(customer);
|
|
|
-
|
|
|
- mav.addObject("customerInfo", customer);
|
|
|
-
|
|
|
// 로그인여부 설정
|
|
|
- mav.addObject("isLogin", TsfSession.isLogin());
|
|
|
+ mav.addObject("isLogin", false);
|
|
|
|
|
|
// 주문번호 설정
|
|
|
- mav.addObject("ordNo", ordNo);
|
|
|
-
|
|
|
- Order order = new Order();
|
|
|
- order.setCustNo(custNo);
|
|
|
- order.setOrdNo(ordNo);
|
|
|
+ mav.addObject("ordNo", order.getOrdNo());
|
|
|
+ mav.addObject("ordNm", order.getOrdNm());
|
|
|
+ mav.addObject("ordPhnno", order.getOrdPhnno());
|
|
|
|
|
|
// 주문목록 조회
|
|
|
Collection<GagaMap> orderList = orderService.getOrderListForMypage(order);
|
|
|
|
|
|
if (orderList.size() == 0) {
|
|
|
- mav.setViewName("redirect:/mypage/order/list/form");
|
|
|
+ mav.setViewName("redirect:/noMember/order/list/form");
|
|
|
return mav;
|
|
|
}
|
|
|
|
|
|
@@ -185,18 +170,18 @@ public class TsfNoMemberController extends TsfBaseController {
|
|
|
// 상품권 현금영수증 신청 정보 조회
|
|
|
mav.addObject("cashReceiptsInfo", giftcardService.getCashReceiptsRequestInfo(order));
|
|
|
|
|
|
- mav.setViewName(super.getDeviceViewName("mypage/MypageOrderDetailForm"));
|
|
|
+ mav.setViewName(super.getDeviceViewName("mypage/NoMemberOrderDetailForm"));
|
|
|
|
|
|
return mav;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 마이페이지 주문목록 조회
|
|
|
- *
|
|
|
+ * 비회원 주문목록 조회
|
|
|
+ *
|
|
|
* @param Order
|
|
|
- * @return ModelAndView
|
|
|
+ * @return GagaMap
|
|
|
* @author card007
|
|
|
- * @since 2021. 02. 18
|
|
|
+ * @since 2021. 04. 28
|
|
|
*/
|
|
|
@PostMapping("/order/list")
|
|
|
@ResponseBody
|
|
|
@@ -226,19 +211,18 @@ public class TsfNoMemberController extends TsfBaseController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 마이페이지 주문상세 주문내역 삭제
|
|
|
- *
|
|
|
- * @return
|
|
|
+ * 비회원 주문상세 주문내역 삭제
|
|
|
+ *
|
|
|
+ * @param Order
|
|
|
+ * @return GagaMap
|
|
|
* @author card007
|
|
|
- * @since 2021. 02. 15
|
|
|
+ * @since 2021. 04. 28
|
|
|
*/
|
|
|
@PostMapping("/order/delete")
|
|
|
@ResponseBody
|
|
|
public GagaMap deleteOrder(@RequestBody Order order) {
|
|
|
GagaMap result = new GagaMap();
|
|
|
|
|
|
- // 고객번호 설정
|
|
|
-
|
|
|
// 주문내역 삭제 처리
|
|
|
order.setUpdNo(0);
|
|
|
int chk = orderService.updateOrderDisplayYn(order);
|
|
|
@@ -253,4 +237,774 @@ public class TsfNoMemberController extends TsfBaseController {
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 비회원 반품신청 환불금액 계산
|
|
|
+ *
|
|
|
+ * @param OrderChange
|
|
|
+ * @return GagaMap
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 04. 28
|
|
|
+ */
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
+ @PostMapping("/cancel/refund/amt/calculate")
|
|
|
+ @ResponseBody
|
|
|
+ public GagaMap calculateRefundAmt(@RequestBody OrderChange orderChange) {
|
|
|
+ if (orderChange == null) {
|
|
|
+ throw new IllegalStateException(message.getMessage("FAIL_1001"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 2. 환불 사전 정보 조회
|
|
|
+ GagaMap refundPreInfo = coreOrderChangeService.getRefundPreInfo(orderChange);
|
|
|
+ List<Order> cnclReqList = (List<Order>)refundPreInfo.get("cnclReqList");
|
|
|
+
|
|
|
+ return coreOrderRefundService.cnclRtnRefundAmt(cnclReqList);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 비회원 배송지 정보 수정
|
|
|
+ *
|
|
|
+ * @param Order
|
|
|
+ * @return GagaMap
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 04. 28
|
|
|
+ */
|
|
|
+ @PostMapping("/change/delvery/addr")
|
|
|
+ @ResponseBody
|
|
|
+ public GagaMap changeDelveryAddr(@RequestBody Order order) {
|
|
|
+ GagaMap result = new GagaMap();
|
|
|
+ result.set("status", GagaResponseStatus.SUCCESS.getCode());
|
|
|
+ result.set("message", message.getMessage("DELV_0001"));
|
|
|
+
|
|
|
+ try {
|
|
|
+ order.setCustNo(0);
|
|
|
+ commonService.updateDeliverAddr(order);
|
|
|
+ commonService.updateDeliverAddrDelvMemo(order);
|
|
|
+
|
|
|
+ // TODO
|
|
|
+ // WMS IF TABLE 내 정보 업데이트 처리 필요
|
|
|
+ } catch (Exception e) {
|
|
|
+ result.set("status", GagaResponseStatus.FAIL.getCode());
|
|
|
+ result.set("message", message.getMessage("FAIL_0002"));
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 비회원 배송 메모 수정
|
|
|
+ *
|
|
|
+ * @param Order
|
|
|
+ * @return GagaMap
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 04. 28
|
|
|
+ */
|
|
|
+ @PostMapping("/change/delvery/memo")
|
|
|
+ @ResponseBody
|
|
|
+ public GagaMap changeDelveryAddrDelvMemo(@RequestBody Order order) {
|
|
|
+ GagaMap result = new GagaMap();
|
|
|
+ result.set("status", GagaResponseStatus.SUCCESS.getCode());
|
|
|
+ result.set("message", message.getMessage("DELV_0002"));
|
|
|
+
|
|
|
+ order.setCustNo(0);
|
|
|
+
|
|
|
+ try {
|
|
|
+ commonService.updateDeliverAddrDelvMemo(order);
|
|
|
+ } catch (Exception e) {
|
|
|
+ result.set("status", GagaResponseStatus.FAIL.getCode());
|
|
|
+ result.set("message", message.getMessage("FAIL_0002"));
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 비회원 회수지 정보 수정
|
|
|
+ *
|
|
|
+ * @param OrderChange
|
|
|
+ * @return GagaMap
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 04. 28
|
|
|
+ */
|
|
|
+ @PostMapping("/change/chger/addr")
|
|
|
+ @ResponseBody
|
|
|
+ public GagaMap changeChgerAddr(@RequestBody OrderChange orderChange) {
|
|
|
+ GagaMap result = new GagaMap();
|
|
|
+ result.set("status", GagaResponseStatus.SUCCESS.getCode());
|
|
|
+ result.set("message", message.getMessage("DELV_0003"));
|
|
|
+
|
|
|
+ try {
|
|
|
+ orderChange.setUpdNo(0);
|
|
|
+ orderChangeService.updateChgerAddr(orderChange);
|
|
|
+
|
|
|
+ // TODO
|
|
|
+ // WMS IF TABLE 내 정보 업데이트 처리 필요
|
|
|
+ } catch (Exception e) {
|
|
|
+ result.set("status", GagaResponseStatus.FAIL.getCode());
|
|
|
+ result.set("message", message.getMessage("FAIL_0002"));
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 비회원 반품메모 수정
|
|
|
+ *
|
|
|
+ * @param Order
|
|
|
+ * @return GagaMap
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 04. 13
|
|
|
+ */
|
|
|
+ @PostMapping("/change/chger/rtn/memo")
|
|
|
+ @ResponseBody
|
|
|
+ public GagaMap changeChgerRtnMemo(@RequestBody OrderChange orderChange) {
|
|
|
+ GagaMap result = new GagaMap();
|
|
|
+ result.set("status", GagaResponseStatus.SUCCESS.getCode());
|
|
|
+ result.set("message", message.getMessage("DELV_0004"));
|
|
|
+
|
|
|
+ try {
|
|
|
+ orderChange.setUpdNo(0);
|
|
|
+ orderChangeService.updateChgerRtnMemo(orderChange);
|
|
|
+
|
|
|
+ // TODO
|
|
|
+ // WMS IF TABLE 내 정보 업데이트 처리 필요
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new IllegalStateException(message.getMessage("FAIL_0002"));
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 비회원 취소신청 화면
|
|
|
+ *
|
|
|
+ * @param Order
|
|
|
+ * @return ModelAndView
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 04. 28
|
|
|
+ */
|
|
|
+ @PostMapping("/cancel/form")
|
|
|
+ @ResponseBody
|
|
|
+ public ModelAndView noMemberCancelForm(Order order) {
|
|
|
+ ModelAndView mav = new ModelAndView();
|
|
|
+
|
|
|
+ // 취소 가능 리스트 조회
|
|
|
+ GagaMap map = orderChangeService.getCancelListForMypage(order);
|
|
|
+ Order oneData = (Order)map.get("oneData");
|
|
|
+ mav.addObject("cancelList", map);
|
|
|
+ mav.addObject("oneData", oneData);
|
|
|
+
|
|
|
+ // 주문 결제정보 조회
|
|
|
+ mav.addObject("paymentInfo", orderService.getPaymentInfoForMypage(order));
|
|
|
+
|
|
|
+ mav.setViewName(super.getDeviceViewName("/mypage/NoMemberCancelForm"));
|
|
|
+
|
|
|
+ return mav;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 마이페이지 취소신청
|
|
|
+ *
|
|
|
+ * @param Collection<Order>
|
|
|
+ * @return GagaMap
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 03. 22
|
|
|
+ */
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
+ @PostMapping("/cancel")
|
|
|
+ @ResponseBody
|
|
|
+ public GagaMap cancel(@RequestBody OrderChange orderChange) {
|
|
|
+ if (orderChange == null) {
|
|
|
+ throw new IllegalStateException(message.getMessage("FAIL_1001"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 1. 취소완료 처리
|
|
|
+ orderChange.setCustNo(0);
|
|
|
+ GagaMap result = coreOrderChangeService.orderCancelPreInfo(orderChange, 0);
|
|
|
+
|
|
|
+ // TODO
|
|
|
+ // 취소 완료 알림톡 발송 에정
|
|
|
+
|
|
|
+ result.set("status", GagaResponseStatus.SUCCESS.getCode());
|
|
|
+ result.set("message", message.getMessage("CANCEL_0001"));
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 마이페이지 장바구니 관련 정보 조회
|
|
|
+ *
|
|
|
+ * @param Cart
|
|
|
+ * @return Collecion<Cart>
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 03. 26
|
|
|
+ */
|
|
|
+ @PostMapping("/cart/add/info")
|
|
|
+ @ResponseBody
|
|
|
+ public Collection<Cart> getAddCartInfo(@RequestBody Cart cart) {
|
|
|
+ return cartService.getAddCartInfoForMypage(cart);
|
|
|
+ }
|
|
|
+
|
|
|
+ // ================================== 아직 처리 안함 =====================================
|
|
|
+ /**
|
|
|
+ * 마이페이지 교환신청 화면
|
|
|
+ *
|
|
|
+ * @param Order
|
|
|
+ * @return ModelAndView
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 02. 22
|
|
|
+ */
|
|
|
+ @PostMapping("/exchange/form")
|
|
|
+ @ResponseBody
|
|
|
+ public ModelAndView exchangeForm(Order order) {
|
|
|
+ ModelAndView mav = new ModelAndView();
|
|
|
+
|
|
|
+ // 주문번호 설정
|
|
|
+ mav.addObject("ordNo", order.getOrdNo());
|
|
|
+
|
|
|
+ // 고객번호 설정
|
|
|
+ int custNo = TsfSession.getInfo().getCustNo();
|
|
|
+ order.setCustNo(custNo);
|
|
|
+ mav.addObject("custNo", custNo);
|
|
|
+
|
|
|
+ // 고객정보 조회
|
|
|
+ Customer customer = new Customer();
|
|
|
+ customer.setSiteCd(TscConstants.Site.STYLE24.value());
|
|
|
+ customer.setCustNo(custNo);
|
|
|
+ customer.setCustStat(TscConstants.CustStat.ACTIVE.value());
|
|
|
+ customer = coreCustomerService.getCustomerInfo(customer);
|
|
|
+
|
|
|
+ mav.addObject("customerInfo", customer);
|
|
|
+
|
|
|
+ // 로그인여부 설정
|
|
|
+ mav.addObject("isLogin", TsfSession.isLogin());
|
|
|
+
|
|
|
+ // 교환 가능 리스트 조회
|
|
|
+ GagaMap map = orderChangeService.getReturnListForMypage(order);
|
|
|
+ Order oneData = (Order)map.get("oneData");
|
|
|
+ mav.addObject("exchangeList", map);
|
|
|
+ mav.addObject("oneData", oneData);
|
|
|
+
|
|
|
+ // 주문 배송지 정보 조회
|
|
|
+ mav.addObject("deliveryAddrInfo", orderService.getOrderDeliveryAddrInfo(order));
|
|
|
+
|
|
|
+ // 교환 사유 목록 조회
|
|
|
+ mav.addObject("exchangeReason", rendererService.getCommonCodeList("G689", "Y"));
|
|
|
+
|
|
|
+ mav.setViewName(super.getDeviceViewName("/mypage/MypageExchangeForm"));
|
|
|
+
|
|
|
+ return mav;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 마이페이지 교환 옵션 변경 팝업
|
|
|
+ *
|
|
|
+ * @param Order
|
|
|
+ * @return ModelAndView
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 03. 30
|
|
|
+ */
|
|
|
+ @PostMapping("/change/option/popup/form")
|
|
|
+ @ResponseBody
|
|
|
+ public ModelAndView changeOptionPopupForm(OrderChange orderChange) {
|
|
|
+ ModelAndView mav = new ModelAndView();
|
|
|
+
|
|
|
+ // custNo 설정
|
|
|
+ if (TsfSession.isLogin()) {
|
|
|
+ orderChange.setCustNo(TsfSession.getInfo().getCustNo());
|
|
|
+ } else {
|
|
|
+ orderChange.setCustNo(0);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 교환 옵션 정보 조회
|
|
|
+ Collection<OrderChange> exchangeOptionInfo = orderChangeService.getExchangeOptionInfo(orderChange);
|
|
|
+ mav.addObject("exchangeOptionInfo", exchangeOptionInfo);
|
|
|
+ mav.addObject("oneData", exchangeOptionInfo.iterator().next());
|
|
|
+ mav.addObject("ordDtlNo", orderChange.getOrdDtlNo());
|
|
|
+ mav.addObject("chgQty", orderChange.getChgQty());
|
|
|
+
|
|
|
+ mav.setViewName(super.getDeviceViewName("mypage/ChangeOptionPopupForm"));
|
|
|
+
|
|
|
+ return mav;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 교환신청
|
|
|
+ *
|
|
|
+ * @param OrderChange
|
|
|
+ * @return GagaMap
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 04. 06
|
|
|
+ */
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
+ @PostMapping("/exchange")
|
|
|
+ @ResponseBody
|
|
|
+ public GagaMap excReq(@RequestBody OrderChange orderChange) {
|
|
|
+ GagaMap result = new GagaMap();
|
|
|
+
|
|
|
+ // 교환요청 데이터 확인
|
|
|
+ if (orderChange == null) {
|
|
|
+ result.set("status", GagaResponseStatus.FAIL.getCode());
|
|
|
+ result.set("message", message.getMessage("FAIL_1001"));
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 세션 고객번호 설정
|
|
|
+ int custNo = TsfSession.getInfo().getCustNo();
|
|
|
+ orderChange.setUpdNo(custNo);
|
|
|
+ orderChange.setRegNo(custNo);
|
|
|
+
|
|
|
+ // 교환처리
|
|
|
+ result = coreOrderChangeService.exchReq(orderChange);
|
|
|
+
|
|
|
+ // 처리 결과 코드에 따른 메세지 설정
|
|
|
+ if (result.get("status").equals(GagaResponseStatus.SUCCESS.getCode())) {
|
|
|
+ if (orderChange.getAddPayCost() == 0) {
|
|
|
+ result.set("message", message.getMessage("EXCHANGE_0001"));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ result.set("message", message.getMessage("FAIL_0004"));
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 교환요청철회
|
|
|
+ *
|
|
|
+ * @param OrderChange
|
|
|
+ * @return GagaResponse
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 04. 20
|
|
|
+ */
|
|
|
+ @PostMapping("/exchange/cancel")
|
|
|
+ @ResponseBody
|
|
|
+ public GagaResponse exchangeRequestCancel(@RequestBody OrderChange orderChange) {
|
|
|
+
|
|
|
+ if (orderChange== null) {
|
|
|
+ throw new IllegalStateException(message.getMessage("FAIL_1001"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 1. 교환요청철회 정보 설정
|
|
|
+ int custNo = TsfSession.isLogin() ? TsfSession.getInfo().getCustNo() : 0;
|
|
|
+ orderChange.setCustNo(custNo);
|
|
|
+ orderChange.setRegNo(custNo);
|
|
|
+ orderChange.setUpdNo(custNo);
|
|
|
+
|
|
|
+ String ipAddress = TsfSession.getIpAddress();
|
|
|
+ orderChange.setIpAddress(ipAddress);
|
|
|
+
|
|
|
+ // 2.교환요청철회
|
|
|
+ coreOrderChangeService.exchangeCancel(orderChange);
|
|
|
+
|
|
|
+ return super.ok(message.getMessage("EXCHANGE_0002"));
|
|
|
+ // return super.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 마이페이지 상태별 수량 조회
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 02. 25
|
|
|
+ */
|
|
|
+ @PostMapping("/status/count")
|
|
|
+ @ResponseBody
|
|
|
+ public GagaMap fnReloadStatusCount() {
|
|
|
+ GagaMap result = new GagaMap();
|
|
|
+
|
|
|
+ // 쿠폰정보 조회
|
|
|
+ Order order = new Order();
|
|
|
+ order.setCustNo(TsfSession.getInfo().getCustNo());
|
|
|
+ result.set("orderCount", coreOrderService.getOrderStatCount(order));
|
|
|
+
|
|
|
+ result.set("status", GagaResponseStatus.SUCCESS.getCode());
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 마이페이지 반품신청 화면
|
|
|
+ *
|
|
|
+ * @param Order
|
|
|
+ * @return ModelAndView
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 02. 25
|
|
|
+ */
|
|
|
+ @PostMapping("/return/form")
|
|
|
+ @ResponseBody
|
|
|
+ public ModelAndView returnForm(Order order) {
|
|
|
+ ModelAndView mav = new ModelAndView();
|
|
|
+
|
|
|
+ // 주문번호 설정
|
|
|
+ mav.addObject("ordNo", order.getOrdNo());
|
|
|
+
|
|
|
+ // 고객번호 설정
|
|
|
+ int custNo = TsfSession.getInfo().getCustNo();
|
|
|
+ order.setCustNo(custNo);
|
|
|
+ mav.addObject("custNo", custNo);
|
|
|
+
|
|
|
+ // 고객정보 조회
|
|
|
+ Customer customer = new Customer();
|
|
|
+ customer.setSiteCd(TscConstants.Site.STYLE24.value());
|
|
|
+ customer.setCustNo(custNo);
|
|
|
+ customer.setCustStat(TscConstants.CustStat.ACTIVE.value());
|
|
|
+ customer = coreCustomerService.getCustomerInfo(customer);
|
|
|
+
|
|
|
+ mav.addObject("customerInfo", customer);
|
|
|
+
|
|
|
+ // 로그인여부 설정
|
|
|
+ mav.addObject("isLogin", TsfSession.isLogin());
|
|
|
+
|
|
|
+ // 반품 가능 리스트 조회
|
|
|
+ GagaMap map = orderChangeService.getReturnListForMypage(order);
|
|
|
+ Order oneData = (Order)map.get("oneData");
|
|
|
+ mav.addObject("returnList", map);
|
|
|
+ mav.addObject("oneData", oneData);
|
|
|
+
|
|
|
+ // 주문 결제정보 조회
|
|
|
+ mav.addObject("paymentInfo", orderService.getPaymentInfoForMypage(order));
|
|
|
+
|
|
|
+ // 주문 배송지 정보 조회
|
|
|
+ mav.addObject("deliveryAddrInfo", orderService.getOrderDeliveryAddrInfo(order));
|
|
|
+
|
|
|
+ // 반품 사유 목록 조회
|
|
|
+ mav.addObject("returnReason", rendererService.getCommonCodeList("G688", "Y"));
|
|
|
+
|
|
|
+ mav.setViewName(super.getDeviceViewName("/mypage/MypageReturnForm"));
|
|
|
+
|
|
|
+ return mav;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 반품신청
|
|
|
+ *
|
|
|
+ * @param OrderChange
|
|
|
+ * @return GagaMap
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 03. 30
|
|
|
+ */
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
+ @PostMapping("/return")
|
|
|
+ @ResponseBody
|
|
|
+ public GagaMap rtnReq(@RequestBody OrderChange orderChange) {
|
|
|
+ if (orderChange == null) {
|
|
|
+ throw new IllegalStateException(message.getMessage("FAIL_1001"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // TODO
|
|
|
+ // @ 주문취소시 상태값 체크
|
|
|
+ // @ 취소, 반품시 배송비 체크 로직 (선결제 로직)
|
|
|
+
|
|
|
+ // 1. 세션회원조회
|
|
|
+ int custNo = TsfSession.getInfo().getCustNo();
|
|
|
+ orderChange.setCustNo(custNo);
|
|
|
+
|
|
|
+ // 2. 환불 사전 정보 조회
|
|
|
+ GagaMap refundPreInfo = coreOrderChangeService.getRefundPreInfo(orderChange);
|
|
|
+ List<Order> returnReqList = (List<Order>)refundPreInfo.get("cnclReqList");
|
|
|
+ String allLastCanYn = refundPreInfo.getString("allLastCanYn");
|
|
|
+ String supplyCompCd = refundPreInfo.getString("supplyCompCd");
|
|
|
+
|
|
|
+ // 3. 환불금액계산
|
|
|
+ GagaMap result = coreOrderRefundService.cnclRtnRefundAmt(returnReqList);
|
|
|
+
|
|
|
+ // 4. 주문변경 기본정보 설정
|
|
|
+ result.set("ordNo", orderChange.getOrdNo()); // 주문번호
|
|
|
+ result.setInt("custNo", custNo); // 고객번호
|
|
|
+ // result.set("ordChgSq", orderChange.getOrdChgSq()); // 주문변경번호
|
|
|
+ result.set("chgReason", orderChange.getChgReason()); // 변경사유
|
|
|
+ result.set("chgMemo", orderChange.getChgMemo()); // 변경메모
|
|
|
+
|
|
|
+ result.set("accountNo", orderChange.getAccountNo()); // 환불계좌번호
|
|
|
+ result.set("accountNm", orderChange.getAccountNm()); // 환불계좌예금주명
|
|
|
+ result.set("bankCd", orderChange.getBankCd()); // 환불계좌은행코드
|
|
|
+
|
|
|
+ result.setString("allLastCanYn", allLastCanYn); // 전체 마지막 취소 여부
|
|
|
+ result.set("isCustomer", orderChange.getIsCustomer()); // 변경사유 (고객, 회사)
|
|
|
+ result.set("wdGb", orderChange.getWdGb()); // 회수방법
|
|
|
+ result.set("wdInvoiceNo", orderChange.getWdInvoiceNo()); // 회수송장번호
|
|
|
+
|
|
|
+ // 5. 주문변경 회수지정보 추가
|
|
|
+ result.set("chgerNm", orderChange.getChgerNm()); // 변경자명
|
|
|
+ result.set("chgerEmail", orderChange.getChgerEmail()); // 변경자이메일주소
|
|
|
+ result.set("chgerZipcode", orderChange.getChgerZipcode()); // 회수지우편번호
|
|
|
+ result.set("chgerBaseAddr", orderChange.getChgerBaseAddr()); // 회수지기본주소
|
|
|
+ result.set("chgerDtlAddr", orderChange.getChgerDtlAddr()); // 회수지상세주소
|
|
|
+ result.set("chgerPhnno", orderChange.getChgerPhnno()); // 변경자핸드폰번호
|
|
|
+ result.set("chgerTelno", orderChange.getChgerTelno()); // 변경자전화번호
|
|
|
+ result.set("chgerRtnMemo", orderChange.getChgerRtnMemo()); // 반품메모
|
|
|
+
|
|
|
+ // 6. 주문변경 DB 등록 (TB_ORDER_CHANGE, TB_ORDER_CHANGE_DETAIL, TB_REFUND)
|
|
|
+ coreOrderChangeService.returnRequest(result);
|
|
|
+ // coreOrderChangeService.rtnReq(result, custNo);
|
|
|
+
|
|
|
+ result.set("status", GagaResponseStatus.SUCCESS.getCode());
|
|
|
+ if (orderChange.getAddPayCost() == 0) {
|
|
|
+ result.set("message", message.getMessage("RETURN_0001"));
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 반품요청철회
|
|
|
+ *
|
|
|
+ * @param OrderChange
|
|
|
+ * @return GagaResponse
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 04. 20
|
|
|
+ */
|
|
|
+ @PostMapping("/return/cancel")
|
|
|
+ @ResponseBody
|
|
|
+ public GagaResponse rtnReqCancel(@RequestBody OrderChange orderChange) {
|
|
|
+
|
|
|
+ if (orderChange== null) {
|
|
|
+ throw new IllegalStateException(message.getMessage("FAIL_1001"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 1. 반품요청철회 정보 설정
|
|
|
+ int custNo = TsfSession.isLogin() ? TsfSession.getInfo().getCustNo() : 0;
|
|
|
+ GagaMap map = new GagaMap();
|
|
|
+ map.set("ordNo" , orderChange.getOrdNo());
|
|
|
+ map.set("ordChgSq" , orderChange.getOrdChgSq());
|
|
|
+ map.set("custNo" , custNo);
|
|
|
+ map.set("ipAddress" , TsfSession.getIpAddress());
|
|
|
+
|
|
|
+ // 2.반품요청철회
|
|
|
+ coreOrderChangeService.rtnReqCancel(map, custNo);
|
|
|
+
|
|
|
+ return super.ok(message.getMessage("RETURN_0002"));
|
|
|
+ // return super.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 환불계좌 등록 팝업
|
|
|
+ *
|
|
|
+ * @param OrderChange
|
|
|
+ * @return ModelAndView
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 04. 05
|
|
|
+ */
|
|
|
+ @ResponseBody
|
|
|
+ @RequestMapping(value = "/refund/account/register/popup/form")
|
|
|
+ public ModelAndView registerRefundAccountPopupForm(@RequestBody OrderChange orderChange) {
|
|
|
+ ModelAndView mav = new ModelAndView();
|
|
|
+
|
|
|
+ // 계좌인증용 은행코드 조회
|
|
|
+ mav.addObject("bankList", rendererService.getAvailCommonCodeList("G942"));
|
|
|
+
|
|
|
+ // 계좌주명 설정
|
|
|
+ mav.addObject("accountNm", orderChange.getAccountNm());
|
|
|
+
|
|
|
+ // 주문번호 설정
|
|
|
+ mav.addObject("ordNo", orderChange.getOrdNo());
|
|
|
+
|
|
|
+ mav.setViewName(super.getDeviceViewName("popup/RefundAccountAddPopupForm"));
|
|
|
+
|
|
|
+ return mav;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 마이페이지 취반교 목록 화면
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 02. 04
|
|
|
+ */
|
|
|
+ @GetMapping({"/cre/list/form"})
|
|
|
+ public ModelAndView mypageCreListForm() {
|
|
|
+ ModelAndView mav = new ModelAndView();
|
|
|
+
|
|
|
+ // 고객번호 설정
|
|
|
+ int custNo = TsfSession.getInfo().getCustNo();
|
|
|
+ mav.addObject("custNo", custNo);
|
|
|
+
|
|
|
+ // 주문 상태 별 수량 조회
|
|
|
+ Order order = new Order();
|
|
|
+ order.setCustNo(custNo);
|
|
|
+ mav.addObject("orderCount", coreOrderService.getOrderStatCount(order));
|
|
|
+
|
|
|
+ // 2021.04.21 모바일에서 사용하려고 추가
|
|
|
+ OrderChange orderChange = new OrderChange();
|
|
|
+ orderChange.setCustNo(custNo);
|
|
|
+ int totalCnt = orderChangeService.getPagingCreListCount(orderChange);
|
|
|
+ mav.addObject("totalCnt", totalCnt);
|
|
|
+
|
|
|
+ // 주문상세상태코드 설정
|
|
|
+ mav.addObject("chgStatList", rendererService.getCommonCodeList("G685", "Y", new String[] {"G685_10", "G685_11", "G685_19"}));
|
|
|
+
|
|
|
+ mav.setViewName(super.getDeviceViewName("mypage/MypageCreListForm"));
|
|
|
+
|
|
|
+ return mav;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 마이페이지 취반교 목록 조회
|
|
|
+ *
|
|
|
+ * @param OrderChange
|
|
|
+ * @return ModelAndView
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 02. 18
|
|
|
+ */
|
|
|
+ @PostMapping("/cre/list")
|
|
|
+ @ResponseBody
|
|
|
+ public GagaMap getCreList(@RequestBody OrderChange orderChange) {
|
|
|
+ GagaMap map = new GagaMap();
|
|
|
+
|
|
|
+ // 고객번호 설정
|
|
|
+ int custNo = 0;
|
|
|
+ if(TsfSession.isLogin()) {
|
|
|
+ custNo = TsfSession.getInfo().getCustNo();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 페이징 처리 설정
|
|
|
+ orderChange.setCustNo(custNo);
|
|
|
+ TscPageRequest pageable = new TscPageRequest((orderChange.getPageNo() > 0 ? orderChange.getPageNo() - 1 : 0), orderChange.getPageSize(), orderChange.getPageUnit());
|
|
|
+ pageable.setTotalCount(orderChangeService.getPagingCreListCount(orderChange));
|
|
|
+ orderChange.setPageable(pageable);
|
|
|
+
|
|
|
+ // 페이징 처리 및 주문정보 조회
|
|
|
+ List<Integer> ordChgSqList = new ArrayList<>();
|
|
|
+
|
|
|
+ for (OrderChange tmpOrderChange : orderChangeService.getPagingCreList(orderChange)) {
|
|
|
+ ordChgSqList.add(tmpOrderChange.getOrdChgSq());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (ordChgSqList.size() > 0) {
|
|
|
+ orderChange.setOrdChgSqArr(ordChgSqList.stream().mapToInt(Integer::intValue).toArray());
|
|
|
+ map.set("creList", orderChangeService.getCreList(orderChange));
|
|
|
+ }
|
|
|
+
|
|
|
+ map.set("creInfo", orderChange);
|
|
|
+
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 마이페이지 취반교 취소 상세 화면
|
|
|
+ *
|
|
|
+ * @return ModelAndView
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 04. 12
|
|
|
+ */
|
|
|
+ @PostMapping({"/cre/cancel/detail/form"})
|
|
|
+ public ModelAndView mypageCreCancelDetailForm(OrderChange orderChange) {
|
|
|
+ ModelAndView mav = new ModelAndView();
|
|
|
+
|
|
|
+ // 고객번호 설정
|
|
|
+ int custNo = TsfSession.getInfo().getCustNo();
|
|
|
+ mav.addObject("custNo", custNo);
|
|
|
+
|
|
|
+ // 취소상세 데이터 조회
|
|
|
+ orderChange.setCustNo(custNo);
|
|
|
+ GagaMap map = orderChangeService.getCreCancelDetailInfo(orderChange);
|
|
|
+ OrderChange oneData = (OrderChange) map.get("oneData");
|
|
|
+ mav.addObject("cancelDetailList", map);
|
|
|
+ mav.addObject("oneData", oneData);
|
|
|
+ mav.addObject("refundYn", map.getString("refundYn"));
|
|
|
+
|
|
|
+ // 주문 결제정보 조회
|
|
|
+ Order order = new Order();
|
|
|
+ order.setOrdNo(orderChange.getOrdNo());
|
|
|
+ mav.addObject("paymentInfo", orderService.getPaymentInfoForMypage(order));
|
|
|
+
|
|
|
+ mav.setViewName(super.getDeviceViewName("mypage/MypageCreCancelDetailForm"));
|
|
|
+
|
|
|
+ return mav;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 마이페이지 취반교 반품 상세 화면
|
|
|
+ *
|
|
|
+ * @return ModelAndView
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 04. 13
|
|
|
+ */
|
|
|
+ @PostMapping({"/cre/return/detail/form"})
|
|
|
+ public ModelAndView mypageCreReturnDetailForm(OrderChange orderChange) {
|
|
|
+ ModelAndView mav = new ModelAndView();
|
|
|
+
|
|
|
+ // 고객번호 설정
|
|
|
+ int custNo = TsfSession.getInfo().getCustNo();
|
|
|
+ mav.addObject("custNo", custNo);
|
|
|
+
|
|
|
+ // 로그인여부 설정
|
|
|
+ mav.addObject("isLogin", TsfSession.isLogin());
|
|
|
+
|
|
|
+ // 취소상세 데이터 조회
|
|
|
+ orderChange.setCustNo(custNo);
|
|
|
+ GagaMap map = orderChangeService.getCreReturnDetailInfo(orderChange);
|
|
|
+ OrderChange oneData = (OrderChange) map.get("oneData");
|
|
|
+ mav.addObject("returnDetailList", map);
|
|
|
+ mav.addObject("oneData", oneData);
|
|
|
+
|
|
|
+ // 주문 결제정보 조회
|
|
|
+ Order order = new Order();
|
|
|
+ order.setOrdNo(orderChange.getOrdNo());
|
|
|
+ mav.addObject("paymentInfo", orderService.getPaymentInfoForMypage(order));
|
|
|
+
|
|
|
+ mav.setViewName(super.getDeviceViewName("mypage/MypageCreReturnDetailForm"));
|
|
|
+
|
|
|
+ return mav;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 마이페이지 취반교 교환 상세 화면
|
|
|
+ *
|
|
|
+ * @return ModelAndView
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 04. 13
|
|
|
+ */
|
|
|
+ @PostMapping({"/cre/exchange/detail/form"})
|
|
|
+ public ModelAndView mypageCreExchangeDetailForm(OrderChange orderChange) {
|
|
|
+ ModelAndView mav = new ModelAndView();
|
|
|
+
|
|
|
+ // 고객번호 설정
|
|
|
+ int custNo = TsfSession.getInfo().getCustNo();
|
|
|
+ mav.addObject("custNo", custNo);
|
|
|
+
|
|
|
+ // 로그인여부 설정
|
|
|
+ mav.addObject("isLogin", TsfSession.isLogin());
|
|
|
+
|
|
|
+ // 취소상세 데이터 조회
|
|
|
+ orderChange.setCustNo(custNo);
|
|
|
+ GagaMap map = orderChangeService.getCreExchangeDetailInfo(orderChange);
|
|
|
+ OrderChange oneData = (OrderChange) map.get("oneData");
|
|
|
+ mav.addObject("exchangeDetailList", map);
|
|
|
+ mav.addObject("oneData", oneData);
|
|
|
+
|
|
|
+ mav.setViewName(super.getDeviceViewName("mypage/MypageCreExchangeDetailForm"));
|
|
|
+
|
|
|
+ return mav;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * WMS 주문 취소 가능 여부 조회
|
|
|
+ *
|
|
|
+ * @param
|
|
|
+ * @return
|
|
|
+ * @author card007
|
|
|
+ * @since 2021. 04. 22
|
|
|
+ */
|
|
|
+ @PostMapping("/wms/cancel/available")
|
|
|
+ @ResponseBody
|
|
|
+ public GagaMap getWmsCancelYn(@RequestBody OrderChange orderChange) {
|
|
|
+ GagaMap result = new GagaMap();
|
|
|
+ String cancelYn = "Y";
|
|
|
+
|
|
|
+ Integer ordNo = orderChange.getOrdNo();
|
|
|
+
|
|
|
+ for (Integer ordDtlNo : orderChange.getOrdDtlNoArr()) {
|
|
|
+ String rst = coreWmsService.getCancelYn(ordNo, ordDtlNo);
|
|
|
+
|
|
|
+ if ("Y".equals(cancelYn) && "N".equals(rst)) {
|
|
|
+ cancelYn = "N";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ result.setString("cancelYn", cancelYn);
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
}
|