Alter table product Add create_date Timestamp DEFAULT NOW() NOT NULL;
<insert id="createProductVO" parameterType="ProductVO">
INSERT INTO product
(
category
, pic
, title
, price
, text
, user_seq
)
VALUES
(
#{category}
,#{pic}
,#{title}
,#{price}
,#{text}
,#{userSeq}
,#{userSeq}
)
</insert>
@Override
public ResultMap createProduct(ProductVO productVO) throws Exception{
int category = productVO.getCategory();
String picSrc = productVO.getPic();
String title = productVO.getTitle();
Long price = productVO.getPrice();
String text = productVO.getText();
if(title == null || text == null || picSrc == null) {
throw new LogicException("990", "알 수 없는 에러가 발생했습니다");
}
if(title.isEmpty()) {
throw new LogicException("1000", "상품명을 입력해주세요");
}
if(TITLE_SIZE_MAX < title.length()) {
throw new LogicException("1001", "상품명이 너무 깁니다");
}
// 이미지 체크
if(0 >= price) {
throw new LogicException("1004", "가격은 1원 이상이여야 합니다");
}
if(PRICE_SIZE_MAX <= price) {
throw new LogicException("1006", "가격은 1,000,000,000원 이하만 입력 가능합니다");
}
if(text.isEmpty()) {
throw new LogicException("1007", "설명을 입력해주세요");
}
if(TEXT_SIZE_MAX <= text.length()) {
throw new LogicException("1008", "설명은 100자 이하여야 합니다");
}
int result = dao.createProduct(productVO);
if(0 == result) {
throw new LogicException("990", "알 수 없는 에러가 발생했습니다");
}
ResultMap resultMap = new ResultMap();
resultMap.setStatus("200");
resultMap.setMsg("");
return resultMap;
}
@RequestMapping(value = "/post", method = RequestMethod.POST)
public String checkPost(HttpSession session, Model model) throws Exception {
ResultMap resultMap = service.getCheckPost();
model.addAllAttributes(resultMap);
return JSON_VIEW;
}
@RequestMapping(value = "/post", method = RequestMethod.PUT)
public String postProduct(@RequestBody ProductVO productVO, HttpSession session, Model model) throws Exception {
ResultMap resultMap = service.createProduct(productVO);
model.addAllAttributes(resultMap);
return JSON_VIEW;
}
// 페이지 이동
$('#product-new-product-create').click(function(){
console.log('product-new-product-create');
ajaxRequest("/product/post", "", "POST", "location.href='/product/post'");
});
// 상품 등록
$("#product-new-add-product").click(function(){
var category = $('#product-add-select-input').val();
var title = $('#product-title-input-text').val();
var price = $('#product-price-input-text').val();
var text = $('#product-text-input-text').val();
if(category == undefined || title == undefined || price == undefined || text == undefined){
return;
}
price = price.replace(",", "");
var data ={
"category":category,
"title":title,
"price":price,
"text":text
};
ajaxRequest("/product/post", JSON.stringify(data), "PUT", "location.href='/product/list'");
});