스프링

create or replace view v_cart as  
select  
	c.CART_ID , p.price,  c.AMOUNT, c.PRODUCT_ID, c.USERID, m.USERNAME ,p.PRODUCT_NAME ,p.PICTURE_URL, 
	 p.AMOUNT as product_amount  ,p.PRODUCT_STATE, (price*c.amount) as money  , c.CART_REGDATE 
	from 
	 cart c, TBL_MEMBER m, PRODUCT p
	where  c.USERID=m.USERID and c.PRODUCT_ID =p.PRODUCT_ID ;

 

 

@Data
public class CartVO {

	private Integer cart_id;
	private String userid;
	private String username;
	private Integer product_id;
	private String product_name;
	private Integer price;
	private Integer money;
	private Integer amount; //구매수량
	private String product_state;
	
	private String picture_url;
	private Date cart_regdate;
	
	private Integer product_amount; //상품 수량
	
	
	private Integer deliver=10000 ;  //배송비 만원 이하 2500원 추가
	private Integer deliver_money=2500; //기본 배송룡 2500
	private Integer total_deliver_money; //총 배송료
	
	
	private Integer total_sum;
}

 

마지막 사이즈에 전체 가격을 저장한다.

서비스 영역에서 설정  view  영역은    view 만

	@Override
	public List<CartVO> listCart(String userid) {
		List<CartVO> list =null;
		try {
				list=dao.listCart(userid);
				//전체 합계 계산
				int sum=0;
				int sum_deliver=0;
				for(CartVO vo :list){
					sum +=vo.getMoney();
					
					//배송비 차감
					if(vo.getMoney() < vo.getDeliver()){
						sum =sum-vo.getDeliver_money();
					}else{
						//배송비 0원
						vo.setDeliver_money(0);
					}
					
					//배송비
					sum_deliver =vo.getDeliver_money();
					vo.setTotal_deliver_money(sum_deliver);
					
					//전체가격
					vo.setTotal_sum(sum);
				}
				
		} catch (Exception e) {
			e.printStackTrace();
		}
		return list;
	}

 

컨트롤 

	@RequestMapping("/list.do")
	public ModelAndView list(HttpSession session, ModelAndView mav){
		
		Map<String, Object> map =new HashMap<>();
		MemberDTO member=(MemberDTO)session.getAttribute("loginUser");
		List<CartVO> cartList= cartService.listCart(member.getUserid());
		for(CartVO vo :cartList){
			logger.info(" 0000  : " +vo.toString());
		}
		map.put("cartList", cartList);
		map.put("cartSize", cartList.size());
		mav.addObject("map", map);
		mav.setViewName(JSP_PAGE+"cart_list");
		return mav;
	}
	

 

뷰에 서 마지막 List  객체 가져오기

 

<c:set value="${map.cartList.get(map.cartList.size()-1) }" var="list" />

 

      <!-- cart box -->
              <div class="table-responsive">
				<table class="table table-hover">
      <thead>
        <tr>
          
          <th>#</th>
          <th>상품명</th>
          <th>가격</th>
          <th>수량</th>
          <th>구매가격</th>
          <th>배송비</th>
          <th>#</th>
        </tr>
      </thead>
      <tbody>

	
       <c:forEach items="${map.cartList }" var="row">
        <tr>      
          <td><img src="/products/img/${row.picture_url }" style="max-width: 150px; max-height: 100px;"></td>
          <td>${row.product_name }<span class="label label-warning">${row.product_state }</span></td>
          <td>₩<fmt:formatNumber value="${row.price }"  pattern="#,###" /></td>
          <td>
          <select>
          <c:forEach begin="1"  end="${row.product_amount }" var="i"> 
          	<c:choose>
          	<c:when test="${ i ==row.amount}">
          		<option value="${i }" selected="selected">${i }</option>
          	</c:when>
          	<c:otherwise>
          		<option value="${i }">${i }</option>
          	</c:otherwise>
          	</c:choose>	
          </c:forEach>
          </select>
          </td>
          <td><span style="font-weight: bold;">₩<fmt:formatNumber value="${row.money }"  pattern="#,###" /></span></td>
          <td>₩<fmt:formatNumber value="${row.deliver_money }" pattern="#.###" /></td>
          <th scope="row"><button class="btn btn-danger" type="button"  onclick="cartDelete();">삭제</button></th>
        </tr>
        <tr>
     </c:forEach>    
      
      
      
      </tbody>
    </table>

            </div>           
  <!-- cart box end--> 

 

     <div class="table-responsive">
               <h3 style="text-align: center; ">장바구니 총 내역</h3>
               <h3></h3>
               <!-- 마지막 List 가져오기 -->
                <c:set value="${map.cartList.get(map.cartList.size()-1) }" var="list" />
               <table class="table table-hover">
                 <tbody>
                   <tr>
                     <th>배송비</th>
                     <td>
                     <c:choose>
                     	<c:when test="${list.total_deliver_money  >0}">
                     	  <fmt:formatNumber  pattern="#,###"  value="${list.total_deliver_money }" />  
                     	</c:when>
                     	<c:otherwise>
                     	   ₩ 0
                     	</c:otherwise>
                     </c:choose>
                         
                     </td>
                   </tr>
                   <tr>
                     <th>전체 구매 가격</th>
                     <td>
                    
                  		₩ <fmt:formatNumber  pattern="#,###"  value="${list.total_sum }" />  
                     </td>
                   </tr>
                 </tbody>
                 <tfoot>
                 <tr>
                 	<td colspan="2" style="text-align: center;">
                 		 <a href="#" class="btn btn-primary">구매하기</a>
                 		 <a href="/shop/products/list.do" class="btn btn-info">쇼핑 계속하기</a>
                 	</td>
                 	</tr>
                 </tfoot>
               </table>
              
  		 </div>  	

 

 

 

about author

PHRASE

Level 60  머나먼나라

인간은 모방적인 동물이다. 이 특질은 인간의 모든 교육의 근원이다. 요람에서 무덤까지 인간은 남이 하는 것을 보고 그대로 하기를 배운다. -토머스 제퍼슨

댓글 ( 5)

댓글 남기기

작성