Bläddra i källkod

1. 마이페이지 임시 커밋

card007 5 år sedan
förälder
incheckning
6abc924bde

+ 21 - 0
src/main/java/com/style24/core/biz/dao/TscOrderDao.java

@@ -418,8 +418,29 @@ public interface TscOrderDao {
 	 * 마이페이지 주문 정보 조회
 	 *
 	 * @param Order
+	 * @return Collection<Order>
 	 * @author card007
 	 * @since 2021. 02. 04
 	 */
 	Collection<Order> getOrderListForMypage(Order order);
+
+	/**
+	 * 마이페이지 주문상태 별 주문수량 조회
+	 *
+	 * @param Order
+	 * @return int
+	 * @author card007
+	 * @since 2021. 02. 08
+	 */
+	int getOrderStatCount(Order order);
+
+	/**
+	 * 마이페이지 주문변경상태 별 주문수량 조회
+	 *
+	 * @param Order
+	 * @return int
+	 * @author card007
+	 * @since 2021. 02. 08
+	 */
+	int getOrderChangeStatCount(Order order);
 }

+ 51 - 1
src/main/java/com/style24/core/biz/service/TscOrderService.java

@@ -700,6 +700,56 @@ public class TscOrderService {
 	 * @author card007
 	 * @since 2021. 02. 04
 	 */
-	public Collection<Order> getOrderListForMypage(Order order) { return orderDao.getOrderListForMypage(order); }
+	public Collection<Order> getOrderListForMypage(Order order) {
+		Collection<Order> orderList = new ArrayList<>();
+		int ordNo = 0;
+		String delvFeeCd = "";
+		String ordDtlStat = "";
+		int itemCnt = 0;
+		int ordDtlStatCnt = 0;
+		
+		for (Order tmpOrder : orderDao.getOrderListForMypage(order)) {
+			if (ordNo != tmpOrder.getOrdNo() || !delvFeeCd.equals(tmpOrder.getDelvFeeCd())) {
+				itemCnt = 0;
+				ordNo = tmpOrder.getOrdNo();
+				delvFeeCd = tmpOrder.getDelvFeeCd();
+			}
+			
+			if (!ordDtlStat.equals(tmpOrder.getOrdDtlStat())) {
+				ordDtlStatCnt = 0;
+				ordDtlStat = tmpOrder.getOrdDtlStat();
+			}
+			
+			tmpOrder.setItemCnt(itemCnt);
+			tmpOrder.setOrdDtlStatCnt(ordDtlStatCnt);
+
+			orderList.add(tmpOrder);
+
+			itemCnt++;
+			ordDtlStatCnt++;
+		}
+
+		return orderList; 
+	}
+
+	/**
+	 * 마이페이지 주문상태 별 주문수량 조회
+	 *
+	 * @param Order
+	 * @return int
+	 * @author card007
+	 * @since 2021. 02. 08
+	 */
+	public int getOrderStatCount(Order order) { return orderDao.getOrderStatCount(order); }
+
+	/**
+	 * 마이페이지 주문변경상태 별 주문수량 조회
+	 *
+	 * @param Order
+	 * @return int
+	 * @author card007
+	 * @since 2021. 02. 08
+	 */
+	public int getOrderChangeStatCount(Order order) { return orderDao.getOrderChangeStatCount(order); }
 
 }

+ 1 - 0
src/main/java/com/style24/core/support/env/TscConstants.java

@@ -89,6 +89,7 @@ public class TscConstants {
 
 	// 주문상세상태
 	public enum OrderDetailStat {
+		ORDER_RECEIPT("G013_00"),			// 주문접수
 		DEPOSIT_WAIT("G013_10"),			// 입금대기
 		PAYMENT_WAIT("G013_11"),			// 추가결제대기
 		REFUND_CONFIRM_WAIT("G013_17"),		// 발주대기-환불컨펌

+ 1 - 0
src/main/java/com/style24/persistence/domain/Customer.java

@@ -49,6 +49,7 @@ public class Customer extends TscBaseDomain {
 	private String afLinkCd;			// 제휴링크코드
 	private String custGb;				// 회원구분(공통코드G100)
 	private String custGrade;			// 회원등급(공통코드G110)
+	private String custGradeNm;			// 회원등급명
 	private String joinDt;				// 가입일시
 	private String foreignerYn;			// 외국인여부(외국인:Y)
 	private String custStat;			// 고객상태(공통코드G104)

+ 4 - 0
src/main/java/com/style24/persistence/domain/Order.java

@@ -430,4 +430,8 @@ public class Order extends TscBaseDomain {
 	private String applyGb;							// 다다익선 할인 기준
 	private String applyQtySectionYn;				// 다다익선 적용 여부
 	private String applyAmtSectionYn;				// 다다익선 적용 여부
+	
+	// 마이페이지
+	private int itemCnt;
+	private int ordDtlStatCnt;
 }

+ 1 - 0
src/main/java/com/style24/persistence/mybatis/shop/TscCustomer.xml

@@ -28,6 +28,7 @@
 		     , AF_LINK_CD
 		     , CUST_GB
 		     , CUST_GRADE
+		     , FN_GET_CODE_NM('G110', CUST_GRADE) AS CUST_GRADE_NM
 		     , DATE_FORMAT(JOIN_DT, '%Y%m%d%H%i%S') AS JOIN_DT
 		     , FOREIGNER_YN
 		     , CUST_STAT

+ 74 - 1
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -1872,6 +1872,7 @@
 
 	<!-- 마이페이지 주문 목록 조회 -->
 	<select id="getOrderListForMypage" parameterType="Order" resultType="Order">
+		/* TscOrder.getOrderListForMypage */
 		SELECT O.ORD_NO
 			 , OD.ORD_DTL_NO
 			 , OD.ORD_EXCH_GB
@@ -1894,11 +1895,83 @@
 		 INNER JOIN TB_ORDER_DETAIL_ITEM ODI
 		    ON OD.ORD_NO = ODI.ORD_NO
 		   AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
-		 WHERE O.CUST_NO = #{custNo}
+		<where>
+			<choose>
+				<when test='custNo != null and custNo != ""'>
+		   AND O.CUST_NO  =  #{custNo}
+				</when>
+				<otherwise>
+		   AND O.ORD_NO = #{ordNo}
+		   AND O.ORD_NM = #{orderNm}
+				</otherwise>
+			</choose>
+		</where>
+		<choose>
+			<when test="stDate != null and stDate != '' and edDate != null and edDate != ''">
+		   AND O.ORD_DT BETWEEN DATE_FORMAT(CONCAT(#{stDate}, ' 000000'), '%Y-%m-%d %H%i%S') AND DATE_FORMAT(CONCAT(#{edDate}, ' 235959'), '%Y-%m-%d %H%i%S')
+			</when>
+			<otherwise>
+		   AND O.ORD_DT >= DATE_FORMAT(LAST_DAY(NOW() - INTERVAL 3 MONTH) + INTERVAL 1 DAY, '%Y-%m-%d')
+			</otherwise>
+		</choose>
 		 ORDER BY OD.SUPPLY_COMP_CD
 				, OD.DELV_FEE_CD
 				, OD.ORD_NO DESC
 	</select>
+	
+	<!-- 마이페이지 주문상태 별 주문수량 조회 -->
+	<select id="getOrderStatCount" parameterType="Order" resultType="int">
+		/* TscOrder.getOrderStatCount */
+		SELECT COUNT(*) CNT
+		  FROM TB_ORDER O
+		 INNER JOIN TB_ORDER_DETAIL OD
+		    ON O.ORD_NO = OD.ORD_NO
+		<where>
+			<choose>
+				<when test='custNo != null and custNo != ""'>
+		   AND O.CUST_NO  =  #{custNo}
+				</when>
+				<otherwise>
+		   AND O.ORD_NO = #{ordNo}
+		   AND O.ORD_NM = #{orderNm}
+				</otherwise>
+			</choose>
+		</where>
+		   AND OD.ORD_DTL_STAT = #{ordDtlStat}
+		<if test="ordDtlStat == 'G013_60'">
+		   AND O.ORD_DT >= DATE_FORMAT(CURRENT_DATE - INTERVAL 1 WEEK, '%Y-%m-%d')
+		</if>
+	</select>
+
+	<!-- 마이페이지 주문변경상태 별 주문수량 조회 -->
+	<select id="getOrderChangeStatCount" parameterType="Order" resultType="int">
+		/* TscOrder.getOrderChangeStatCount */
+		SELECT COUNT(*) CNT
+		  FROM TB_ORDER_CHANGE_DETAIL OCD
+		 INNER JOIN TB_ORDER_DETAIL OD
+		    ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
+		 INNER JOIN TB_ORDER O
+		    ON O.ORD_NO = OD.ORD_NO
+		<where>
+			<choose>
+				<when test='custNo != null and custNo != ""'>
+					AND O.CUST_NO  =  #{custNo}
+				</when>
+				<otherwise>
+					AND O.ORD_NO = #{ordNo}
+					AND O.ORD_NM = #{orderNm}
+				</otherwise>
+			</choose>
+		</where>
+		<choose>
+			<when test="chgStat == 'G685_30'">
+		   AND OCD.CHG_STAT IN (#{chgStat}, 'G685_33')
+			</when>
+			<otherwise>
+		   AND OCD.CHG_STAT = #{chgStat}
+			</otherwise>
+		</choose>
+	</select>
 </mapper>