-
식단 관리 - 추천 식단크루메이트 코드 리뷰!! 2020. 9. 18. 03:22
식단표 제목 클릭 이벤트
function recommendDietInfo(e){ var dietNo = $(e).find('input').val(); $.ajax({ url : '${pageContext.request.contextPath}/user/diet/recommendDietInfo', data : { diet_no : dietNo }, success : function(result){ $(e).closest('div').next().find('div').empty(); var dietInfo ='<div class="callout-block callout-warning">'; dietInfo += '<div class="content ml-0">'; dietInfo += '<h4 class="callout-title"> 아침</h4>'; $.each(result.dietInfoList1, function(index, item){ dietInfo += '<p class="text-dark mt-3">'+item.menu_name+ ' ('+item.menu_kcal+'kcal)</p>'; }) dietInfo += '<br><h4 class="callout-title"> 점심</h4>'; $.each(result.dietInfoList2, function(index, item){ dietInfo += '<p class="text-dark mt-3">'+item.menu_name+ ' ('+item.menu_kcal+'kcal)</p>'; }) dietInfo += '<br><h4 class="callout-title"> 저녁</h4>'; $.each(result.dietInfoList3, function(index, item){ dietInfo += '<p class="text-dark mt-3">'+item.menu_name+' ('+ item.menu_kcal+'kcal)</p>'; }) dietInfo += '</div>'; dietInfo += '<div class="flex_justify-end diet_date"><input style="flex-basis: 30px;" type="date" class="form-control"></div>'; dietInfo += '<div class="flex_justify-end"><button type="button" onclick="dietInsertToDietDay(this)">내 식단에 추가하기</button></div>' dietInfo += '</div>'; $(e).closest('div').next().find('div').append(dietInfo); }, erorr: function(result){ alert('상세조회 실패') } }) }
날짜 선택 후 추가하기 버튼 클릭 시 이벤트
function dietInsertToDietDay(e){ var dietNo = $(e).parents('div.accordion-item').find('input').val(); var dietDate = $(e).parent().prev().find('input').val(); $.ajax({ url : '${pageContext.request.contextPath}/user/diet/dietInsertToDietDay', data : { diet_no : dietNo, diet_date : dietDate }, success : function(result){ alert('추가 완료'); }, error : function(result){ alert('추가 실패') } }) }
@RequestMapping("dietInsertToDietDay") public ModelAndView dietInsertToDietDay(ModelAndView andView, Map<String, String> params, HttpServletRequest request, HttpSession session, @RequestParam(value="diet_no", required = false) String diet_no, @RequestParam(value="diet_date", required = false) String diet_date) throws Exception{ session = request.getSession(); MemberVO memberInfo = (MemberVO) session.getAttribute("LOGIN_MEMBERINFO"); String mem_no = memberInfo.getMem_no(); params.put("diet_no", diet_no); params.put("mem_no", mem_no); params.put("dd_date", diet_date); //diet테이블에서 diet_no에 해당하는 값 가져온다. DietVO dietInfo = dietService.selectDietInfo(params); //diet_info 테이블에서 diet_no에 해당 하는 값 가져온다. List<Diet_infoVO> dietInfoList = dietService.recommendDietInfo(params); // diet_day 테이블에 넣을 값 세팅 Diet_dayVO dietDayInsert = new Diet_dayVO(); dietDayInsert.setDd_kcal(dietInfo.getDiet_kcal()); dietDayInsert.setDd_date(diet_date); dietDayInsert.setMem_no(mem_no); // diet_day_info에넣을 값 세팅1 List<Diet_day_infoVO> dietDayInfoInsert = new ArrayList<Diet_day_infoVO>(); Diet_dayVO dietDayInfo = dietService.selectDietDay(params); if(dietDayInfo == null) { // diet_day 테이블에 diet_date로 검색해서 값이 없으면 그냥 삽입 dietService.insertDietDay(dietDayInsert); // 삽입한 dd_no로 diet_day_info 테이블에 삽입 // diet_day_info에넣을 값 세팅2 for(Diet_infoVO dietinfor : dietInfoList) { Diet_day_infoVO dietDayInfor = new Diet_day_infoVO(); dietDayInfor.setDd_info_division(dietinfor.getDiet_info_division()); dietDayInfor.setMenu_no(dietinfor.getMenu_no()); dietDayInfor.setDd_no(dietDayInsert.getDd_no()); dietDayInfoInsert.add(dietDayInfor); } dietService.InsertDietDayInfoList(dietDayInfoInsert); params.put("dd_no", dietDayInsert.getDd_no()); dietService.updateDietDayKcal(params); }else { // diet_day 테이블에 diet_date로 검색해서 값이 있으면 cascade로 삭제하고 삽입 dietService.deleteDietDay(params); dietService.insertDietDay(dietDayInsert); for(Diet_infoVO dietinfor : dietInfoList) { Diet_day_infoVO dietDayInfor = new Diet_day_infoVO(); dietDayInfor.setDd_info_division(dietinfor.getDiet_info_division()); dietDayInfor.setMenu_no(dietinfor.getMenu_no()); dietDayInfor.setDd_no(dietDayInsert.getDd_no()); dietDayInfoInsert.add(dietDayInfor); } dietService.InsertDietDayInfoList(dietDayInfoInsert); params.put("dd_no", dietDayInsert.getDd_no()); dietService.updateDietDayKcal(params); } andView.setViewName("jsonConvertView"); return andView; }
'크루메이트 코드 리뷰!!' 카테고리의 다른 글
식단 관리 - 다이어트 일기장 (0) 2020.09.18 식단 관리 - 열량 차트 (0) 2020.09.18 식단 관리 - 나의 식단표 (0) 2020.09.18 식단 관리 - 회원 정보 조회, 등록, 수정, 삭제 (0) 2020.09.18 식단관리 - 칼로리 사전 (0) 2020.09.18