728x90
수업내용
1교시 (09:30-10:20)
- 계속 구현 작업
- 각 기능별 delete 기능 만들기 [ ] → 추후 추가
- 세션작업 [ ] → 추후 추가
- 결제창 연결 [V] → 오늘 추가
2교시 (10:30-11:20)
결제창 연결
- mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias type="a.b.c.com.kosmo.product.vo.KosmoProductVO" alias="kosmoproductvo"/>
<typeAlias type="a.b.c.com.kosmo.cart.vo.KosmoCartVO" alias="kosmocartvo"/>
<typeAlias type="a.b.c.com.kosmo.mem.vo.KosmoMemberVO" alias="kosmomembervo"/>
<typeAlias type="a.b.c.com.kosmo.board.vo.KosmoBoardVO" alias="kosmoboardvo"/>
<typeAlias type="a.b.c.com.kosmo.rboard.vo.KosmoRboardVO" alias="kosmorboardvo"/>
<typeAlias type="a.b.c.com.kosmo.like.vo.KosmoBoardLikeVO" alias="kosmoboardlikevo"/>
<typeAlias type="a.b.c.com.kosmo.order.vo.KosmoOrderVO" alias="kosmoordervo"/>
</typeAliases>
</configuration>
- spring_chabun.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="a.b.c.com.kosmo.common.dao.SpringChabunDAO">
<select id="getProductChabun" resultType="kosmoproductvo">
SELECT /*+ INDEX_DESC(A SYS_C0012636) */ NVL(MAX(SUBSTR(A.KPNUM, -4)), 0) + 1 KPNUM FROM KOSMO_PRODUCT A
</select>
<select id="getCartChabun" resultType="kosmocartvo">
SELECT /*+ INDEX_DESC(A SYS_C0012662) */ NVL(MAX(SUBSTR(A.KCNUM, -4)), 0) + 1 KCNUM FROM KOSMO_CART A
</select>
<select id="getMemberChabun" resultType="kosmomembervo">
SELECT /*+ INDEX_DESC(A SYS_C0012664) */ NVL(MAX(SUBSTR(A.KMNUM, -4)), 0) + 1 KMNUM FROM KOSMO_MEMBER A
</select>
<select id="getBoardChabun" resultType="kosmoboardvo">
SELECT /*+ INDEX_DESC(A SYS_C0012694) */ NVL(MAX(SUBSTR(A.KBNUM, -4)), 0) + 1 KBNUM FROM KOSMO_BOARD A
</select>
<select id="getRboardChabun" resultType="kosmorboardvo">
SELECT /*+ INDEX_DESC(A SYS_C0012770) */ NVL(MAX(SUBSTR(A.RKBNUM, -4)), 0) + 1 RKBNUM FROM KOSMO_RBOARD A
</select>
<select id="getOrderChabun" resultType="kosmoordervo">
SELECT /*+ INDEX_DESC(A SYS_C0012826) */ NVL(MAX(SUBSTR(A.KONUM, -4)), 0) + 1 KONUM FROM KOSMO_ORDER A
</select>
</mapper>
- spring_order.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="a.b.c.com.kosmo.order.dao.KosmoOrderDAO">
<insert id="kosmoOrderInsert" parameterType="kosmoordervo" >
INSERT INTO KOSMO_ORDER (
KONUM,
KPNUM, KPID, KPNAME,
KPCNT, KPPRICE, KPPRICESUM
KMNUM, KMID, KMNAME,
KMHP, KMEMAIL,
KODEIVARY,
KOZONE, KOROAD, KOROAD2, KOJIBUN
DELETEYN, INSERTDATE, UPDATEDATE
)
VALUES
( #{konum},
#{kpnum}, #{kpid}, #{kpname},
#{kpcnt}, #{kpprice}, #{kppricesum},
#{kmnum}, #{kmid}, #{kmname},
#{kmhp}, #{kmemail},
#{kodelivery},
'Y', SYSDATE, SYSDATE
)
</insert>
</mapper>
3교시 (11:30-12:20)
결제창 연결
- KosmoOrderVO.java
package a.b.c.com.kosmo.order.vo;
public class KosmoOrderVO {
private String konum;
private String kpnum;
private String kpid;
private String kpname;
private String kpcnt;
private String kpprice;
private String kppricesum;
private String kmnum;
private String kmid;
private String kmname;
private String kmhp;
private String kmemail;
private String kodelivary;
private String kozone;
private String koroad;
private String koroad2;
private String kojibun;
private String deleteyn;
private String insertdate;
private String updatedate;
// 생성자
public KosmoOrderVO() {
}
public KosmoOrderVO(String konum, String kpnum, String kpid, String kpname, String kpcnt, String kpprice,
String kppricesum, String kmnum, String kmid, String kmname, String kmhp, String kmemail, String kodelivary,
String kozone, String koroad, String koroad2, String kojibun, String deleteyn, String insertdate,
String updatedate) {
this.konum = konum;
this.kpnum = kpnum;
this.kpid = kpid;
this.kpname = kpname;
this.kpcnt = kpcnt;
this.kpprice = kpprice;
this.kppricesum = kppricesum;
this.kmnum = kmnum;
this.kmid = kmid;
this.kmname = kmname;
this.kmhp = kmhp;
this.kmemail = kmemail;
this.kodelivary = kodelivary;
this.kozone = kozone;
this.koroad = koroad;
this.koroad2 = koroad2;
this.kojibun = kojibun;
this.deleteyn = deleteyn;
this.insertdate = insertdate;
this.updatedate = updatedate;
}
// setter/getter
public String getKonum() {
return konum;
}
public void setKonum(String konum) {
this.konum = konum;
}
public String getKpnum() {
return kpnum;
}
public void setKpnum(String kpnum) {
this.kpnum = kpnum;
}
public String getKpid() {
return kpid;
}
public void setKpid(String kpid) {
this.kpid = kpid;
}
public String getKpname() {
return kpname;
}
public void setKpname(String kpname) {
this.kpname = kpname;
}
public String getKpcnt() {
return kpcnt;
}
public void setKpcnt(String kpcnt) {
this.kpcnt = kpcnt;
}
public String getKpprice() {
return kpprice;
}
public void setKpprice(String kpprice) {
this.kpprice = kpprice;
}
public String getKppricesum() {
return kppricesum;
}
public void setKppricesum(String kppricesum) {
this.kppricesum = kppricesum;
}
public String getKmnum() {
return kmnum;
}
public void setKmnum(String kmnum) {
this.kmnum = kmnum;
}
public String getKmid() {
return kmid;
}
public void setKmid(String kmid) {
this.kmid = kmid;
}
public String getKmname() {
return kmname;
}
public void setKmname(String kmname) {
this.kmname = kmname;
}
public String getKmhp() {
return kmhp;
}
public void setKmhp(String kmhp) {
this.kmhp = kmhp;
}
public String getKmemail() {
return kmemail;
}
public void setKmemail(String kmemail) {
this.kmemail = kmemail;
}
public String getKodelivary() {
return kodelivary;
}
public void setKodelivary(String kodelivary) {
this.kodelivary = kodelivary;
}
public String getKozone() {
return kozone;
}
public void setKozone(String kozone) {
this.kozone = kozone;
}
public String getKoroad() {
return koroad;
}
public void setKoroad(String koroad) {
this.koroad = koroad;
}
public String getKoroad2() {
return koroad2;
}
public void setKoroad2(String koroad2) {
this.koroad2 = koroad2;
}
public String getKojibun() {
return kojibun;
}
public void setKojibun(String kojibun) {
this.kojibun = kojibun;
}
public String getDeleteyn() {
return deleteyn;
}
public void setDeleteyn(String deleteyn) {
this.deleteyn = deleteyn;
}
public String getInsertdate() {
return insertdate;
}
public void setInsertdate(String insertdate) {
this.insertdate = insertdate;
}
public String getUpdatedate() {
return updatedate;
}
public void setUpdatedate(String updatedate) {
this.updatedate = updatedate;
}
}
- ChabunUtil.java
package a.b.c.com.kosmo.common;
public abstract class ChabunUtil {
public static final String BIZ_GUBUN_P = "P"; // 상품
public static final String BIZ_GUBUN_C = "C"; // 카트
public static final String BIZ_GUBUN_M = "M"; // 회원
public static final String BIZ_GUBUN_B = "B"; // 게시판
public static final String BIZ_GUBUN_R = "RB"; // 게시판 댓글
public static final String BIZ_GUBUN_O = "O"; // 주문
// type : D : YYYYMMDD, M : YYYYMM, Y : YYYY, N;
public static String numPad(String t, String c) {
for (int i=c.length(); i < 4; i++) {
c = "0" + c;
}
String ymd = DateFormatUtil.ymdFormats(t);
return ymd.concat(c);
}
public static String getProductChabun(String type, String memNum) {
return BIZ_GUBUN_P.concat(ChabunUtil.numPad(type, memNum));
}
public static String getCartChabun(String type, String memNum) {
return BIZ_GUBUN_C.concat(ChabunUtil.numPad(type, memNum));
}
public static String getMemberChabun(String type, String memNum) {
return BIZ_GUBUN_M.concat(ChabunUtil.numPad(type, memNum));
}
public static String getBoardChabun(String type, String memNum) {
return BIZ_GUBUN_B.concat(ChabunUtil.numPad(type, memNum));
}
public static String getRboardChabun(String type, String memNum) {
return BIZ_GUBUN_R.concat(ChabunUtil.numPad(type, memNum));
}
public static String getOrderChabun(String type, String memNum) {
return BIZ_GUBUN_O.concat(ChabunUtil.numPad(type, memNum));
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String c = "1";
System.out.println(">>> : " + ChabunUtil.getProductChabun("m", c));
}
}
- SpringChabunDAO.java
package a.b.c.com.kosmo.common.dao;
import a.b.c.com.kosmo.board.vo.KosmoBoardVO;
import a.b.c.com.kosmo.cart.vo.KosmoCartVO;
import a.b.c.com.kosmo.mem.vo.KosmoMemberVO;
import a.b.c.com.kosmo.product.vo.KosmoProductVO;
import a.b.c.com.kosmo.rboard.vo.KosmoRboardVO;
import a.b.c.com.kosmo.order.vo.KosmoOrderVO;
public interface SpringChabunDAO {
public KosmoProductVO getProductChabun();
public KosmoCartVO getCartChabun();
public KosmoMemberVO getMemberChabun();
public KosmoBoardVO getBoardChabun();
public KosmoRboardVO getRboardChabun();
public KosmoOrderVO getOrderChabun();
}
- SpringChabunDAOImpl.java
package a.b.c.com.kosmo.common.dao;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import a.b.c.com.kosmo.board.vo.KosmoBoardVO;
import a.b.c.com.kosmo.cart.vo.KosmoCartVO;
import a.b.c.com.kosmo.mem.vo.KosmoMemberVO;
import a.b.c.com.kosmo.product.vo.KosmoProductVO;
import a.b.c.com.kosmo.rboard.vo.KosmoRboardVO;
import a.b.c.com.kosmo.order.vo.KosmoOrderVO;
@Repository
public class SpringChabunDAOImpl implements SpringChabunDAO {
Logger logger = LogManager.getLogger(SpringChabunDAOImpl.class);
@Autowired(required=false)
private SqlSessionTemplate sqlSession;
@Override
public KosmoProductVO getProductChabun() {
// TODO Auto-generated method stub
logger.info("SpringChabunDAOImpl getProductChabun >>> : ");
return sqlSession.selectOne("getProductChabun"); // getProductChabun
}
@Override
public KosmoCartVO getCartChabun() {
// TODO Auto-generated method stub
logger.info("SpringChabunDAOImpl getCartChabun >>> : ");
return sqlSession.selectOne("getCartChabun"); // getCartChabun
}
@Override
public KosmoMemberVO getMemberChabun() {
// TODO Auto-generated method stub
logger.info("SpringChabunDAOImpl getMemberChabun >>> : ");
return sqlSession.selectOne("getMemberChabun"); // getMemberChabun
}
@Override
public KosmoBoardVO getBoardChabun() {
// TODO Auto-generated method stub
logger.info("SpringChabunDAOImpl getBoardChabun >>> : ");
return sqlSession.selectOne("getBoardChabun"); // getBoardChabun
}
@Override
public KosmoRboardVO getRboardChabun() {
// TODO Auto-generated method stub
logger.info("SpringChabunDAOImpl getRboardChabun >>> : ");
return sqlSession.selectOne("getRboardChabun"); // getRboardChabun
}
@Override
public KosmoOrderVO getOrderChabun() {
// TODO Auto-generated method stub
logger.info("SpringChabunDAOImpl getOrderChabun >>> : ");
return sqlSession.selectOne("getOrderChabun"); // getOrderChabun
}
}
4교시 (12:30-13:20)
결제창 연결
- SpringChabunService.java
package a.b.c.com.kosmo.common.service;
import a.b.c.com.kosmo.board.vo.KosmoBoardVO;
import a.b.c.com.kosmo.cart.vo.KosmoCartVO;
import a.b.c.com.kosmo.mem.vo.KosmoMemberVO;
import a.b.c.com.kosmo.product.vo.KosmoProductVO;
import a.b.c.com.kosmo.rboard.vo.KosmoRboardVO;
import a.b.c.com.kosmo.order.vo.KosmoOrderVO;
public interface SpringChabunService {
public KosmoProductVO getProductChabun();
public KosmoCartVO getCartChabun();
public KosmoMemberVO getMemberChabun();
public KosmoBoardVO getBoardChabun();
public KosmoRboardVO getRboardChabun();
public KosmoOrderVO getOrderChabun();
}
- SpringChabunServiceImpl.java
package a.b.c.com.kosmo.common.service;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import a.b.c.com.kosmo.common.dao.SpringChabunDAO;
import a.b.c.com.kosmo.product.vo.KosmoProductVO;
import a.b.c.com.kosmo.cart.vo.KosmoCartVO;
import a.b.c.com.kosmo.mem.vo.KosmoMemberVO;
import a.b.c.com.kosmo.board.vo.KosmoBoardVO;
import a.b.c.com.kosmo.rboard.vo.KosmoRboardVO;
import a.b.c.com.kosmo.order.vo.KosmoOrderVO;
@Service
@Transactional
public class SpringChabunServiceImpl implements SpringChabunService {
Logger logger = LogManager.getLogger(SpringChabunServiceImpl.class);
@Autowired(required=false)
private SpringChabunDAO springChabunDAO;
@Override
public KosmoProductVO getProductChabun() {
// TODO Auto-generated method stub
logger.info("SpringChabunServiceImpl getProductChabun >>> : ");
return springChabunDAO.getProductChabun();
}
@Override
public KosmoCartVO getCartChabun() {
// TODO Auto-generated method stub
logger.info("SpringChabunServiceImpl getCartChabun >>> : ");
return springChabunDAO.getCartChabun();
}
@Override
public KosmoMemberVO getMemberChabun() {
// TODO Auto-generated method stub
logger.info("SpringChabunServiceImpl getMemberChabun >>> : ");
return springChabunDAO.getMemberChabun();
}
@Override
public KosmoBoardVO getBoardChabun() {
// TODO Auto-generated method stub
logger.info("SpringChabunServiceImpl getBoardChabun >>> : ");
return springChabunDAO.getBoardChabun();
}
@Override
public KosmoRboardVO getRboardChabun() {
// TODO Auto-generated method stub
logger.info("SpringChabunServiceImpl getRboardChabun >>> : ");
return springChabunDAO.getRboardChabun();
}
@Override
public KosmoOrderVO getOrderChabun() {
// TODO Auto-generated method stub
logger.info("SpringChabunServiceImpl getOrderChabun >>> : ");
return springChabunDAO.getOrderChabun();
}
}
- KosmoOrderDAO.java
package a.b.c.com.kosmo.order.dao;
import a.b.c.com.kosmo.order.vo.KosmoOrderVO;
public interface KosmoOrderDAO {
public int kosmoOrderInsert(KosmoOrderVO kovo);
}
- KosmoOrderDAOImpl.java
package a.b.c.com.kosmo.order.dao;
import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import a.b.c.com.kosmo.order.vo.KosmoOrderVO;
@Repository
public class KosmoOrderDAOImpl implements KosmoOrderDAO {
Logger logger = LogManager.getLogger(KosmoOrderDAOImpl.class);
@Autowired(required=false)
private SqlSession sqlSession;
@Override
public int kosmoOrderInsert(KosmoOrderVO kovo) {
// TODO Auto-generated method stub
logger.info("KosmoOrderDAOImpl kosmoOrderInsert 함수 진입 >>> : ");
return (Integer)sqlSession.insert("kosmoOrderInsert", kovo);
}
}
5교시 (14:30-15:20)
결제창 연결
- KosmoOrderService.java
package a.b.c.com.kosmo.order.service;
import a.b.c.com.kosmo.order.vo.KosmoOrderVO;
public interface KosmoOrderService {
public int kosmoOrderInsert(KosmoOrderVO kovo);
}
- KosmoOrderServiceImpl.java
package a.b.c.com.kosmo.order.service;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import a.b.c.com.kosmo.order.dao.KosmoOrderDAO;
import a.b.c.com.kosmo.order.vo.KosmoOrderVO;
@Service
@Transactional
public class KosmoOrderServiceImpl implements KosmoOrderService {
Logger logger = LogManager.getLogger(KosmoOrderServiceImpl.class);
// 서비스에서 DAO 연결하기
// 필드 @Autowired 어노테이션으로 DI (의존성 주입하기)
@Autowired(required=false)
private KosmoOrderDAO kosmoOrderDAO;
@Override
public int kosmoOrderInsert(KosmoOrderVO kovo) {
// TODO Auto-generated method stub
logger.info("KosmoOrderServiceImpl kosmoOrderInsert 함수 진입 >>> : ");
return (Integer)kosmoOrderDAO.kosmoOrderInsert(kovo);
}
}
- KosmoOrderController.java
package a.b.c.com.kosmo.order.controller;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import a.b.c.com.kosmo.cart.service.KosmoCartService;
import a.b.c.com.kosmo.cart.vo.KosmoCartVO;
import a.b.c.com.kosmo.order.vo.KosmoOrderVO;
import a.b.c.com.kosmo.product.vo.KosmoProductVO;
import a.b.c.com.kosmo.common.ChabunUtil;
import a.b.c.com.kosmo.common.NumUtil;
import a.b.c.com.kosmo.common.service.SpringChabunService;
import a.b.c.com.kosmo.order.service.KosmoOrderService;
@Controller
public class KosmoOrderController {
Logger logger = LogManager.getLogger(KosmoOrderController.class);
// 필드 오토와이어드
@Autowired(required=false)
private SpringChabunService springChabunService;
// 필드 오토와이어드
@Autowired(required=false)
private KosmoOrderService kosmoOrderService;
// 주문 입력 폼
@RequestMapping(value="kosmoOrderInsertForm", method=RequestMethod.GET)
public String kosmoOrderInsertForm(KosmoCartVO kcvo, Model model) {
logger.info("KosmoOrderController kosmoOrderInsertForm 함수 진입 >>> : ");
logger.info("kcvo.getKcnum() >>> : " + kcvo.getKcnum());
logger.info("kcvo.getKpid() >>> : " + kcvo.getKpid());
logger.info("kcvo.getKpname() >>> : " + kcvo.getKpname());
logger.info("kcvo.getKpfile() >>> : " + kcvo.getKpfile());
logger.info("kcvo.getKpcnt() >>> : " + kcvo.getKpcnt());
kcvo.setKpprice(NumUtil.comma_replace(kcvo.getKpprice()));
logger.info("kcvo.getKpprice() >>> : " + kcvo.getKpprice());
kcvo.setKppricesum(NumUtil.comma_replace(kcvo.getKppricesum()));
logger.info("kcvo.getKppricesum() >>> : " + kcvo.getKppricesum());
logger.info("kcvo.getKpnum() >>> : " + kcvo.getKpnum());
logger.info("kcvo.getKmnum() >>> : " + kcvo.getKmnum());
return "order/kosmoOrderInsertForm";
}
// 주문하기
@RequestMapping(value="kosmoOrderInsert", method=RequestMethod.POST)
public String kosmoOrderInsert(HttpServletRequest req) {
logger.info("KosmoOrderController kosmoOrderInsert 함수 진입 >>> : ");
// 채번 구하기
String konum = ChabunUtil.getOrderChabun("D", springChabunService.getOrderChabun().getKonum());
logger.info("KosmoOrderController kosmoOrderInsert konum >>> : " + konum);
KosmoOrderVO kovo = null;
kovo = new KosmoOrderVO();
kovo.setKonum(konum);
kovo.setKpnum(req.getParameter("kpnum"));
kovo.setKpid(req.getParameter("kpid"));
kovo.setKpname(req.getParameter("kpname"));
kovo.setKpcnt(req.getParameter("kpcnt"));
kovo.setKpprice(req.getParameter("kpprice"));
kovo.setKppricesum(req.getParameter("kppricesum"));
kovo.setKmnum(req.getParameter("kmnum"));
kovo.setKmname(req.getParameter("kmname"));
kovo.setKmhp(req.getParameter("kmhp"));
kovo.setKmemail(req.getParameter("kmemail"));
kovo.setKodelivary(req.getParameter("kodelivary"));
kovo.setKozone(req.getParameter("kozone"));
kovo.setKoroad(req.getParameter("koroad"));
kovo.setKoroad2(req.getParameter("koroad2"));
kovo.setKojibun(req.getParameter("kojibun"));
kovo.setDeleteyn(req.getParameter("deleteyn"));
kovo.setInsertdate(req.getParameter("insertdate"));
kovo.setUpdatedate(req.getParameter("updatedate"));
// 서비스 호출
int nCnt = kosmoOrderService.kosmoOrderInsert(kovo);
logger.info("KosmoOrderController.kosmoOrderInsert nCnt : " + nCnt);
if (nCnt > 0) {
return "order/kosmoOrderInsert";
}
return "product/kosmoProductSelectAll";
}
}
6교시 (15:30-16:20)
결제창 연결
- kosmoProductSelect.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="a.b.c.com.kosmo.product.vo.KosmoProductVO" %>
<%@ page import="java.util.List" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<% request.setCharacterEncoding("UTF-8"); %>
<%
Object obj = request.getAttribute("listS");
List<KosmoProductVO> list = (List)obj;
String kpprice = "";
KosmoProductVO _kpvo = null;
if (list.size() == 1) {
_kpvo = list.get(0);
kpprice = _kpvo.getKpprice();
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="/kosmoSpring/js/common.js"></script>
<script src="http://code.jquery.com/jquery-1.12.4.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(function(){
// 경매 끝나는 시간
const action_end_time = 2000;
// 현재 시간
const current_time = 1100;
// 경매 남은 시간
var time = action_end_time - current_time;
var min = "";
var sec = "";
// setInterval('', 천분에일초);
// setInterval(function(), 1000); // 1초에 한번씩 invoke(호출) 하시오
var x = setInterval(function(){
min = parseInt(time / 60);
hour = parseInt(min / 60);
sec = time % 60;
min = min % 60;
document.getElementById("time").innerHTML = hour + "시" + min + "분" + sec + "초";
time--;
if (time < 0){
clearInterval(x)
document.getElementById("time").innerHTML = "시간초과";
}
}, 1000);
});
let kpprice = '<%= kpprice %>';
kpprice = comma(kpprice);
console.log(kpprice);
$('#kpprice').val(kpprice);
$(document).on('change', '#kpcnt', function(){
alert('kpcnt >>> : ')
let cntS = $('#kpcnt').val();
alert("cntS >>> : " + cntS);
let kppriceSum = comma_replace(kpprice) * cntS;
$('#kppricesum').val(comma(kppriceSum));
});
$(document).on('click', '#cartBtn', function(){
alert('cartBtn >>> : ');
let kpcntV = $("#kpcnt").val();
let priceSum = $("#kppricesum").val();
if(kpcntV == 0 && priceSum == 0){
alert("상품 수량을 선택하세요");
return;
}
$('#productSelectForm').attr({
"action":"kosmoCartInsert.k",
"method":"GET"
}).submit();
});
$(document).on('click', '#stockBtn', function(){
alert('stockBtn >>> : ');
});
$(document).on('click', '#buyBtn', function(){
alert('buyBtn >>> : ');
let kpcntV = $('#kpcnt').val();
alert("kpcntV >>> : " + kpcntV);
let priceSum = $('#kppricesum').val();
alert("priceSum >>> : " + priceSum);
$('#kpprice').val(comma_replace(kpprice));
let kppriceSum = comma_replace(kpprice) * kpcntV;
$('#kppricesum').val(kppriceSum);
if (kpcntV == 0 && priceSum == 0){
alert("상품 수량을 선택하세요");
return;
} else {
$("#productSelectForm").attr(
{
"action":"kosmoOrderInsertForm.k",
"method":"GET"
}
).submit();
}
});
});
</script>
<style type="text/css">
table {
margin: 20px auto;
}
table, td, th {
border-collapse : collapse;
border: 1px solid black;
}
</style>
</head>
<body>
<h3>kosmoProductSelect.jsp</h3>
<hr>
<div>
<form name="productSelectForm" id="productSelectForm">
<table>
<tr>
<td rowspan="7" align="center" vertical-align="middle" style="width:200px;">
<img src="/kosmoSpring/fileupload/product/<%= _kpvo.getKpfile() %>" width="130" height="130">
</td>
<td align="center" colspan="2" >
<input type="text" name="kpname" id="kpname" value="<%= _kpvo.getKpname() %>"
style="width:300px;text-align:center;" readonly />
</td>
</tr>
<tr>
<td align="right" colspan="2">
<input type="text" name="kpprice" id="kpprice" value="<%= kpprice %>"
style="width:280px;text-align:right;" readonly /> 원
</td>
</tr>
<tr>
<td><label align="left">수량 :</label></td>
<td align="right">
<select name="kpcnt" id="kpcnt" style="width:200px;">
<option value="0">수량</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</td>
</tr>
<tr>
<td><label align="left">총 합계 :</label> </td>
<td align="right">
<input type="text" name="kppricesum" id="kppricesum" value="0"
style="width:170px;text-align:right;" readonly /> 원
</td>
</tr>
<tr>
<td><label align="left">시간 : </label></td>
<td align="right">
<font size="5" style="color:red;"><span id="time"></span></font>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="hidden" name="kpfile" id="kpfile" value="<%= _kpvo.getKpfile() %>" >
<input type="hidden" name="kpid" id="kpid" value="<%= _kpvo.getKpid() %>" >
<input type="hidden" name="kpnum" id="kpnum" value="<%= _kpvo.getKpnum() %>" >
<input type="hidden" name="kcnum" id="kcnum" value="<%= 1233 %>">
<input type="hidden" name="kmnum" id="kmnum" value="<%= 1234 %>" >
<input type="button" id="cartBtn" value="장바구니" style="width:150px;">
<input type="button" id="stockBtn" value="재고확인" style="width:155px;">
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="button" id="buyBtn" value="구매하기" style="width:310px;" >
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
- kosmoOrderInsertForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="a.b.c.com.kosmo.common.NumUtil" %>
<% request.setCharacterEncoding("UTF-8"); %>
<%
String kpfile = request.getParameter("kpfile");
String kpid = request.getParameter("kpid");
String kpname = request.getParameter("kpname");
String kpcnt = request.getParameter("kpcnt");
String kpprice = request.getParameter("kpprice");
String kppricesum = request.getParameter("kppricesum");
kppricesum = NumUtil.comma_replace(kppricesum);
String kpnum = request.getParameter("kppricesum");
String kmnum = request.getParameter("kpnum");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<!-- Iamport 결제 api -->
<script type="text/javascript"
src="https://cdn.iamport.kr/js/iamport.payment-1.1.5.js"></script>
<!-- 다음 우편번호 주소 -->
<script src="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript" src="/kosmoSpring/js/common.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var kpname = '<%= kpname %>';
var kppricesum = '<%= kppricesum %>';
alert(kpname + " : " + kppricesum);
// 이메일
$("#koemail2").change(function(){
$("#koemail2 option:selected").each(function() {
if ($(this).val() == '1') { // 직접 입력일 경우
var aa = $("#koemail1").val();
$("#koemail1").val(''); // 값 초기화
$("#koemail1").attr("readonly",false); // 활성화
} else { // 직접입력이 아닐경우
$("#koemail1").val($(this).text()); // 선택값 입력
$("#koemail1").attr("readonly",true); // 비활성화
}
});
});
// 우편번호
$("#zoneBtn").click(function(){
console.log("zonecode >>> : ");
new daum.Postcode({
oncomplete: function(data) {
$("#kozone").val(data.zonecode); // 5자리 새우편번호 사용
$("#koroad").val(data.roadAddress); // 도로명 주소
$("#kojibun").val(data.jibunAddress); // 지번주소
}
}).open();
});
$(document).on('click', '#orderBtn', function(){
$("#orderForm").attr(
{
"action":"kosmoOrderInsert.k",
"method":"GET"
}
).submit();
});
$(document).on('click', '#cardBtn', function(){
alert('cardBtn >>> : ');
let kpprice = '<%= kpprice %>';
kpprice = comma_replace(kpprice);
console.log('kpprice >>> : ' + kpprice);
let cntS = '<%= kpcnt %>';
console.log('cntS >>> : ' + cntS);
let kppriceSum = kpprice * cntS;
kppricesum = comma_replace(kppricesum);
console.log('kppricesum >>> : ' + kppricesum);
//가맹점 식별코드
IMP.init('imp59833935');
IMP.request_pay({
pg : 'INIpayTest',
pay_method : 'card',
merchant_uid : 'merchant_' + new Date().getTime(),
name : kpname , //결제창에서 보여질 이름
amount : kppricesum , //실제 결제되는 가격
buyer_email : "1234@naver.com",
buyer_name : kmname,
buyer_tel : kohp,
buyer_addr : '',
buyer_postcode : kozone
}, function(rsp) {
console.log(rsp);
if ( rsp.success ) {
var msg = '결제가 완료되었습니다.';
msg += '고유ID : ' + rsp.imp_uid;
msg += '상점 거래ID : ' + rsp.merchant_uid;
msg += '결제 금액 : ' + rsp.paid_amount;
msg += '카드 승인번호 : ' + rsp.apply_num;
} else {
var msg = '결제에 실패하였습니다.';
msg += '에러내용 : ' + rsp.error_msg;
}
alert(msg);
});
});
});
</script>
<style type="text/css">
.mem {
text-align:center;
}
h3 {
text-align:center;
}
</style>
</head>
<body>
<h3>주문하기</h3>
<hr>
<form name="orderForm" id="orderForm">
<table border="1" align="center">
<tr>
<td colspan="6" align="center">
<font size="4" style="color:blue;">상품 주문하기</font>
<img src="/kosmoSpring/img/img_mandu/ase.gif" width="25" height="25" alt="image">
</td>
</tr>
<tr>
<td colspan="6" align="left"><font size="3" style="color:blue;">1. 주문확인</font></td>
</tr>
<tr>
<td class="mem">주문 상품명</td>
<td class="mem">수량</td>
<td class="mem">주문 금액</td>
<td class="mem">배송비</td>
<td class="mem">적립금</td>
<td class="mem">주문금액합계</td>
</tr>
<tr>
<td class="mem">
<img src="/kosmoSpring/fileupload/product/<%= kpfile %>" width="50" height="50">
<%= kpname %>
</td>
<td class="mem"><%= kpcnt %>개</td>
<td class="mem"><%= kpprice %>원</td>
<td class="mem">0원</td>
<td class="mem">1000원</td>
<td class="mem"><%= kppricesum %>원</td>
</tr>
<tr>
<td colspan="6" align="left"><font size="3" style="color:blue;">2. 배송지 정보</font></td>
</tr>
<tr>
<td>배송방법</td>
<td colspan="5">
<input type="radio" name="kodelivery" id="kodelivery_01" value="01" checked/>일반택배
<input type="radio" name="kodelivery" id="kodelivery_02" value="02"/>편의점택배
<input type="radio" name="kodelivery" id="kodelivery_03" value="03"/>해외배송
</td>
</tr>
<tr>
<td>받으실 분</td>
<td colspan="5"><input type="text" name="kmname" id="kmname"/></td>
</tr>
<tr>
<td>핸드폰</td>
<td colspan="5">
<select name="kohp" id="kohp">
<option value="010">010</option>
<option value="011">011</option>
<option value="016">016</option>
<option value="017">017</option>
</select>
- <input type="text" name="kohp1" id="kohp1" size="2" maxlength="4" />
- <input type="text" name="kohp1" id="kohp1" size="2" maxlength="4" />
</td>
</tr>
<tr>
<td>이메일</td>
<td colspan="5">
<input type="text" name="koemail" id="koemail" style="width:100px"/>
@ <input type="text" name="koemail1" id="koemail1" style="width:100px" placeholder="직접입력" />
<select name="koemail2" id="koemail2">
<option value="1" selected>직접입력</option>
<option value="naver.com">naver.com</option>
<option value="gmail.com">gmail.com</option>
<option value="daum.net">daum.net</option>
</select>
</td>
</tr>
<tr>
<td>주소</td>
<td colspan="5">
<input type="text" name="kozone" id="kozone" placeholder="우편번호" style="width:50px" maxlength="6" >
<input type="button" name="zoneBtn" id="zoneBtn" value="우편번호 찾기"><br>
<input type="text" name="koroad" id="koroad" placeholder="도로명주소" style="width:250px"><br>
<input type="text" name="koroad2" id="koroad2" placeholder="도로명주소 상세주소" style="width:250px"><br>
<input type="text" name="kojibun" id="kojibun" placeholder="지번주소" style="width:250px">
</td>
</tr>
<tr>
<td colspan="6" align="center">
<button type="button" id="orderBtn">주문</button>
<button type="button" id="cardBtn">결제</button>
<button type="reset">다시 </button>
</td>
</tr>
</table>
</form>
</body>
</html>
- kosmoOrderInsert.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>kosmoOdererInsert.jsp</h3>
<hr>
<script>
location.href="#/kosmoSpring/kosmoOdererSelecttAll.k";
</script>
</body>
</html>
- index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>index.jsp</h3>
<hr>
<a href="kosmoProductInsertForm.k">코스모 상품 입력</a><br>
<a href="kosmoProductSelectAll.k">코스모 상품 전체조회</a><br>
<p>
<a href="kosmoMemberInsertForm.k">코스모 회원 입력</a><br>
<a href="kosmoMemberSelectAll.k">코스모 회원 전체조회</a><br>
<p>
<a href="kosmoLoginForm.k">코스모 로그인</a><br>
<p>
<a href="kosmoMainPage.k">코스모 메인</a><br>
<p>
<a href="kosmoBoardInsertForm.k">코스모 게시판 글쓰기</a><br>
<a href="kosmoBoardSelectAll.k">코스모 게시판 전체조회</a><br>
<p>
<a href="kosmoRboardForm.k">코스모 댓글 쓰기 </a><br>
<p>
<a href="kosmoBoardLikeForm.k">코스모 게시판 좋아요 </a><br>
</body>
</html>
7교시 (16:30-17:20)
- 스프링 총 정리
8교시 (17:30-18:30)
- 스프링 총 정리
Notes
- [V] data.go.kr에서 신청
- 다음 주부터 빅데이터 들어감
728x90
'국비지원교육 (22.01-22.07) > 강의노트' 카테고리의 다른 글
22-05-31(화) 086일차 [JSON] 인코딩과 JSON의 활용 (0) | 2022.06.23 |
---|---|
22-05-30(월) 085일차 [JSON] JSON 형식과 활용 (0) | 2022.06.22 |
22-05-26(목) 083일차 [Oracle, Spring Framework, Mybatis Framework] 좋아요 만들기 (0) | 2022.06.22 |
22-05-25(수) 082일차 [Oracle, Spring Framework, Mybatis Framework] 댓글 만들기 (0) | 2022.06.22 |
22-05-24(화) 081일차 [Oracle, Spring Framework, Mybatis Framework] 게시판 만들기 (0) | 2022.06.22 |