Browse Source

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.core.git into develop

gagamel 5 năm trước cách đây
mục cha
commit
6e2eb8460d

+ 80 - 2
src/main/java/com/style24/core/biz/service/TscKakaotalkService.java

@@ -1025,7 +1025,7 @@ public class TscKakaotalkService {
 
 		if (ansSq > 0) {
 			// 테스트중
-			if ("전석훈".equals(orderChange.getOrdNm()) || "이태영".equals(orderChange.getOrdNm()) || "김지철".equals(orderChange.getOrdNm()) || "신주승".equals(orderChange.getOrdNm())) {
+			if ("전석훈".equals(orderChange.getOrdNm()) || "이태영".equals(orderChange.getOrdNm()) || "김지철".equals(orderChange.getOrdNm()) || "신주승".equals(orderChange.getOrdNm()) || "송대근".equals(orderChange.getOrdNm())) {
 				kakaoSender.send(ansSq, dm, replaceInfo);
 			}
 
@@ -1097,7 +1097,7 @@ public class TscKakaotalkService {
 
 		if (ansSq > 0) {
 			// 테스트중
-			if ("전석훈".equals(orderChange.getOrdNm()) || "이태영".equals(orderChange.getOrdNm()) || "김지철".equals(orderChange.getOrdNm()) || "신주승".equals(orderChange.getOrdNm())) {
+			if ("전석훈".equals(orderChange.getOrdNm()) || "이태영".equals(orderChange.getOrdNm()) || "김지철".equals(orderChange.getOrdNm()) || "신주승".equals(orderChange.getOrdNm()) || "송대근".equals(orderChange.getOrdNm())) {
 				SsgDirectMessage dm = new SsgDirectMessage();
 				dm.setFuserid(String.valueOf(senderNo));
 				dm.setFdestine(orderChange.getOrdPhnno());
@@ -1125,4 +1125,82 @@ public class TscKakaotalkService {
 			}
 		}
 	}
+
+	/**
+	 * 교환접수 알림톡
+	 *
+	 * @param OrderChange
+	 * @param senderNo
+	 * @author card007
+	 * @since 2021. 06. 07
+	 */
+	@Transactional("shopTxnManager")
+	public void sendOrderExchangeRequest(OrderChange orderChange, Integer senderNo) throws Exception {
+		Integer ansSq;
+		String contactType;
+		String contactContents;
+		int addPayCost = orderChange.getAddPayCost();
+		String wdGb = orderChange.getWdGb();
+		String chgerBaseAddr = orderChange.getChgerBaseAddr() + " " + orderChange.getChgerDtlAddr();
+
+		if ("D".equals(wdGb)) {
+			chgerBaseAddr = "직접배송";
+		}
+
+		if (addPayCost > 0) {
+			ansSq = SsgKakaoSender.KakaoAnswerSq.EXCHANGE_ADD_COST.value();
+			contactType = TscConstants.ContactType.EXCHANGE_ADD_PAYMENT.value();
+			contactContents = "교환-추가배송비결제안내";
+		} else {
+			ansSq = SsgKakaoSender.KakaoAnswerSq.EXCHANGE_REQUEST.value();
+			contactType = TscConstants.ContactType.EXCHANGE_RECEIPT.value();
+			contactContents = "교환-교환접수완료";
+		}
+
+		// 상품명 처리
+		String goodsNm = orderChange.getGoodsNm();
+		int goodsCnt = orderChange.getGoodsCnt();
+		if (goodsCnt > 0) {
+			goodsNm += " 외 " + goodsCnt + "건";
+		}
+
+		GagaMap replaceInfo = new GagaMap();
+		replaceInfo.setString("siteNm"				, siteNm);
+		replaceInfo.setString("ordNm"				, orderChange.getOrdNm());
+		replaceInfo.setInt("ordNo"					, orderChange.getOrdNo());
+		replaceInfo.setString("goodsNm"				, goodsNm);
+		replaceInfo.setInt("goodsCnt"				, orderChange.getGoodsCnt());
+		replaceInfo.setString("chgerBaseAddr"		, chgerBaseAddr);
+		replaceInfo.setInt("addPayCost"				, addPayCost);
+
+		if (ansSq > 0) {
+			// 테스트중
+			if ("전석훈".equals(orderChange.getOrdNm()) || "이태영".equals(orderChange.getOrdNm()) || "김지철".equals(orderChange.getOrdNm()) || "신주승".equals(orderChange.getOrdNm()) || "송대근".equals(orderChange.getOrdNm())) {
+				SsgDirectMessage dm = new SsgDirectMessage();
+				dm.setFuserid(String.valueOf(senderNo));
+				dm.setFdestine(orderChange.getOrdPhnno());
+				dm.setFkkoresendtype("LMS");
+				dm.setButtonNm("교환 접수 확인");
+
+				kakaoSender.send(ansSq, dm, replaceInfo);
+			}
+
+			try {
+				if (orderChange.getCustNo() > 0) {
+					// 고객접촉이력 정보
+					CustContactHst custContactHst = new CustContactHst();
+					custContactHst.setContactType(contactType);												// 접촉유형:교환-교환접수완료, 교환-추가배송비결제안내(공통코드G054)
+					custContactHst.setContactMethod(TscConstants.ContactMethod.KAKAOTALK.value());			// 접촉방법:알림톡+문자(공통코드G055)
+					custContactHst.setContactContents(contactContents);
+					custContactHst.setReceiverNo(orderChange.getCustNo());
+					custContactHst.setSenderNo(senderNo);
+					custContactHst.setRegNo(senderNo);
+					coreCustomerService.createCustomerContactHistory(custContactHst);
+				}
+			} catch (Exception e) {
+				log.error("error", e);
+				// Do nothing
+			}
+		}
+	}
 }

+ 34 - 2
src/main/java/com/style24/core/biz/service/TscMailService.java

@@ -485,8 +485,8 @@ public class TscMailService {
 			if (replaceInfo.getInt("custNo") > 0) {
 				// 고객접촉이력 정보
 				CustContactHst custContactHst = new CustContactHst();
-				custContactHst.setContactType(TscConstants.ContactType.CANCEL_INFO.value());            // 접촉유형:주문-취소안내(공통코드G054)
-				custContactHst.setContactMethod(TscConstants.ContactMethod.EMAIL.value());                // 접촉방법:알림톡+문자(공통코드G055)
+				custContactHst.setContactType(TscConstants.ContactType.CANCEL_INFO.value());				// 접촉유형:주문-취소안내(공통코드G054)
+				custContactHst.setContactMethod(TscConstants.ContactMethod.EMAIL.value());					// 접촉방법:알림톡+문자(공통코드G055)
 				custContactHst.setContactContents("주문-취소안내");
 				custContactHst.setReceiverNo(replaceInfo.getInt("custNo"));
 				custContactHst.setSenderNo(senderNo);
@@ -499,4 +499,36 @@ public class TscMailService {
 		}
 	}
 
+	/**
+	 * 주문 반품 안내
+	 *
+	 * @param GagaMap
+	 * @param Integer
+	 * @author card007
+	 * @since 2021. 06. 14
+	 */
+	@Transactional("shopTxnManager")
+	public void sendOrderReturn(GagaMap replaceInfo, Integer senderNo) {
+
+		// 주문 취소 메일 발송
+		netpathyMailSender.send(NetpathyMailSender.MailAnswerSq.RETURN_REQUEST.value(), replaceInfo.getString("ordEmail"), replaceInfo);
+
+		try {
+			if (replaceInfo.getInt("custNo") > 0) {
+				// 고객접촉이력 정보
+				CustContactHst custContactHst = new CustContactHst();
+				custContactHst.setContactType(TscConstants.ContactType.RETURN_RECEIPT.value());				// 접촉유형:반품-반품접수완료(공통코드G054)
+				custContactHst.setContactMethod(TscConstants.ContactMethod.EMAIL.value());					// 접촉방법:이메일(공통코드G055)
+				custContactHst.setContactContents("반품-반품접수완료");
+				custContactHst.setReceiverNo(replaceInfo.getInt("custNo"));
+				custContactHst.setSenderNo(senderNo);
+				custContactHst.setRegNo(senderNo);
+				coreCustomerService.createCustomerContactHistory(custContactHst);
+			}
+		} catch (Exception e) {
+			log.error("error", e);
+			// Do nothing
+		}
+	}
+
 }

+ 421 - 123
src/main/java/com/style24/core/biz/service/TscOrderChangeService.java

@@ -4301,19 +4301,6 @@ public class TscOrderChangeService {
 		cancelMap.setString("supplyCompNm", supplyCompNm);
 		cancelMap.setString("selfGoodsYn", selfGoodsYn);
 		cancelDelvList.add(cancelMap);
-		
-		// 이미지 URL 설정
-		String hasSsl = env.getProperty("has-ssl");
-		String protocol;
-
-		if ("true".equals(hasSsl)) {
-			protocol = "https:";
-		} else {
-			protocol = "http:";
-		}
-
-		String imgUrl = protocol + env.getProperty("upload.goods.view") + "/";
-		
 
 		StringBuilder sb = new StringBuilder();
 
@@ -4355,116 +4342,7 @@ public class TscOrderChangeService {
 			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");
-			int idx = 0;
-			for (OrderChange orderChange : (List<OrderChange>) map.get("cancelDetailList")) {
-				if (idx > 0) {
-					sb.append("																	<!-- 점선 -->\n");
-					sb.append("																	<tr>\n");
-					sb.append("																		<td width=\"30px;\"></td>\n");
-					sb.append("																		<td colspan=\"3\" height=\"1\" style=\"border: 1px; border-top-color: #ddd; border-top-style: dashed;\"></td>\n");
-					sb.append("																		<td width=\"30px;\"></td>\n");
-					sb.append("																	</tr>\n");
-					sb.append("																	<!-- 점선 끝 -->\n");
-					sb.append("																	\n");
-				}
-				sb.append("																	<!-- 아이템 테이블 시작 -->\n");
-				sb.append("																	<tr>\n");
-				sb.append("																		<td colspan=\"5\" style=\"text-align: left;font-size: 18px;font-family:'Apple SD Gothic Neo','나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;color: #222222;\">\n");
-				sb.append("																			<!-- 아이템 컨텐츠 시작 -->\n");
-				sb.append("																			<table style=\"width:100%;height: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=\"30px;\" style=\"height: 30px;\"></td>\n");
-				sb.append("																					</tr>\n");
-				sb.append("																					<tr>\n");
-				sb.append("																						<td width=\"40px;\" rowspan=\"10\"></td>\n");
-				sb.append("																						<td width=\"100px;\" height=\"150px;\" rowspan=\"10\" valign=\"top\" style=\"margin:0;padding:0\">\n");
-				sb.append("																							<a href=\"#none\" target=\"_blank\" style=\"margin:0;padding:0\">\n");
-				sb.append("																								<span style=\"background: #f5f5f5;width: 100px;height: 150px;margin:0;padding:0\">\n");
-				sb.append("																									<img src=\"");
-				sb.append(imgUrl);
-				sb.append(orderChange.getSysImgNm());
-				sb.append("?RS=100\" alt=\"이미지\" style=\"width: 100px;height: 150px;margin:0;padding:0\">\n");
-				sb.append("																								</span>\n");
-				sb.append("																							</a>\n");
-				sb.append("																						</td>\n");
-				sb.append("																						<td width=\"30px;\" rowspan=\"10\"></td>\n");
-				sb.append("																						<td width=\"370px;\" height=\"10px;\"></td>\n");
-				sb.append("																						<td width=\"40px;\" rowspan=\"10\"></td>\n");
-				sb.append("																					</tr>\n");
-				sb.append("																					<tr>\n");
-				sb.append("																						<td style=\"font-family:'Apple SD Gothic Neo',verdana,Arial,'나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;\">\n");
-				sb.append("																							");
-				sb.append(orderChange.getBrandNm());
-				sb.append("\n");
-				sb.append("																						</td>\n");
-				sb.append("																					</tr>\n");
-				sb.append("																					<tr>\n");
-				sb.append("																						<td height=\"10px;\" style=\"height: 10px;\"></td>\n");
-				sb.append("																					</tr>\n");
-				sb.append("																					<tr>\n");
-				sb.append("																						<td style=\"color: #222222;font-size: 16px;font-weight: bold;letter-spacing: -0.05em;\">\n");
-				sb.append("																							<a href=\"#none\" target=\"_blank\" style=\"display: block; color: #222222; font-size: 16px; font-weight: bold; letter-spacing: -0.025em; text-decoration: none;\">\n");
-				sb.append("																								");
-				sb.append(orderChange.getGoodsNm());
-				sb.append("\n");
-				sb.append("																							</a>\n");
-				sb.append("																						</td>\n");
-				sb.append("																					</tr>\n");
-				sb.append("																					<tr>\n");
-				sb.append("																						<td height=\"10px;\" style=\"height: 10px;\"></td>\n");
-				sb.append("																					</tr>\n");
-				sb.append("																					<tr>\n");
-				sb.append("																						<td>\n");
-				if ("G056_S".equals(orderChange.getGoodsType())) {
-					for (int i=0; i < orderChange.getColorNmArr().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.getItemNmArr()[i]);
-						sb.append(" / ");
-						sb.append(orderChange.getColorNmArr()[i]);
-						sb.append(" / ");
-						sb.append(orderChange.getOptCd2Arr()[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.getColorNm());
-					sb.append(" / ");
-					sb.append(orderChange.getOptCd2());
-					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("																					</tr>\n");
-				sb.append("																					<tr>\n");
-				sb.append("																						<td height=\"10px;\" style=\"height: 10px;\"></td>\n");
-				sb.append("																					</tr>\n");
-				sb.append("																					<tr>\n");
-				sb.append("																						<td>\n");
-				sb.append("																							<span>");
-				sb.append(orderChange.getChgQty());
-				sb.append("개</span>\n");
-				// sb.append("																							<span style=\"width: 12px;padding-left:12px;\"></span>\n");
-				// sb.append("																							<span style=\"display: inline-block; vertical-align: middle; width: 1px; height: 14px; background: #ddd;\"></span>\n");
-				// sb.append("																							<span style=\"width: 12px;padding-right:12px;\"></span>\n");
-				sb.append("																						</td>\n");
-				sb.append("																					</tr>\n");
-				sb.append("																					<tr>\n");
-				sb.append("																						<td height=\"10px;\" style=\"height: 10px;\"></td>\n");
-				sb.append("																					</tr>\n");
-				sb.append("																					<tr>\n");
-				sb.append("																						<td height=\"20px;\" style=\"height: 20px;\"></td>\n");
-				sb.append("																					</tr>\n");
-				sb.append("																				</tbody>\n");
-				sb.append("																				<!-- // 아이템 컨텐츠 종료 -->\n");
-				sb.append("																			</table>\n");
-				sb.append("																		</td>\n");
-				sb.append("																	</tr>\n");
-				sb.append("																	<!-- // 아이템 테이블 종료 -->\n");
-				idx++;
-			}
+			sb.append(this.getMailCreListInfo((List<OrderChange>) map.get("cancelDetailList")));
 			sb.append("																	<!-- 배송비 시작 -->\n");
 			sb.append("																	<tr>\n");
 			sb.append("																		<td width=\"40px;\"></td>\n");
@@ -4496,6 +4374,143 @@ public class TscOrderChangeService {
 		return sb.toString();
 	}
 
+	/**
+	 * 취반교 자동메일 취반교 정보 설정
+	 *
+	 * @param OrderChange
+	 * @return String
+	 * @author card007
+	 * @since 2021.06.10
+	 */
+	public String getMailCreListInfo(List<OrderChange> creListInfo) {
+		StringBuilder sb = new StringBuilder();
+
+		// 이미지 URL 설정
+		String hasSsl = env.getProperty("has-ssl");
+		String protocol;
+
+		if ("true".equals(hasSsl)) {
+			protocol = "https:";
+		} else {
+			protocol = "http:";
+		}
+
+		String imgUrl = protocol + env.getProperty("upload.goods.view") + "/";
+
+		int idx = 0;
+		for (OrderChange orderChange : creListInfo) {
+			if (idx > 0) {
+				sb.append("																	<!-- 점선 -->\n");
+				sb.append("																	<tr>\n");
+				sb.append("																		<td width=\"30px;\"></td>\n");
+				sb.append("																		<td colspan=\"3\" height=\"1\" style=\"border: 1px; border-top-color: #ddd; border-top-style: dashed;\"></td>\n");
+				sb.append("																		<td width=\"30px;\"></td>\n");
+				sb.append("																	</tr>\n");
+				sb.append("																	<!-- 점선 끝 -->\n");
+				sb.append("																	\n");
+			}
+			sb.append("																	<!-- 아이템 테이블 시작 -->\n");
+			sb.append("																	<tr>\n");
+			sb.append("																		<td colspan=\"5\" style=\"text-align: left;font-size: 18px;font-family:'Apple SD Gothic Neo','나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;color: #222222;\">\n");
+			sb.append("																			<!-- 아이템 컨텐츠 시작 -->\n");
+			sb.append("																			<table style=\"width:100%;height: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=\"30px;\" style=\"height: 30px;\"></td>\n");
+			sb.append("																					</tr>\n");
+			sb.append("																					<tr>\n");
+			sb.append("																						<td width=\"40px;\" rowspan=\"10\"></td>\n");
+			sb.append("																						<td width=\"100px;\" height=\"150px;\" rowspan=\"10\" valign=\"top\" style=\"margin:0;padding:0\">\n");
+			sb.append("																							<a href=\"#none\" target=\"_blank\" style=\"margin:0;padding:0\">\n");
+			sb.append("																								<span style=\"background: #f5f5f5;width: 100px;height: 150px;margin:0;padding:0\">\n");
+			sb.append("																									<img src=\"");
+			sb.append(imgUrl);
+			sb.append(orderChange.getSysImgNm());
+			sb.append("?RS=100\" alt=\"이미지\" style=\"width: 100px;height: 150px;margin:0;padding:0\">\n");
+			sb.append("																								</span>\n");
+			sb.append("																							</a>\n");
+			sb.append("																						</td>\n");
+			sb.append("																						<td width=\"30px;\" rowspan=\"10\"></td>\n");
+			sb.append("																						<td width=\"370px;\" height=\"10px;\"></td>\n");
+			sb.append("																						<td width=\"40px;\" rowspan=\"10\"></td>\n");
+			sb.append("																					</tr>\n");
+			sb.append("																					<tr>\n");
+			sb.append("																						<td style=\"font-family:'Apple SD Gothic Neo',verdana,Arial,'나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;\">\n");
+			sb.append("																							");
+			sb.append(orderChange.getBrandNm());
+			sb.append("\n");
+			sb.append("																						</td>\n");
+			sb.append("																					</tr>\n");
+			sb.append("																					<tr>\n");
+			sb.append("																						<td height=\"10px;\" style=\"height: 10px;\"></td>\n");
+			sb.append("																					</tr>\n");
+			sb.append("																					<tr>\n");
+			sb.append("																						<td style=\"color: #222222;font-size: 16px;font-weight: bold;letter-spacing: -0.05em;\">\n");
+			sb.append("																							<a href=\"#none\" target=\"_blank\" style=\"display: block; color: #222222; font-size: 16px; font-weight: bold; letter-spacing: -0.025em; text-decoration: none;\">\n");
+			sb.append("																								");
+			sb.append(orderChange.getGoodsNm());
+			sb.append("\n");
+			sb.append("																							</a>\n");
+			sb.append("																						</td>\n");
+			sb.append("																					</tr>\n");
+			sb.append("																					<tr>\n");
+			sb.append("																						<td height=\"10px;\" style=\"height: 10px;\"></td>\n");
+			sb.append("																					</tr>\n");
+			sb.append("																					<tr>\n");
+			sb.append("																						<td>\n");
+			if ("G056_S".equals(orderChange.getGoodsType())) {
+				for (int i=0; i < orderChange.getColorNmArr().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.getItemNmArr()[i]);
+					sb.append(" / ");
+					sb.append(orderChange.getColorNmArr()[i]);
+					sb.append(" / ");
+					sb.append(orderChange.getOptCd2Arr()[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.getColorNm());
+				sb.append(" / ");
+				sb.append(orderChange.getOptCd2());
+				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("																					</tr>\n");
+			sb.append("																					<tr>\n");
+			sb.append("																						<td height=\"10px;\" style=\"height: 10px;\"></td>\n");
+			sb.append("																					</tr>\n");
+			sb.append("																					<tr>\n");
+			sb.append("																						<td>\n");
+			sb.append("																							<span>");
+			sb.append(orderChange.getChgQty());
+			sb.append("개</span>\n");
+			// sb.append("																							<span style=\"width: 12px;padding-left:12px;\"></span>\n");
+			// sb.append("																							<span style=\"display: inline-block; vertical-align: middle; width: 1px; height: 14px; background: #ddd;\"></span>\n");
+			// sb.append("																							<span style=\"width: 12px;padding-right:12px;\"></span>\n");
+			sb.append("																						</td>\n");
+			sb.append("																					</tr>\n");
+			sb.append("																					<tr>\n");
+			sb.append("																						<td height=\"10px;\" style=\"height: 10px;\"></td>\n");
+			sb.append("																					</tr>\n");
+			sb.append("																					<tr>\n");
+			sb.append("																						<td height=\"20px;\" style=\"height: 20px;\"></td>\n");
+			sb.append("																					</tr>\n");
+			sb.append("																				</tbody>\n");
+			sb.append("																				<!-- // 아이템 컨텐츠 종료 -->\n");
+			sb.append("																			</table>\n");
+			sb.append("																		</td>\n");
+			sb.append("																	</tr>\n");
+			sb.append("																	<!-- // 아이템 테이블 종료 -->\n");
+			idx++;
+		}
+
+		return sb.toString();
+	}
+
 	/**
 	 * 주문 취소 자동메일 취소 사은품 정보 설정
 	 *
@@ -4562,4 +4577,287 @@ public class TscOrderChangeService {
 
 		return sb.toString();
 	}
+
+	/**
+	 * 반품 안내 메일 정보 조회
+	 *
+	 * @param OrderChange
+	 * @return Gagamap
+	 * @author card007
+	 * @since 2021. 06. 10
+	 */
+	public GagaMap getMailOrderReturnReplaceInfo(OrderChange orderChange) {
+		GagaMap result = new GagaMap();
+		DecimalFormat df = new DecimalFormat("###,###");
+
+		// 반품 상세 정보 조회
+		Collection<OrderChange> returnList = orderChangeDao.getCreReturnDetailInfo(orderChange);
+
+		if (returnList.size() == 0) {
+			throw new IllegalStateException(message.getMessage("FAIL_0005"));
+		}
+
+		OrderChange oneData = returnList.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.getMailReturnChgerInfo(oneData));
+		}
+
+		// 반품 정보 설정
+		String returnInfo = this.getMailOrderReturnInfo(returnList);
+		result.setString("returnInfo", returnInfo);
+
+		// 결제 정보 조회
+		int dcAmt = oneData.getRfCpn1Amt() + oneData.getRfTmtb1Amt() + oneData.getRfTmtb2Amt() + oneData.getRfGoodsCpnAmt() + oneData.getRfCartCpnAmt() + oneData.getRfDelvCpnAmt() + oneData.getRfPrePntAmt();
+		int totalRefundAmt = oneData.getRefundAmt() + oneData.getRfPntAmt() + oneData.getRfGfcdUseAmt();
+
+		String pgGb = oneData.getPgGb();
+		String payMeansNm;
+		if (TscConstants.PgGb.KCP.value().equals(pgGb)) {
+			payMeansNm = oneData.getPayMeansNm();
+		} else if (TscConstants.PgGb.NAVER.value().equals(pgGb)) {
+			payMeansNm = "네이버페이";
+		} else if (TscConstants.PgGb.KAKAO.value().equals(pgGb)) {
+			payMeansNm = "카카오페이";
+		} else if (TscConstants.PgGb.ISTYLE.value().equals(pgGb)) {
+			payMeansNm = "상품권";
+		} else if (TscConstants.PgGb.PAYCO.value().equals(pgGb)) {
+			payMeansNm = "PAYCO";
+		} else {
+			payMeansNm = "";
+		}
+
+		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("payMeansNm", payMeansNm);
+		result.setString("refundAmt", df.format(oneData.getRefundAmt()));
+		result.setString("rfPntAmt", df.format(oneData.getRfPntAmt()));
+		result.setString("rfGfcdUseAmt", df.format(oneData.getRfGfcdUseAmt()));
+		result.setString("totalRefundAmt", df.format(totalRefundAmt));
+
+		// 버튼 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.10
+	 */
+	@SuppressWarnings("unchecked")
+	public String getMailOrderReturnInfo(Collection<OrderChange> ReturnList) {
+		List<GagaMap> returnDelvList = new ArrayList<>();
+		List<OrderChange> returnDetailList = new ArrayList<>();
+		GagaMap returnMap = new GagaMap();
+		DecimalFormat df = new DecimalFormat("###,###");
+
+		OrderChange oneData = ReturnList.iterator().next();
+		Integer ordNo = oneData.getOrdNo();
+		Integer ordChgSq = oneData.getOrdChgSq();
+
+		String selfGoodsYn = oneData.getSelfGoodsYn();
+		String delvFeeCd = "Y".equals(selfGoodsYn) ? "WMS" : oneData.getDelvFeeCd();
+		String supplyCompNm = oneData.getSupplyCompNm();
+		for (OrderChange returnInfo : ReturnList) {
+			String delvFeeCdTemp = "Y".equals(returnInfo.getSelfGoodsYn()) ? "WMS" : returnInfo.getDelvFeeCd();
+			if (!delvFeeCd.equals(delvFeeCdTemp)) {
+				returnMap.set("returnDetailList", returnDetailList);
+				returnMap.setString("delvFeeCd", delvFeeCd);
+				returnMap.setString("supplyCompNm", supplyCompNm);
+				returnMap.setString("selfGoodsYn", selfGoodsYn);
+				returnDelvList.add(returnMap);
+
+				returnDetailList = new ArrayList<>();
+				returnMap = new GagaMap();
+				delvFeeCd = delvFeeCdTemp;
+				supplyCompNm = returnInfo.getSupplyCompNm();
+				selfGoodsYn = returnInfo.getSelfGoodsYn();
+			}
+
+			// 세트상품 옵션별 배열로 담기
+			if (returnInfo.getItemNm().contains("!@!")) {
+				returnInfo.setItemNmArr(returnInfo.getItemNm().split("!@!"));
+				returnInfo.setColorNmArr(returnInfo.getColorNm().split(","));
+				returnInfo.setOptCd1Arr(returnInfo.getOptCd1().split(","));
+				returnInfo.setOptCd2Arr(returnInfo.getOptCd2().split(","));
+			} else {
+				String[] arr = {returnInfo.getItemNm()}, arr2 = {returnInfo.getColorNm()}, arr3 = {returnInfo.getOptCd1()}, arr4 = {returnInfo.getOptCd2()};
+				returnInfo.setItemNmArr(arr);
+				returnInfo.setColorNmArr(arr2);
+				returnInfo.setOptCd1Arr(arr3);
+				returnInfo.setOptCd2Arr(arr4);
+			}
+
+			returnDetailList.add(returnInfo);
+		}
+
+		returnMap.set("returnDetailList", returnDetailList);
+		returnMap.setString("delvFeeCd", delvFeeCd);
+		returnMap.setString("supplyCompNm", supplyCompNm);
+		returnMap.setString("selfGoodsYn", selfGoodsYn);
+		returnDelvList.add(returnMap);
+
+		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");
+		sb.append(this.getMailCreListInfo(returnDetailList));
+        sb.append("											</tbody>\n");
+        sb.append("										</table>\n");
+
+		return sb.toString();
+	}
+
+	/**
+	 * 반품 안내 메일 상품 정보 설정
+	 *
+	 * @param Collection<OrderChange>
+	 * @return String
+	 * @author card007
+	 * @since 2021.06.10
+	 */
+	@SuppressWarnings("unchecked")
+	public String getMailReturnChgerInfo(OrderChange orderChange) {
+		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=\"6\" 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=\"20px;\" style=\"height: 20px;\"></td>\n");
+		sb.append("												</tr>\n");
+		sb.append("												<tr>\n");
+		sb.append("													<td colspan=\"6\" height=\"1\" bgcolor=\"#000000\" style=\"height: 1px; background: #000000;\"></td>\n");
+		sb.append("												</tr>\n");
+		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 width=\"40px;\"></td>\n");
+		sb.append("													<td width=\"160px;\" align=\"left\" style=\"text-align: left;\">\n");
+		sb.append("														보내는 분\n");
+		sb.append("													</td>\n");
+		sb.append("													<td width=\"340px;\" align=\"left\" style=\"text-align: left;\" colspan=\"3\">\n");
+		sb.append("														");
+		sb.append(orderChange.getChgerNm());
+		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 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 width=\"160px;\" rowspan=\"2\" align=\"left\" style=\"text-align: left;\" valign=\"top\">\n");
+		sb.append("														연락처\n");
+		sb.append("													</td>\n");
+		sb.append("													<td width=\"340px;\" align=\"left\" style=\"text-align: left; line-height: 20px;\" colspan=\"3\">\n");
+		sb.append("														");
+		sb.append(orderChange.getChgerPhnno());
+		sb.append("\n");
+		sb.append("													</td>\n");
+		sb.append("													<td width=\"40px;\"></td>\n");
+		sb.append("												</tr>\n");
+		sb.append("												\n");
+		sb.append("												<tr>\n");
+		sb.append("													<td height=\"20px;\" style=\"height: 20px;\"></td>\n");
+		sb.append("												</tr>\n");
+		sb.append("												<tr> <!-- 210611_ 주소테이블 수정 -->\n");
+		sb.append("													<td width=\"40px;\"></td>\n");
+		sb.append("													<td width=\"160px;\" align=\"left\" style=\"text-align: left;\" valign=\"middle\">\n");
+		sb.append("														주소\n");
+		sb.append("													</td>\n");
+		sb.append("													<td width=\"280px;\" align=\"left\" style=\"text-align: left; line-height: 20px;\" colspan=\"3\">\n");
+		sb.append("														<span>\n");
+		sb.append("															(");
+		sb.append(orderChange.getChgerZipcode());
+		sb.append(") ");
+		sb.append(orderChange.getChgerBaseAddr());
+		sb.append(" ");
+		sb.append(orderChange.getChgerDtlAddr());
+		sb.append("\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=\"20px;\" style=\"height: 20px;\"></td>\n");
+		sb.append("												</tr>\n");
+		sb.append("												<tr>\n");
+		sb.append("													<td width=\"40px;\"></td>\n");
+		sb.append("													<td width=\"160px;\" align=\"left\" style=\"text-align: left;\">\n");
+		sb.append("														배송요청 사항\n");
+		sb.append("													</td>\n");
+		sb.append("													<td width=\"340px;\" align=\"left\" style=\"text-align: left;\" colspan=\"3\">\n");
+		sb.append("														");
+		sb.append(orderChange.getChgerRtnMemo());
+		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 height=\"20px;\" style=\"height: 20px;\"></td>\n");
+		sb.append("												</tr>\n");
+		sb.append("												<tr>\n");
+		sb.append("													<td colspan=\"6\" height=\"1\" bgcolor=\"#dddddd\" style=\"height: 1px; background: #dddddd;\"></td>\n");
+		sb.append("												</tr>\n");
+		sb.append("											</tbody>\n");
+		sb.append("										</table>\n");
+		
+		return sb.toString();
+	}
 }

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 397 - 399
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 537 - 545
src/main/java/com/style24/persistence/mybatis/shop/TscOrderChange.xml


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác