<select id="maxMem" resultType="String">
SELECT MAX(MEM_NO) AS MEM
FROM MEMBER
</select>
<insert id="joinIcon" parameterType="hashmap">
INSERT INTO ICON_BUY(MEM_NO, ICON_NO)
VALUES(#{memNo}, 3) // 3번 아이콘이 기본아이콘 번호
</insert>
@RequestMapping(value = "/Action/{gbn}", method = RequestMethod.POST, produces = "text/json;charset=UTF-8")
@ResponseBody
public String Action(@PathVariable String gbn, @RequestParam HashMap<String, String> params) throws Throwable {
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> model = new HashMap<String, Object>();
int cnt = 0;
try {
switch (gbn) {
case "join":
params.put("pw", Utils.encryptAES128(params.get("pw")));
cnt = dao.insert("login.joinMem", params);
String memNo = dao.getString("login.maxMem"); // 최근 가입한 멤버의 회원번호를 가져와서 String 타입 memNo에 넣는다.
params.put("memNo", memNo); //memNo를 memNo에 넣어서 params에 담는다.
cnt = dao.getInt("login.joinIcon", params); params를 joinIcon쿼리에 넣어서 실행시킨다.
break;
case "update":
if (params.get("pw") != null && !params.get("pw").equals("")) {
params.put("pw", Utils.encryptAES128(params.get("pw")));
}
cnt = dao.update("login.updateMem", params);
break;
case "delete":
cnt = dao.update("login.deleteMem", params);
break;
}
if (cnt > 0) {
model.put("msg", "success");
} else {
model.put("msg", "fail");
}
} catch (Exception e) {
e.printStackTrace();
model.put("msg", "error");
}
return mapper.writeValueAsString(model);
}