فهرست منبع

반품 안내 메일 개발 임시 커밋

card007 5 سال پیش
والد
کامیت
655818a3dd

+ 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
+		}
+	}
+
 }

+ 139 - 19
src/main/java/com/style24/core/biz/service/TscOrderChangeService.java

@@ -4614,13 +4614,12 @@ public class TscOrderChangeService {
 
 		// 회수지 정보 설정
 		if ("W".equals(oneData.getWdGb())) {
-			// TODO
-			// 회수지 정보 HTML 작성
+			result.setString("chgerInfo", this.getMailReturnChgerInfo(oneData));
 		}
 
 		// 반품 정보 설정
-		// String returnInfo = this.getMailOrderReturnInfo(returnList);
-		// result.setString("returnInfo", returnInfo);
+		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();
@@ -4648,7 +4647,7 @@ public class TscOrderChangeService {
 		result.setString("payMeansNm", payMeansNm);
 		result.setString("refundAmt", df.format(oneData.getRefundAmt()));
 		result.setString("rfPntAmt", df.format(oneData.getRfPntAmt()));
-		result.setString("gfcdUseAmt", df.format(oneData.getRfGfcdUseAmt()));
+		result.setString("rfGfcdUseAmt", df.format(oneData.getRfGfcdUseAmt()));
 		result.setString("totalRefundAmt", df.format(totalRefundAmt));
 
 		// 버튼 URL 설정
@@ -4684,7 +4683,7 @@ public class TscOrderChangeService {
 	public String getMailOrderReturnInfo(Collection<OrderChange> ReturnList) {
 		List<GagaMap> returnDelvList = new ArrayList<>();
 		List<OrderChange> returnDetailList = new ArrayList<>();
-		GagaMap cancelMap = new GagaMap();
+		GagaMap returnMap = new GagaMap();
 		DecimalFormat df = new DecimalFormat("###,###");
 
 		OrderChange oneData = ReturnList.iterator().next();
@@ -4697,14 +4696,14 @@ public class TscOrderChangeService {
 		for (OrderChange returnInfo : ReturnList) {
 			String delvFeeCdTemp = "Y".equals(returnInfo.getSelfGoodsYn()) ? "WMS" : returnInfo.getDelvFeeCd();
 			if (!delvFeeCd.equals(delvFeeCdTemp)) {
-				cancelMap.set("returnDetailList", returnDetailList);
-				cancelMap.setString("delvFeeCd", delvFeeCd);
-				cancelMap.setString("supplyCompNm", supplyCompNm);
-				cancelMap.setString("selfGoodsYn", selfGoodsYn);
-				returnDelvList.add(cancelMap);
+				returnMap.set("returnDetailList", returnDetailList);
+				returnMap.setString("delvFeeCd", delvFeeCd);
+				returnMap.setString("supplyCompNm", supplyCompNm);
+				returnMap.setString("selfGoodsYn", selfGoodsYn);
+				returnDelvList.add(returnMap);
 
 				returnDetailList = new ArrayList<>();
-				cancelMap = new GagaMap();
+				returnMap = new GagaMap();
 				delvFeeCd = delvFeeCdTemp;
 				supplyCompNm = returnInfo.getSupplyCompNm();
 				selfGoodsYn = returnInfo.getSelfGoodsYn();
@@ -4727,17 +4726,138 @@ public class TscOrderChangeService {
 			returnDetailList.add(returnInfo);
 		}
 
-		cancelMap.set("returnDetailList", returnDetailList);
-		cancelMap.setString("delvFeeCd", delvFeeCd);
-		cancelMap.setString("supplyCompNm", supplyCompNm);
-		cancelMap.setString("selfGoodsYn", selfGoodsYn);
-		returnDelvList.add(cancelMap);
+		returnMap.set("returnDetailList", returnDetailList);
+		returnMap.setString("delvFeeCd", delvFeeCd);
+		returnMap.setString("supplyCompNm", supplyCompNm);
+		returnMap.setString("selfGoodsYn", selfGoodsYn);
+		returnDelvList.add(returnMap);
 
 		StringBuilder sb = new StringBuilder();
 
-		// TODO
-		// 반품 상품 정보 HTML 작성
+		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();
 	}
 }