동기화 기능 적용중 - 1

dev_bert
jonghwan76 3 years ago
parent ca0b6a2001
commit 547782d9fa

@ -13,4 +13,7 @@ public interface M_Member_envBO {
public abstract DataMap select_member_env(DataMap paramMap) throws Exception;
public abstract int update_member_env(DataMap paramMap) throws Exception;
public abstract int insert_bf_family_baby(DataMap paramMap) throws Exception;
public abstract int insert_sync_log(DataMap paramMap) throws Exception;
}

@ -63,4 +63,54 @@ public class M_Member_envBOImpl extends AbstractBOManager implements M_Member_en
return result;
}
/**
*
* @param paramMap
* @return
* @throws Exception
*/
public int insert_bf_family_baby(DataMap paramMap) throws Exception{
int result = 0;
try {
generalDAO.setNamespace(SQLMAP_NAMESPACE);
generalDAO.startTransaction();
result = (int)generalDAO.update("insert_bf_family_baby", paramMap);
generalDAO.commitTransaction();
} catch (SQLException e) {
throw e;
}finally{
generalDAO.endTransaction();
}
return result;
}
/**
*
* @param paramMap
* @return
* @throws Exception
*/
public int insert_sync_log(DataMap paramMap) throws Exception{
int result = 0;
try {
generalDAO.setNamespace(SQLMAP_NAMESPACE);
generalDAO.startTransaction();
result = generalDAO.update("insert_sync_log", paramMap);
generalDAO.commitTransaction();
} catch (SQLException e) {
throw e;
}finally{
generalDAO.endTransaction();
}
return result;
}
}

@ -30,6 +30,7 @@ import com.renastudio.creative.web.util.RenaStringUtil;
import com.renastudio.creative.web.util.cookie.RenaEncription;
import com.renastudio.creative.web.util.file.FileAgent;
import com.renastudio.creative.web.util.file.FileMeta;
import com.renastudio.creative.web.util.date.DateUtil;
/**
* @author renamaestro
@ -370,6 +371,83 @@ public class M_Member_envController extends AbstractControllerManager{
}catch(Exception ex1){ redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); ex1.printStackTrace();}
return redirect_url;
}
/**
* AJAX
* @param model
* @param request
* @param response
* @return
*/
@RequestMapping(value="ajax_insert_family_baby_sync")
@ResponseBody
public HashMap<String, Object> ajax_insert_family_baby_sync(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response) {
DataMap paramMap = gmUtil.getDataMapFromRequest(request);
HashMap<String, Object> result = new HashMap<String, Object>();
result.put("RESULT", ConstantResultCode.RESULT_INIT);
DataMap rm_mem = new DataMap();
try {
boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap);
if(is_login == false) {
result.put("RESULT", ConstantResultCode.RESULT_SESSION_OUT);
}else{
int ins_result = member_envBO.insert_bf_family_baby(rm_mem);
if(ins_result > 0) {
result.put("RESULT", ConstantResultCode.RESULT_SUCCESS);
} else {
result.put("RESULT", ConstantResultCode.RESULT_EXCEPTION);
}
}
} catch (Exception ex1) {
ex1.printStackTrace();
result.put("RESULT", ConstantResultCode.RESULT_EXCEPTION);
}
return result;
}
/**
* > ( )
* @param model
* @param request
* @param response
* @param ra
* @return
*/
@RequestMapping(value="setting_sync")
public String setting_sync(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response
, RedirectAttributes ra) {
DataMap paramMap = gmUtil.getDataMapFromRequest(request);
String view_nm = RenaStringUtil.getData(paramMap, "view_nm");
String redirect_url = "m/member_env/" + view_nm;
String check_num = DateUtil.getUniqueNumber(4); //4자리 난수코드 생성
try {
boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap);
if(is_login == false) {
ra.addFlashAttribute("call_native_login", "Y");
redirect_url = "redirect:/m/login/view_login.do";
}else{
HttpSession session = request.getSession(false);
DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER);
rm_mem.put("check_num", check_num);
int iResult = member_envBO.insert_sync_log(rm_mem);
log.info("발행코드 등록결과 : " + iResult);
DataMap.putToModel(model, "rm_mem", rm_mem);
// DataMap.putToModel(model, "rm_env", rm_env);
}
}catch(Exception ex1){ redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); ex1.printStackTrace();}
gmUtil.redirectParam(model, paramMap);
return redirect_url;
}
}

@ -48,4 +48,58 @@
WHERE member_id = #member_id#
</update>
<!-- 아이정보 동기화 코드 발행 -->
<update id="insert_sync_log" parameterClass="dataMap">
INSERT INTO tbl_sync_log
(
check_num,
member_id,
reg_dt
)
VALUES
(
#check_num#,
#member_id#,
now()
)
</update>
<!-- 아이정보 해당 아이디로 동기화 처리 -->
<update id="insert_bf_family_baby" parameterClass="dataMap">
INSERT IGNORE INTO tbl_bf_family_baby
(
smc_no,
name,
gender,
birthday,
weight_birth,
height_birth,
weight,
height,
allergie,
append_src_img_file,
append_300_img_file,
reg_dt,
member_id
)
SELECT
smc_no,
a.name,
gender,
birthday,
weight_birth,
height_birth,
weight,
height,
allergie,
append_src_img_file,
append_300_img_file,
now(),
#ins_member_id#
FROM tbl_bf_family_baby a
INNER JOIN tbl_sync_log b on a.member_id = b.member_id and b.check_num = '9656' and DATE_ADD(b.reg_dt, INTERVAL 180 second) > now()
WHERE a.member_id = #member_id#
LIMIT 1
</update>
</sqlMap>

@ -9,7 +9,7 @@
</header>
<main class="m_setting">
<h2 class="s_title">계정관리</h2>
<h2 class="s_title">정보입력</h2>
<div class="setting_box">
<div class="list_item">
<a href="${URL_ROOT}/m/member_env/setting_nm.do?return_url=setting&view_nm=view_set_account" class="more_item">${model['rm_mem']['name']!}</a>
@ -23,11 +23,31 @@
<a href="${URL_ROOT}/m/bf_family_baby/list_bf_family_baby.do?return_url=setting" class="more_item">아이 정보 변경</a>
</div>
</div>
<h2 class="s_title">동기화</h2>
<div class="setting_box">
<div class="list_item">
<a href="${URL_ROOT}/m/member_env/setting_sync_confirm.do?return_url=setting&view_nm=setting_sync_confirm" class="more_item">인증코드 확인</a>
</div>
<div class="list_item">
<a href="${URL_ROOT}/m/member_env/setting_sync.do?return_url=setting&view_nm=setting_sync" class="more_item">동기화</a>
</div>
</div>
<h2 class="s_title">사용환경 설정</h2>
<div class="setting_box">
<div class="list_item">
<a href="${URL_ROOT}/m/member_env/setting_env_viewnm.do?return_url=setting&view_nm=view_set_lighting_time" class="more_item">무드등 시간 설정</a>
</div>
<div class="list_item">
<a href="#" class="more_item">음악 설정</a>
</div>
<div class="list_item">
<a href="#" class="more_item">기록 카테고리 수정</a>
</div>
<div class="list_item">
<a href="#" class="more_item">자주쓰는 표현 수정</a>
</div>
</div>
<h2 class="s_title">고객지원</h2>

@ -0,0 +1,91 @@
<#include "/m/include/index_top.ftl">
<body class="bg_setting">
<div class="wrap">
<header class="header_wrapper">
<a href="javascript:history.back();" class="side_Lbtn hidden pre_btn">이전으로</a>
<h1 class="header_title">동기화 하기</h1>
<a href="#" class="side_Rbtn hidden"></a>
</header>
<form id="frmJoinMember" name="frmJoinMember" method="post" action="accountJoin.do" enctype="multipart/form-data">
<input type="hidden" id="s_no" name="s_no" value="" />
<input type="hidden" id="sns_id" name="sns_id" value="${Session.rm_member['sns_id']!}" /> <!-- 소셜아이디 -->
<main class="m_join_member">
<div class="profile_wrap">
<!-- 주석처리 되어있는 부분 다시 해제 -->
<div class="profile_cont phone_cont">
<h2 class="p_title">동기화 코드</h2>
<div class="p_list_item p_border_box">
<div class="p_input_box">
<input type="number" id="sync_num" name="sync_num" value="${model['rm_mem']['check_num']}">
<span id="id_limit_time" class="timer">02:59</span>
</div>
<button type="button" id="id_phone_num" onclick="javascript:location.reload()" class="btns blue_btn">재발행</button>
</div>
</div>
</div>
</main>
</form>
</div>
</body>
<script>
var is_loading = false;
var s_time = 10;
var timer_check;
stop_timer = function(){
clearInterval(timer_check);
s_time = 10;
is_loading = false;
};
start_timer = function() {
stop_timer();
timer_check = setInterval(function() {
if(s_time < 0){
stop_timer();
Swal.fire({ text: "다시 인증코드를 발행해 주시기 바랍니다.", icon: 'warning', showConfirmButton: false, timer: 1500 }); // success
}else{
--s_time;
var min = parseInt((s_time%3600)/60);
var sec = s_time%60;
if(sec > -1){
var remain_time = min + ":" + (sec < 10 ? "0" + sec : sec);
console.log('min:' + min + ' sec:' + sec + ' remain_time:' + remain_time);
$('#id_limit_time').text(remain_time);
}
}
}, 1000);
};
start_timer();
</script>
<script>
$(document).ready(function(){
<#if model['script_msg']?has_content>
Swal.fire({
text: "${model['script_msg']}",
icon: 'warning', // success
showConfirmButton: false,
timer: 2000
});
</#if>
});
</script>
<#include "/m/include/index_bottom.ftl">
Loading…
Cancel
Save