사용자 음악파일 설정 작업중-1

dev_bert
jonghwan76 3 years ago
parent d141609617
commit a068334dc6

@ -25,4 +25,7 @@ public interface M_Member_envBO {
public abstract int delete_tbl_favorite_word(DataMap paramMap) throws Exception;
public abstract int insert_tbl_favorite_word(DataMap paramMap) throws Exception;
public abstract int insert_tbl_music(DataMap paramMap) throws Exception;
public abstract int delete_tbl_music(DataMap paramMap) throws Exception;
}

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

@ -1,9 +1,7 @@
package com.backoffice.m.member_env;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.io.File;
import java.util.*;
import java.util.Map.Entry;
import javax.servlet.http.HttpServletRequest;
@ -18,7 +16,10 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.backoffice.admin.member.member_confirm.A_Member_confirmBO;
@ -616,7 +617,6 @@ public class M_Member_envController extends AbstractControllerManager{
}else{
log.info("--------------- 레코드 ---------------");
HttpSession session = request.getSession(false);
DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER);
@ -643,4 +643,57 @@ public class M_Member_envController extends AbstractControllerManager{
return result;
}
@RequestMapping(value = "/saveMusicFile", method = RequestMethod.POST)
@ResponseBody
public Map<String, Object> saveMusicFile(MultipartHttpServletRequest request) {
HashMap<String, Object> result = new HashMap<String, Object>();
result.put("RESULT", ConstantResultCode.RESULT_INIT);
M_Util gmUtil = new M_Util();
HttpSession session = request.getSession(false);
String delList = request.getParameter("delList"); //삭제 음악파일 목록(콤마구분)
String modList = request.getParameter("modList"); //수정 음악파일 목록(콤마구분)
List<MultipartFile> fileList = request.getFiles("file[]"); //파일 목록
String path = "e:/bf/music/"; //업로드 경로 -> 추후 프로퍼티로 빼야함.
String nFileName = gmUtil.getUniqueNumber(); //업로드 파일명
int idx = 0;
DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER);
//해당 사용자의 디렉토리가 없으면 생성
File uploadPath = new File(path + "/" + rm_mem.get("member_id"));
if (!uploadPath.exists())
uploadPath.mkdirs();
try {
int uploadResultCnt = 0;
for (MultipartFile mf : fileList) {
idx = idx + 1;
String originFileName = mf.getOriginalFilename(); // 원본 파일 명
String fileType = originFileName.substring(originFileName.lastIndexOf(".") + 1);
String saveFileName = nFileName + "_" + idx + "." + fileType; //저장된 음악 파일명
String filePath = path + "/" + rm_mem.get("member_id"); //저장파일 위치
mf.transferTo(new File(filePath, saveFileName));
DataMap paramMap = new DataMap();
paramMap.put("member_id", rm_mem.get("member_id"));
paramMap.put("music_file_path", filePath);
paramMap.put("music_name", originFileName);
//작업기준정보 DB 등록
int result1 = member_envBO.insert_tbl_music(paramMap);
uploadResultCnt++;
}
} catch (Exception e) {
result.put("RESULT", ConstantResultCode.RESULT_EXCEPTION);
e.printStackTrace();
}
return result;
}
}

@ -5,11 +5,8 @@ import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
@ -414,4 +411,47 @@ public class M_Util {
}
return paramMap;
}
private static long dummy = 0l;
/**
* 20
*
* @return
*/
public String getUniqueNumber() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); // 17 characters
String sReturn = sdf.format(Calendar.getInstance().getTime());
try {
++dummy;
}
catch (Exception e) {
dummy = 0;
}
sReturn += padLeft(String.valueOf(dummy % 1000), 3, '0');
return sReturn;
}
/**
* <br>
* @param value
* @param width
* @param paddingChar
* @return
*/
public String padLeft(String value, int width, char paddingChar) {
try {
if (value.length() >= width)
return value;
String sReturn = value;
while (sReturn.length() < width)
sReturn = String.valueOf(paddingChar) + sReturn;
return sReturn;
}
catch (Exception e) {
return "";
}
}
}

@ -133,6 +133,29 @@
);
</insert>
<!-- 음악 파일 등록 -->
<insert id="insert_tbl_music" parameterClass="dataMap">
INSERT INTO tbl_music
(
member_id,
music_file_path,
music_name,
reg_dt
)
VALUES
(
#member_id#,
#music_file_path#,
#music_name#,
now()
);
</insert>
<!-- 음악 파일 삭제 -->
<insert id="delete_tbl_music" parameterClass="dataMap">
DELETE FROM tbl_music WHERE member_id = #member_id# and idx = #idx#
</insert>
<!-- 자주쓰는 표현 삭제 -->
<delete id="delete_tbl_favorite_word" parameterClass="dataMap">
DELETE FROM tbl_favorite_word WHERE member_id = #member_id#

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/">
<Resources>
<!-- <PostResources base="d:\bf\music" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/upload"/>-->
<PostResources base="e:\bf\music" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/upload"/>
</Resources>
</Context>

@ -17,8 +17,11 @@
<form id="frmUpdate" name="frmUpdate" method="post">
<div class="set_list_wrap">
<#list model['music_list'] as item>
<div class="list_item">
<input type="text" class="word_list" name="word_list" readonly value="${item['music_file_path']!}">
<div name="list_item" class="list_item item_order">
<span class="fileSpan" style="display:none">
<input type="file" name="attachFile">
</span>
<label class="radio-label">${item['music_name']!}</label>
<input type="button" onclick="fncModify(this)" value="수정">
<input type="button" onclick="fncRemove(this)" value="삭제">
</div>
@ -78,13 +81,19 @@
})
function fncAddItem() {
var size = $("input[name='attachFile']").length;
if(size >=5) {
Swal.fire({text: '음악파일은 5개까지 설정 가능합니다.'});
return;
}
$(".set_list_wrap").append("<div class='list_item'>" +
"<input class='word_list' type='text' name='word_list' value=''>" +
"<input type='button' onclick='fncRemove(this)' value='삭제'></div>")
"<input type='file' name='attachFile'>")
}
function fncModify(e) {
$(e).parent().find(".word_list").prop("readonly", false);
$(e).parent().find(".fileSpan").show();
}
function fncRemove(e) {

@ -21,4 +21,15 @@
10. O 유축(BF_NU_TP_14) : 유축량
11. O 젖병(BF_NU_TP_2) : 젖병 섭취량
12. X 체온(BF_NU_TP_15) : 체온
13. O 홈페이드 이유식(BF_NU_TP_9) : 홈메이드 이유식 종류 및 섭취량
13. O 홈페이드 이유식(BF_NU_TP_9) : 홈메이드 이유식 종류 및 섭취량
# 음악설정 파일 등록절차
1. 삭제시에는 삭제키를 List로 넘겨서 배열에서 삭제.
2. 추가시에는 해당 파일을 신규로 등록
3. 수정시에는 해당키 삭제후 해당 파일 신규로 등록
# 세션 회원정보
HttpSession session = request.getSession(false);
DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER);
paramMap.put("member_id", rm_mem.get("member_id"));
Loading…
Cancel
Save