|
@@ -1538,6 +1538,7 @@ public class TscOrderChangeService {
|
|
|
String wdInvoiceNo = map.getString("wdInvoiceNo"); // 회수송장번호
|
|
String wdInvoiceNo = map.getString("wdInvoiceNo"); // 회수송장번호
|
|
|
String chgStat = TscConstants.OrderChangeStat.RETURN.value(); // 주문변경상태
|
|
String chgStat = TscConstants.OrderChangeStat.RETURN.value(); // 주문변경상태
|
|
|
int ordChgSq = 0; // 주문변경일련번호
|
|
int ordChgSq = 0; // 주문변경일련번호
|
|
|
|
|
+ int addPayCost = 0; // 반품배송비
|
|
|
|
|
|
|
|
// 2021.05.25 회수구분이 직접일때 상품검수중 설정
|
|
// 2021.05.25 회수구분이 직접일때 상품검수중 설정
|
|
|
// if ("D".equals(wdGb)) {
|
|
// if ("D".equals(wdGb)) {
|
|
@@ -1575,6 +1576,7 @@ public class TscOrderChangeService {
|
|
|
int refundAmt = spanRealCnclRtnAmt - addDelvFee;
|
|
int refundAmt = spanRealCnclRtnAmt - addDelvFee;
|
|
|
if (refundAmt < 0) {
|
|
if (refundAmt < 0) {
|
|
|
chgStat = TscConstants.OrderChangeStat.RETURN_WAIT.value(); // 추가배송비 처리 상태값 설정
|
|
chgStat = TscConstants.OrderChangeStat.RETURN_WAIT.value(); // 추가배송비 처리 상태값 설정
|
|
|
|
|
+ addPayCost = addDelvFee;
|
|
|
} else {
|
|
} else {
|
|
|
spanRefundAmt = refundAmt; // 추가배송비 제외 환불금액 설정
|
|
spanRefundAmt = refundAmt; // 추가배송비 제외 환불금액 설정
|
|
|
addDelvFee = 0;
|
|
addDelvFee = 0;
|
|
@@ -1679,6 +1681,7 @@ public class TscOrderChangeService {
|
|
|
|
|
|
|
|
// 주문변경일련번호 설정
|
|
// 주문변경일련번호 설정
|
|
|
map.setInt("ordChgSq", ordChgSq);
|
|
map.setInt("ordChgSq", ordChgSq);
|
|
|
|
|
+ map.setInt("addPayCost", addPayCost);
|
|
|
|
|
|
|
|
return map;
|
|
return map;
|
|
|
}
|
|
}
|
|
@@ -1776,7 +1779,7 @@ public class TscOrderChangeService {
|
|
|
String wdInvoiceNo = excReq.getWdInvoiceNo(); // 회수송장번호
|
|
String wdInvoiceNo = excReq.getWdInvoiceNo(); // 회수송장번호
|
|
|
Integer regNo = excReq.getRegNo(); // 등록자번호
|
|
Integer regNo = excReq.getRegNo(); // 등록자번호
|
|
|
Integer updNo = excReq.getUpdNo(); // 수정자번호
|
|
Integer updNo = excReq.getUpdNo(); // 수정자번호
|
|
|
- int ordChgSq; // 주문변경일련번호
|
|
|
|
|
|
|
+ int ordChgSq = 0; // 주문변경일련번호
|
|
|
|
|
|
|
|
// 교환신청 목록 설정
|
|
// 교환신청 목록 설정
|
|
|
Collection<Order> excReqList = excReq.getCancelReqList();
|
|
Collection<Order> excReqList = excReq.getCancelReqList();
|
|
@@ -1819,7 +1822,6 @@ public class TscOrderChangeService {
|
|
|
// 교환대상 정보 등록
|
|
// 교환대상 정보 등록
|
|
|
int preOrdDtlNo = 0;
|
|
int preOrdDtlNo = 0;
|
|
|
String preDelvFeeCd = "";
|
|
String preDelvFeeCd = "";
|
|
|
- ordChgSq = 0;
|
|
|
|
|
int exchangeOrdDtlNo = 0;
|
|
int exchangeOrdDtlNo = 0;
|
|
|
|
|
|
|
|
for (Order order : excReqList) {
|
|
for (Order order : excReqList) {
|
|
@@ -1959,6 +1961,7 @@ public class TscOrderChangeService {
|
|
|
result.set("status", GagaResponseStatus.SUCCESS.getCode());
|
|
result.set("status", GagaResponseStatus.SUCCESS.getCode());
|
|
|
result.set("ordNo", ordNo);
|
|
result.set("ordNo", ordNo);
|
|
|
result.set("ordChgSq", ordChgSq);
|
|
result.set("ordChgSq", ordChgSq);
|
|
|
|
|
+ result.setInt("addPayCost", addPayCost);
|
|
|
|
|
|
|
|
return result;
|
|
return result;
|
|
|
}
|
|
}
|
|
@@ -4482,6 +4485,30 @@ public class TscOrderChangeService {
|
|
|
sb.append(" </td>\n");
|
|
sb.append(" </td>\n");
|
|
|
sb.append(" </tr>\n");
|
|
sb.append(" </tr>\n");
|
|
|
sb.append(" <tr>\n");
|
|
sb.append(" <tr>\n");
|
|
|
|
|
+ sb.append(" <td>\n");
|
|
|
|
|
+ if (TscConstants.OrderChangeGb.EXCHANGE.value().equals(orderChange.getChgGb())) {
|
|
|
|
|
+ sb.append(" <p style=\"margin: 0; padding: 0; font-family:'Apple SD Gothic Neo','나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;font-weight:500;color: #fd4802; line-height: 2;\">교환 옵션</p>\n");
|
|
|
|
|
+ if ("G056_S".equals(orderChange.getGoodsType())) {
|
|
|
|
|
+ for (int i=0; i < orderChange.getChgColorNmArr().length; i++) {
|
|
|
|
|
+ sb.append(" <p style=\"margin: 0; padding: 0; font-family:'Apple SD Gothic Neo','나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;font-weight:200;color: #666666; line-height: 2;\">");
|
|
|
|
|
+ sb.append(orderChange.getChgItemNmArr()[i]);
|
|
|
|
|
+ sb.append(" / ");
|
|
|
|
|
+ sb.append(orderChange.getChgColorNmArr()[i]);
|
|
|
|
|
+ sb.append(" / ");
|
|
|
|
|
+ sb.append(orderChange.getChgOptCd2Arr()[i]);
|
|
|
|
|
+ sb.append("</p>\n");
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ sb.append(" <p style=\"margin: 0; padding: 0; font-family:'Apple SD Gothic Neo','나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;font-weight:200;color: #666666; line-height: 2;\">");
|
|
|
|
|
+ sb.append(orderChange.getChgColorNm());
|
|
|
|
|
+ sb.append(" / ");
|
|
|
|
|
+ sb.append(orderChange.getChgOptCd2());
|
|
|
|
|
+ sb.append("</p>\n");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ sb.append(" </td>\n");
|
|
|
|
|
+ sb.append(" </tr>\n");
|
|
|
|
|
+ sb.append(" <tr>\n");
|
|
|
sb.append(" <td height=\"5px;\" style=\"height: 5px;\"></td>\n");
|
|
sb.append(" <td height=\"5px;\" style=\"height: 5px;\"></td>\n");
|
|
|
sb.append(" </tr>\n");
|
|
sb.append(" </tr>\n");
|
|
|
sb.append(" <tr>\n");
|
|
sb.append(" <tr>\n");
|
|
@@ -4618,12 +4645,11 @@ public class TscOrderChangeService {
|
|
|
|
|
|
|
|
// 회수지 정보 설정
|
|
// 회수지 정보 설정
|
|
|
if ("W".equals(oneData.getWdGb())) {
|
|
if ("W".equals(oneData.getWdGb())) {
|
|
|
- result.setString("chgerInfo", this.getMailReturnChgerInfo(oneData));
|
|
|
|
|
|
|
+ result.setString("chgerInfo", this.getMailChgerInfo(oneData));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 반품 정보 설정
|
|
// 반품 정보 설정
|
|
|
- String returnInfo = this.getMailOrderReturnInfo(returnList);
|
|
|
|
|
- result.setString("returnInfo", returnInfo);
|
|
|
|
|
|
|
+ result.setString("returnInfo", this.getMailOrderReturnInfo(returnList));
|
|
|
|
|
|
|
|
// 결제 정보 조회
|
|
// 결제 정보 조회
|
|
|
int dcAmt = oneData.getRfCpn1Amt() + oneData.getRfTmtb1Amt() + oneData.getRfTmtb2Amt() + oneData.getRfGoodsCpnAmt() + oneData.getRfCartCpnAmt() + oneData.getRfDelvCpnAmt() + oneData.getRfPrePntAmt();
|
|
int dcAmt = oneData.getRfCpn1Amt() + oneData.getRfTmtb1Amt() + oneData.getRfTmtb2Amt() + oneData.getRfGoodsCpnAmt() + oneData.getRfCartCpnAmt() + oneData.getRfDelvCpnAmt() + oneData.getRfPrePntAmt();
|
|
@@ -4646,7 +4672,6 @@ public class TscOrderChangeService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
result.setString("cnclRtnAmt", df.format(oneData.getRfCnclAmt()));
|
|
result.setString("cnclRtnAmt", df.format(oneData.getRfCnclAmt()));
|
|
|
- result.setString("addPayCost", df.format(oneData.getAddPayCost()));
|
|
|
|
|
result.setString("dcAmt", dcAmt == 0 ? "0" : "-" + df.format(dcAmt));
|
|
result.setString("dcAmt", dcAmt == 0 ? "0" : "-" + df.format(dcAmt));
|
|
|
result.setString("payMeansNm", payMeansNm);
|
|
result.setString("payMeansNm", payMeansNm);
|
|
|
result.setString("refundAmt", df.format(oneData.getRefundAmt()));
|
|
result.setString("refundAmt", df.format(oneData.getRefundAmt()));
|
|
@@ -4654,6 +4679,15 @@ public class TscOrderChangeService {
|
|
|
result.setString("rfGfcdUseAmt", df.format(oneData.getRfGfcdUseAmt()));
|
|
result.setString("rfGfcdUseAmt", df.format(oneData.getRfGfcdUseAmt()));
|
|
|
result.setString("totalRefundAmt", df.format(totalRefundAmt));
|
|
result.setString("totalRefundAmt", df.format(totalRefundAmt));
|
|
|
|
|
|
|
|
|
|
+ // 추가배송비 조회
|
|
|
|
|
+ int addpayCost = oneData.getAddPayCost();
|
|
|
|
|
+ Order addPayCostOrder = orderChangeDao.getAddDeliveryFeePayment(orderChange);
|
|
|
|
|
+ if (addPayCostOrder != null && addPayCostOrder.getPayAmt() > 0) {
|
|
|
|
|
+ addpayCost = 0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ result.setString("addPayCost", df.format(addpayCost));
|
|
|
|
|
+
|
|
|
// 버튼 URL 설정
|
|
// 버튼 URL 설정
|
|
|
String hasSsl = env.getProperty("has-ssl");
|
|
String hasSsl = env.getProperty("has-ssl");
|
|
|
String protocol;
|
|
String protocol;
|
|
@@ -4684,20 +4718,17 @@ public class TscOrderChangeService {
|
|
|
* @since 2021.06.10
|
|
* @since 2021.06.10
|
|
|
*/
|
|
*/
|
|
|
@SuppressWarnings("unchecked")
|
|
@SuppressWarnings("unchecked")
|
|
|
- public String getMailOrderReturnInfo(Collection<OrderChange> ReturnList) {
|
|
|
|
|
|
|
+ public String getMailOrderReturnInfo(Collection<OrderChange> returnList) {
|
|
|
List<GagaMap> returnDelvList = new ArrayList<>();
|
|
List<GagaMap> returnDelvList = new ArrayList<>();
|
|
|
List<OrderChange> returnDetailList = new ArrayList<>();
|
|
List<OrderChange> returnDetailList = new ArrayList<>();
|
|
|
GagaMap returnMap = new GagaMap();
|
|
GagaMap returnMap = new GagaMap();
|
|
|
- DecimalFormat df = new DecimalFormat("###,###");
|
|
|
|
|
|
|
|
|
|
- OrderChange oneData = ReturnList.iterator().next();
|
|
|
|
|
- Integer ordNo = oneData.getOrdNo();
|
|
|
|
|
- Integer ordChgSq = oneData.getOrdChgSq();
|
|
|
|
|
|
|
+ OrderChange oneData = returnList.iterator().next();
|
|
|
|
|
|
|
|
String selfGoodsYn = oneData.getSelfGoodsYn();
|
|
String selfGoodsYn = oneData.getSelfGoodsYn();
|
|
|
String delvFeeCd = "Y".equals(selfGoodsYn) ? "WMS" : oneData.getDelvFeeCd();
|
|
String delvFeeCd = "Y".equals(selfGoodsYn) ? "WMS" : oneData.getDelvFeeCd();
|
|
|
String supplyCompNm = oneData.getSupplyCompNm();
|
|
String supplyCompNm = oneData.getSupplyCompNm();
|
|
|
- for (OrderChange returnInfo : ReturnList) {
|
|
|
|
|
|
|
+ for (OrderChange returnInfo : returnList) {
|
|
|
String delvFeeCdTemp = "Y".equals(returnInfo.getSelfGoodsYn()) ? "WMS" : returnInfo.getDelvFeeCd();
|
|
String delvFeeCdTemp = "Y".equals(returnInfo.getSelfGoodsYn()) ? "WMS" : returnInfo.getDelvFeeCd();
|
|
|
if (!delvFeeCd.equals(delvFeeCdTemp)) {
|
|
if (!delvFeeCd.equals(delvFeeCdTemp)) {
|
|
|
returnMap.set("returnDetailList", returnDetailList);
|
|
returnMap.set("returnDetailList", returnDetailList);
|
|
@@ -4751,7 +4782,39 @@ public class TscOrderChangeService {
|
|
|
sb.append(" <tr>\n");
|
|
sb.append(" <tr>\n");
|
|
|
sb.append(" <td height=\"30px;\" style=\"height: 30px;\"></td>\n");
|
|
sb.append(" <td height=\"30px;\" style=\"height: 30px;\"></td>\n");
|
|
|
sb.append(" </tr>\n");
|
|
sb.append(" </tr>\n");
|
|
|
- sb.append(this.getMailCreListInfo(returnDetailList));
|
|
|
|
|
|
|
+ for (GagaMap map : returnDelvList) {
|
|
|
|
|
+ sb.append(" <tr>\n");
|
|
|
|
|
+ sb.append(" <td height=\"20px;\" style=\"height: 20px;\"></td>\n");
|
|
|
|
|
+ sb.append(" </tr>\n");
|
|
|
|
|
+ sb.append(" <tr>\n");
|
|
|
|
|
+ sb.append(" <td>\n");
|
|
|
|
|
+ sb.append(" <table style=\"border: 1px; border-color: #dddddd; border-style: solid; box-sizing: border-box; width:100%;margin:0;padding:0\" cellspacing=\"0\" cellpadding=\"0\">\n");
|
|
|
|
|
+ sb.append(" <tbody>\n");
|
|
|
|
|
+ sb.append(" <tr>\n");
|
|
|
|
|
+ sb.append(" <td colspan=\"5\" height=\"20px;\" style=\"height: 20px;\"></td>\n");
|
|
|
|
|
+ sb.append(" </tr>\n");
|
|
|
|
|
+ sb.append(" <tr>\n");
|
|
|
|
|
+ sb.append(" <td width=\"40px;\"></td>\n");
|
|
|
|
|
+ sb.append(" <td colspan=\"3\" style=\"text-align: left;font-size: 18px;font-family:'Apple SD Gothic Neo','나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;font-weight:600;color: #222222;\" align=\"left\">\n");
|
|
|
|
|
+ if ("Y".equals(map.getString("selfGoodsYn"))) {
|
|
|
|
|
+ sb.append(" STYLE24 배송\n");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ sb.append(" ");
|
|
|
|
|
+ sb.append(map.getString("supplyCompNm"));
|
|
|
|
|
+ sb.append(" 업체직배송\n");
|
|
|
|
|
+ }
|
|
|
|
|
+ sb.append(" </td>\n");
|
|
|
|
|
+ sb.append(" <td width=\"40px;\"></td>\n");
|
|
|
|
|
+ sb.append(" </tr>\n");
|
|
|
|
|
+ sb.append(" <tr>\n");
|
|
|
|
|
+ sb.append(" <td colspan=\"5\" height=\"20px;\" style=\"height: 20px;border:0; border-bottom: 1px; border-color: #dddddd; border-style: solid; box-sizing: border-box;\"></td>\n");
|
|
|
|
|
+ sb.append(" </tr>\n");
|
|
|
|
|
+ sb.append(this.getMailCreListInfo(returnDetailList));
|
|
|
|
|
+ sb.append(" </tbody>\n");
|
|
|
|
|
+ sb.append(" </table>\n");
|
|
|
|
|
+ sb.append(" </td>\n");
|
|
|
|
|
+ sb.append(" </tr>\n");
|
|
|
|
|
+ }
|
|
|
sb.append(" </tbody>\n");
|
|
sb.append(" </tbody>\n");
|
|
|
sb.append(" </table>\n");
|
|
sb.append(" </table>\n");
|
|
|
|
|
|
|
@@ -4759,7 +4822,7 @@ public class TscOrderChangeService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 반품 안내 메일 상품 정보 설정
|
|
|
|
|
|
|
+ * 취반교 메일 회수지 정보 설정
|
|
|
*
|
|
*
|
|
|
* @param Collection<OrderChange>
|
|
* @param Collection<OrderChange>
|
|
|
* @return String
|
|
* @return String
|
|
@@ -4767,7 +4830,7 @@ public class TscOrderChangeService {
|
|
|
* @since 2021.06.10
|
|
* @since 2021.06.10
|
|
|
*/
|
|
*/
|
|
|
@SuppressWarnings("unchecked")
|
|
@SuppressWarnings("unchecked")
|
|
|
- public String getMailReturnChgerInfo(OrderChange orderChange) {
|
|
|
|
|
|
|
+ public String getMailChgerInfo(OrderChange orderChange) {
|
|
|
StringBuilder sb = new StringBuilder();
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
|
|
|
sb.append("<table style=\"width:100%;margin:0;padding:0;font-size: 14px;\" cellspacing=\"0\" cellpadding=\"0\">\n");
|
|
sb.append("<table style=\"width:100%;margin:0;padding:0;font-size: 14px;\" cellspacing=\"0\" cellpadding=\"0\">\n");
|
|
@@ -4864,4 +4927,230 @@ public class TscOrderChangeService {
|
|
|
|
|
|
|
|
return sb.toString();
|
|
return sb.toString();
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 교환 안내 메일 정보 조회
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param OrderChange
|
|
|
|
|
+ * @return Gagamap
|
|
|
|
|
+ * @author card007
|
|
|
|
|
+ * @since 2021. 06. 14
|
|
|
|
|
+ */
|
|
|
|
|
+ public GagaMap getMailOrderExchangeReplaceInfo(OrderChange orderChange) {
|
|
|
|
|
+ GagaMap result = new GagaMap();
|
|
|
|
|
+
|
|
|
|
|
+ // 반품 상세 정보 조회
|
|
|
|
|
+ Collection<OrderChange> exchangeList = orderChangeDao.getCreExchangeDetailInfo(orderChange);
|
|
|
|
|
+
|
|
|
|
|
+ if (exchangeList.size() == 0) {
|
|
|
|
|
+ throw new IllegalStateException(message.getMessage("FAIL_0005"));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ OrderChange oneData = exchangeList.iterator().next();
|
|
|
|
|
+
|
|
|
|
|
+ // 주문 정보 설정
|
|
|
|
|
+ result.setString("ordNm", oneData.getOrdNm());
|
|
|
|
|
+ result.setInt("ordNo", oneData.getOrdNo());
|
|
|
|
|
+ result.setString("ordDate", oneData.getOrdDate());
|
|
|
|
|
+ result.setString("ordDt", oneData.getOrdDt());
|
|
|
|
|
+ result.setString("ordEmail", oneData.getOrdEmail());
|
|
|
|
|
+ result.setInt("custNo", oneData.getCustNo());
|
|
|
|
|
+ result.setString("wdGbNm", "W".equals(oneData.getWdGb()) ? "회수요청" : "직접배송");
|
|
|
|
|
+
|
|
|
|
|
+ if (StringUtils.isBlank(oneData.getOrdEmail())) {
|
|
|
|
|
+ return result;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 회수지 정보 설정
|
|
|
|
|
+ if ("W".equals(oneData.getWdGb())) {
|
|
|
|
|
+ result.setString("chgerInfo", this.getMailChgerInfo(oneData));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 교환 정보 설정
|
|
|
|
|
+ result.setString("exchangeInfo", this.getMailOrderExchangeInfo(exchangeList));
|
|
|
|
|
+
|
|
|
|
|
+ // 교환 배송지 정보 설정
|
|
|
|
|
+ result.setString("recipNm", oneData.getRecipNm());
|
|
|
|
|
+ result.setString("recipPhnno", oneData.getRecipPhnno());
|
|
|
|
|
+ result.setString("recipBaseAddr", oneData.getRecipBaseAddr());
|
|
|
|
|
+ result.setString("recipDtlAddr", oneData.getRecipDtlAddr());
|
|
|
|
|
+ result.setString("recipZipcode", oneData.getRecipZipcode());
|
|
|
|
|
+ result.setString("delvMemo", oneData.getDelvMemo());
|
|
|
|
|
+
|
|
|
|
|
+ // 버튼 URL 설정
|
|
|
|
|
+ String hasSsl = env.getProperty("has-ssl");
|
|
|
|
|
+ String protocol;
|
|
|
|
|
+
|
|
|
|
|
+ if ("true".equals(hasSsl)) {
|
|
|
|
|
+ protocol = "https:";
|
|
|
|
|
+ } else {
|
|
|
|
|
+ protocol = "http:";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ String url = protocol + env.getProperty("domain.front");
|
|
|
|
|
+ if (orderChange.getCustNo() > 0) {
|
|
|
|
|
+ url += "/mypage/cre/list/form";
|
|
|
|
|
+ } else {
|
|
|
|
|
+ url += "/customer/noncust/order/confirm/form";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ result.setString("creButtonUrl", url);
|
|
|
|
|
+ return result;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 교환 안내 메일 상품 정보 설정
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param Collection<OrderChange>
|
|
|
|
|
+ * @return String
|
|
|
|
|
+ * @author card007
|
|
|
|
|
+ * @since 2021.06.14
|
|
|
|
|
+ */
|
|
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
|
|
+ public String getMailOrderExchangeInfo(Collection<OrderChange> exchangeList) {
|
|
|
|
|
+ List<GagaMap> exchangeDelvList = new ArrayList<>();
|
|
|
|
|
+ List<OrderChange> exchangeDetailList = new ArrayList<>();
|
|
|
|
|
+ GagaMap exchangeMap = new GagaMap();
|
|
|
|
|
+ DecimalFormat df = new DecimalFormat("###,###");
|
|
|
|
|
+
|
|
|
|
|
+ OrderChange oneData = exchangeList.iterator().next();
|
|
|
|
|
+
|
|
|
|
|
+ String selfGoodsYn = oneData.getSelfGoodsYn();
|
|
|
|
|
+ String delvFeeCd = "Y".equals(selfGoodsYn) ? "WMS" : oneData.getDelvFeeCd();
|
|
|
|
|
+ String supplyCompNm = oneData.getSupplyCompNm();
|
|
|
|
|
+ for (OrderChange exchangeInfo : exchangeList) {
|
|
|
|
|
+ String delvFeeCdTemp = "Y".equals(exchangeInfo.getSelfGoodsYn()) ? "WMS" : exchangeInfo.getDelvFeeCd();
|
|
|
|
|
+ if (!delvFeeCd.equals(delvFeeCdTemp)) {
|
|
|
|
|
+ exchangeMap.set("exchangeDetailList", exchangeDetailList);
|
|
|
|
|
+ exchangeMap.setString("delvFeeCd", delvFeeCd);
|
|
|
|
|
+ exchangeMap.setString("supplyCompNm", supplyCompNm);
|
|
|
|
|
+ exchangeMap.setString("selfGoodsYn", selfGoodsYn);
|
|
|
|
|
+ exchangeDelvList.add(exchangeMap);
|
|
|
|
|
+
|
|
|
|
|
+ exchangeDetailList = new ArrayList<>();
|
|
|
|
|
+ exchangeMap = new GagaMap();
|
|
|
|
|
+ delvFeeCd = delvFeeCdTemp;
|
|
|
|
|
+ supplyCompNm = exchangeInfo.getSupplyCompNm();
|
|
|
|
|
+ selfGoodsYn = exchangeInfo.getSelfGoodsYn();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 세트상품 옵션별 배열로 담기
|
|
|
|
|
+ if (exchangeInfo.getItemNm().contains("!@!")) {
|
|
|
|
|
+ exchangeInfo.setItemNmArr(exchangeInfo.getItemNm().split("!@!"));
|
|
|
|
|
+ exchangeInfo.setColorNmArr(exchangeInfo.getColorNm().split(","));
|
|
|
|
|
+ exchangeInfo.setOptCd1Arr(exchangeInfo.getOptCd1().split(","));
|
|
|
|
|
+ exchangeInfo.setOptCd2Arr(exchangeInfo.getOptCd2().split(","));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ String[] arr = {exchangeInfo.getItemNm()}, arr2 = {exchangeInfo.getColorNm()}, arr3 = {exchangeInfo.getOptCd1()}, arr4 = {exchangeInfo.getOptCd2()};
|
|
|
|
|
+ exchangeInfo.setItemNmArr(arr);
|
|
|
|
|
+ exchangeInfo.setColorNmArr(arr2);
|
|
|
|
|
+ exchangeInfo.setOptCd1Arr(arr3);
|
|
|
|
|
+ exchangeInfo.setOptCd2Arr(arr4);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 교환상품 옵션 정보 조회 및 설정
|
|
|
|
|
+ OrderChange changeOptionInfo = orderChangeDao.getExchangeGoodsOptionInfoList(exchangeInfo);
|
|
|
|
|
+ if (changeOptionInfo.getItemNm().contains("!@!")) {
|
|
|
|
|
+ exchangeInfo.setChgItemNmArr(changeOptionInfo.getItemNm().split("!@!"));
|
|
|
|
|
+ exchangeInfo.setChgColorNmArr(changeOptionInfo.getColorNm().split(","));
|
|
|
|
|
+ exchangeInfo.setChgOptCd1Arr(changeOptionInfo.getOptCd1().split(","));
|
|
|
|
|
+ exchangeInfo.setChgOptCd2Arr(changeOptionInfo.getOptCd2().split(","));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ exchangeInfo.setChgItemNm(changeOptionInfo.getItemNm());
|
|
|
|
|
+ exchangeInfo.setChgColorNm(changeOptionInfo.getColorNm());
|
|
|
|
|
+ exchangeInfo.setChgOptCd1(changeOptionInfo.getOptCd1());
|
|
|
|
|
+ exchangeInfo.setChgOptCd2(changeOptionInfo.getOptCd2());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ exchangeDetailList.add(exchangeInfo);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ exchangeMap.set("exchangeDetailList", exchangeDetailList);
|
|
|
|
|
+ exchangeMap.setString("delvFeeCd", delvFeeCd);
|
|
|
|
|
+ exchangeMap.setString("supplyCompNm", supplyCompNm);
|
|
|
|
|
+ exchangeMap.setString("selfGoodsYn", selfGoodsYn);
|
|
|
|
|
+ exchangeDelvList.add(exchangeMap);
|
|
|
|
|
+
|
|
|
|
|
+ // 추가배송비 설정
|
|
|
|
|
+ // int addpayCost = oneData.getAddPayCost();
|
|
|
|
|
+ // Order addPayCostOrder = orderChangeDao.getAddDeliveryFeePayment(oneData);
|
|
|
|
|
+ // if (addPayCostOrder != null && addPayCostOrder.getPayAmt() > 0) {
|
|
|
|
|
+ // addpayCost = 0;
|
|
|
|
|
+ // }
|
|
|
|
|
+
|
|
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
|
|
+
|
|
|
|
|
+ sb.append("<table style=\"width:100%;margin:0;padding:0;font-size: 14px;\" cellspacing=\"0\" cellpadding=\"0\">\n");
|
|
|
|
|
+ sb.append(" <tbody>\n");
|
|
|
|
|
+ sb.append(" <tr>\n");
|
|
|
|
|
+ sb.append(" <td height=\"50px;\" style=\"height: 50px;\"></td>\n");
|
|
|
|
|
+ sb.append(" </tr>\n");
|
|
|
|
|
+ sb.append(" <tr>\n");
|
|
|
|
|
+ sb.append(" <th colspan=\"2\" style=\"text-align: left;font-size: 18px;color: #222222;\" align=\"left\">\n");
|
|
|
|
|
+ sb.append(" 교환신청 상품 정보\n");
|
|
|
|
|
+ sb.append(" </th>\n");
|
|
|
|
|
+ sb.append(" </tr>\n");
|
|
|
|
|
+ sb.append(" <tr>\n");
|
|
|
|
|
+ sb.append(" <td height=\"30px;\" style=\"height: 30px;\"></td>\n");
|
|
|
|
|
+ sb.append(" </tr>\n");
|
|
|
|
|
+ for (GagaMap map : exchangeDelvList) {
|
|
|
|
|
+ sb.append(" <tr>\n");
|
|
|
|
|
+ sb.append(" <td height=\"20px;\" style=\"height: 20px;\"></td>\n");
|
|
|
|
|
+ sb.append(" </tr>\n");
|
|
|
|
|
+ sb.append(" <tr>\n");
|
|
|
|
|
+ sb.append(" <td>\n");
|
|
|
|
|
+ sb.append(" <table style=\"border: 1px; border-color: #dddddd; border-style: solid; box-sizing: border-box; width:100%;margin:0;padding:0\" cellspacing=\"0\" cellpadding=\"0\">\n");
|
|
|
|
|
+ sb.append(" <tbody>\n");
|
|
|
|
|
+ sb.append(" <tr>\n");
|
|
|
|
|
+ sb.append(" <td colspan=\"5\" height=\"20px;\" style=\"height: 20px;\"></td>\n");
|
|
|
|
|
+ sb.append(" </tr>\n");
|
|
|
|
|
+ sb.append(" <tr>\n");
|
|
|
|
|
+ sb.append(" <td width=\"40px;\"></td>\n");
|
|
|
|
|
+ sb.append(" <td colspan=\"3\" style=\"text-align: left;font-size: 18px;font-family:'Apple SD Gothic Neo','나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;font-weight:600;color: #222222;\" align=\"left\">\n");
|
|
|
|
|
+ if ("Y".equals(map.getString("selfGoodsYn"))) {
|
|
|
|
|
+ sb.append(" STYLE24 배송\n");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ sb.append(" ");
|
|
|
|
|
+ sb.append(map.getString("supplyCompNm"));
|
|
|
|
|
+ sb.append(" 업체직배송\n");
|
|
|
|
|
+ }
|
|
|
|
|
+ sb.append(" </td>\n");
|
|
|
|
|
+ sb.append(" <td width=\"40px;\"></td>\n");
|
|
|
|
|
+ sb.append(" </tr>\n");
|
|
|
|
|
+ sb.append(" <tr>\n");
|
|
|
|
|
+ sb.append(" <td colspan=\"5\" height=\"20px;\" style=\"height: 20px;border:0; border-bottom: 1px; border-color: #dddddd; border-style: solid; box-sizing: border-box;\"></td>\n");
|
|
|
|
|
+ sb.append(" </tr>\n");
|
|
|
|
|
+ sb.append(this.getMailCreListInfo(exchangeDetailList));
|
|
|
|
|
+ // sb.append(" <!-- 배송비 시작 -->\n");
|
|
|
|
|
+ // sb.append(" <tr>\n");
|
|
|
|
|
+ // sb.append(" <td width=\"40px;\"></td>\n");
|
|
|
|
|
+ // sb.append(" <td colspan=\"3\" height=\"20px;\" style=\"height: 45px; background: #f5f5f5;\" bgcolor=\"#f5f5f5\">\n");
|
|
|
|
|
+ // sb.append(" <span style=\"width: 12px;padding-left:12px;\"></span>\n");
|
|
|
|
|
+ // sb.append(" <span>배송비</span>\n");
|
|
|
|
|
+ // sb.append(" <span style=\"width: 12px;padding-right:12px;\"></span>\n");
|
|
|
|
|
+ // sb.append(" <span>\n");
|
|
|
|
|
+ // sb.append(" <span>");
|
|
|
|
|
+ // sb.append(df.format(addpayCost));
|
|
|
|
|
+ // sb.append("</span>원\n");
|
|
|
|
|
+ // sb.append(" </span>\n");
|
|
|
|
|
+ // sb.append(" </td>\n");
|
|
|
|
|
+ // sb.append(" <td width=\"40px;\"></td>\n");
|
|
|
|
|
+ // sb.append(" </tr>\n");
|
|
|
|
|
+ // sb.append(" <tr>\n");
|
|
|
|
|
+ // sb.append(" <td height=\"30px;\" style=\"height: 30px;\"></td>\n");
|
|
|
|
|
+ // sb.append(" </tr>\n");
|
|
|
|
|
+ // sb.append(" <!-- 배송비 종료 -->\n");
|
|
|
|
|
+ sb.append(" </tbody>\n");
|
|
|
|
|
+ sb.append(" </table>\n");
|
|
|
|
|
+ sb.append(" </td>\n");
|
|
|
|
|
+ sb.append(" </tr>\n");
|
|
|
|
|
+ }
|
|
|
|
|
+ sb.append(" <tr>\n");
|
|
|
|
|
+ sb.append(" <td height=\"50px;\" style=\"height: 50px;\"></td>\n");
|
|
|
|
|
+ sb.append(" </tr>\n");
|
|
|
|
|
+ sb.append(" </tbody>\n");
|
|
|
|
|
+ sb.append(" </table>\n");
|
|
|
|
|
+
|
|
|
|
|
+ return sb.toString();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|