diff --git a/src/main/java/nlib/col/service/InterestService.java b/src/main/java/nlib/col/service/InterestService.java index 04f50bdc..d20fc12a 100644 --- a/src/main/java/nlib/col/service/InterestService.java +++ b/src/main/java/nlib/col/service/InterestService.java @@ -11,7 +11,7 @@ public interface InterestService public int countListInterests(CollectionVO vo); - public void deleteInterests(List mbInterestIdList, String mbInfoId); + public void deleteInterests(List masterIdList, String mbInfoId); public void insertInterest(CollectionVO vo); diff --git a/src/main/java/nlib/col/service/impl/InterestServiceImpl.java b/src/main/java/nlib/col/service/impl/InterestServiceImpl.java index efc32562..70119c5e 100644 --- a/src/main/java/nlib/col/service/impl/InterestServiceImpl.java +++ b/src/main/java/nlib/col/service/impl/InterestServiceImpl.java @@ -45,12 +45,11 @@ public class InterestServiceImpl implements InterestService * (non-Javadoc) * @see nlib.col.service.CollectionService#deleteInterests(java.util.List) */ - public void deleteInterests(List mbInterestIdList,String mbInfoId) { + public void deleteInterests(List masterIdList,String mbInfoId) { CollectionVO vo = new CollectionVO(); vo.setMbInfoId(mbInfoId); - - for(Integer mbInterestId : mbInterestIdList) { - vo.setMbInterestId(mbInterestId); + for(String masterId : masterIdList) { + vo.setMasterId(masterId); interestDAO.deleteInterests(vo); } } diff --git a/src/main/java/nlib/col/web/InterestController.java b/src/main/java/nlib/col/web/InterestController.java index 4d73d510..b893ea62 100644 --- a/src/main/java/nlib/col/web/InterestController.java +++ b/src/main/java/nlib/col/web/InterestController.java @@ -23,7 +23,9 @@ import org.springframework.web.bind.annotation.ResponseBody; import nlib.cmm.NlibCommonController; import nlib.cmm.service.CodeService; import nlib.cmm.service.NlibProperty; +import nlib.cmm.service.PagingVO; import nlib.col.service.RisService; +import nlib.col.service.CollectionService; import nlib.col.service.CollectionVO; import nlib.col.service.DeptVO; import nlib.col.service.InterestService; @@ -68,6 +70,9 @@ public class InterestController extends NlibCommonController @Resource(name = "codeService") private CodeService codeService; + @Resource(name = "collectionService") + private CollectionService collectionService; + /** * 관심 자료 화면을 호출한다. * @@ -99,14 +104,17 @@ public class InterestController extends NlibCommonController * * @param req * @return + * @throws Exception */ @RequestMapping(value="/interest/listInterestsAjax.do") - public ResponseEntity listInterestsAjax(HttpServletRequest req, - Authentication authentication, @RequestBody CollectionVO searchCollectionVO) { + public ResponseEntity listInterestsAjax(HttpServletRequest req, HttpServletRequest request, + Authentication authentication, @RequestBody CollectionVO searchCollectionVO) throws Exception { if(searchCollectionVO.getPageIndex() < 1) searchCollectionVO.setPageIndex(1); if(searchCollectionVO.getPageSize() < 1) searchCollectionVO.setPageSize(DEFUALT_PAGE_SIZE); + List operList = new ArrayList(); + int totalCount= 0; //사용자 정보를 가져온다. NlibLoginVO loginVO = getNlibLoginVO(authentication); @@ -119,6 +127,8 @@ public class InterestController extends NlibCommonController List = interestService.listInterests(searchCollectionVO); totalCount = interestService.countListInterests(searchCollectionVO); + String mbInfoId = getMbInfoId(request); + operList = collectionService.setDetailInfoForList(List, getMbInfoId(request), NlibProperty.getString("thumbnail.image.url.small")); //------------------------------- // JSON변환 응답 처리 //------------------------------- @@ -127,9 +137,17 @@ public class InterestController extends NlibCommonController // itemsCount: 255 // } HashMap retMap = new HashMap(); - retMap.put("data", List); + retMap.put("data", operList); retMap.put("itemsCount", totalCount); + PagingVO pageVO = new PagingVO(); + pageVO.setPagingVO(totalCount, searchCollectionVO.getPageIndex(), searchCollectionVO.getPageSize()); + retMap.put("pagingPageIndex" , pageVO.getPageIndex()); + retMap.put("pagingTotRecordCount", pageVO.getTotRecordCount()); + retMap.put("pagingStartPage" , pageVO.getStartPage()); + retMap.put("pagingEndPage" , pageVO.getEndPage()); + retMap.put("pagingLastPage" , pageVO.getLastPage()); + return makeResponseEntityJson(retMap); } @@ -139,9 +157,9 @@ public class InterestController extends NlibCommonController */ @RequestMapping(value="/interest/deleteInterests.ajax") @ResponseBody - public void deleteInterests(@RequestParam(value="mbInterestIdList[]") List mbInterestIdList,Authentication authentication) { + public void deleteInterests(@RequestParam(value="masterIdList[]") List masterIdList,Authentication authentication) { NlibLoginVO loginVO = getNlibLoginVO(authentication); - interestService.deleteInterests(mbInterestIdList,loginVO.getMbInfoId()); + interestService.deleteInterests(masterIdList,loginVO.getMbInfoId()); } /** diff --git a/src/main/java/nlib/sch/service/NlibSearchVO.java b/src/main/java/nlib/sch/service/NlibSearchVO.java index 4a1faf55..274f51d7 100644 --- a/src/main/java/nlib/sch/service/NlibSearchVO.java +++ b/src/main/java/nlib/sch/service/NlibSearchVO.java @@ -45,24 +45,22 @@ public class NlibSearchVO extends PagingVO { private String reQuery = ""; //결과내 재검색 private String reQueryChk ="query"; //결과내재검색 체크 유지 - + private String realQuery =""; //사용자페이지에 보여줄 검색내용 private String lib_total_totalCount = ""; //전체의 총 COUNT private String lib_loan_totalCount = ""; //대출의 총 COUNT private String lib_online_totalCount = ""; //온라인열람의 총 COUNT private String lib_offline_totalCount = ""; //방문열람의 총 COUNT private String lib_etc_totalCount = ""; //기타의 총 COUNT - private String totalCount = ""; //현재 선택된 콜렉션의 총 COUNT + + private String totalCount = "0"; //현재 선택된 콜렉션의 총 COUNT private String filter_class = ""; //필터 더보기버튼 유지+depth1 open - private String filter_sido ; //필터 더보기버튼 유지+depth1 open - private String filter_thema ; //필터 더보기버튼 유지+depth1 open private String filter_category ; //필터 더보기버튼 유지+depth1 open - private String filter_info_sido ; //필터 더보기버튼 유지 - private String filter_info_type ; //필터 더보기버튼 유지 + private String filter_agency ; // 생산기관은 depth1 이므로 filter_agency로 checked,검색필터유지 private String filter_mylist; //검색결과 필터 순서 저장 - private String filter_info_mylist; //검색결과 필터 info 순서 저장 private String filter_creatYyyy =""; //생산년도 필터 + private String first_agency ; //생산기관 선택 private String first_category ; //주제분야(대) 선택 private String second_category ; //주제분야(소) 선택 private String first_class ; //자료유형(대) 선택 @@ -79,48 +77,18 @@ public class NlibSearchVO extends PagingVO { public void setFilter_class(String filter_class) { this.filter_class = filter_class; } - public String getFilter_sido() { - return filter_sido; - } - public void setFilter_sido(String filter_sido) { - this.filter_sido = filter_sido; - } - public String getFilter_thema() { - return filter_thema; - } - public void setFilter_thema(String filter_thema) { - this.filter_thema = filter_thema; - } public String getFilter_category() { return filter_category; } public void setFilter_category(String filter_category) { this.filter_category = filter_category; } - public String getFilter_info_sido() { - return filter_info_sido; - } - public void setFilter_info_sido(String filter_info_sido) { - this.filter_info_sido = filter_info_sido; - } - public String getFilter_info_type() { - return filter_info_type; - } - public void setFilter_info_type(String filter_info_type) { - this.filter_info_type = filter_info_type; - } public String getFilter_mylist() { return filter_mylist; } public void setFilter_mylist(String filter_mylist) { this.filter_mylist = filter_mylist; } - public String getFilter_info_mylist() { - return filter_info_mylist; - } - public void setFilter_info_mylist(String filter_info_mylist) { - this.filter_info_mylist = filter_info_mylist; - } public String getReQuery() { return reQuery; } @@ -332,6 +300,23 @@ public class NlibSearchVO extends PagingVO { public void setOrgCountList(List> orgCountList) { this.orgCountList = orgCountList; } + public String getRealQuery() { + String realQuery=""; + if(StringUtil.getString(this.query,"") != "") + realQuery = this.query; + if(StringUtil.getString(this.reQuery,"") != "") + { + if(realQuery.length() > 0) + { + realQuery += "(" + this.reQuery + ")"; + }else + { + realQuery = this.reQuery; + } + } + return realQuery; + } + //검색요청시 URL 생성 public MultiValueMap getSearchMap() { @@ -352,13 +337,13 @@ public class NlibSearchVO extends PagingVO { add(map,"USE_STATUS",this.useStatus); add(map,"TYPE_DIV_CD",this.typeDivCd); add(map,"SUBJECT_CODE",this.subjectCode); - add(map,"ORG_NM,",this.orgNm); add(map,"listCount",this.listCount); add(map,"SUBJECT_CATE_DEPTH","2"); //주제분야 2뎁스까지 나오게 고정 add(map,"DIV_CATE_DEPTH","2"); //자료유형 2뎁스까지 나오게 고정 add(map,"DTLS_TYPE_DIV_CD",StringUtil.getString(this.second_class,"").replace(",","|")); add(map,"SUBJECT_CODE",StringUtil.getString(this.second_category,"").replace(",","|")); + add(map,"ORG_NM",StringUtil.getString(this.filter_agency,"").replace(",","|")); return map; } @@ -381,4 +366,16 @@ public class NlibSearchVO extends PagingVO { this.lib_total_totalCount = totalCount; } } + public String getFirst_agency() { + return first_agency; + } + public void setFirst_agency(String first_agency) { + this.first_agency = first_agency; + } + public String getFilter_agency() { + return filter_agency; + } + public void setFilter_agency(String filter_agency) { + this.filter_agency = filter_agency; + } } diff --git a/src/main/java/nlib/sch/service/impl/NlibSearchServiceImpl.java b/src/main/java/nlib/sch/service/impl/NlibSearchServiceImpl.java index 080b52d9..aaad2681 100644 --- a/src/main/java/nlib/sch/service/impl/NlibSearchServiceImpl.java +++ b/src/main/java/nlib/sch/service/impl/NlibSearchServiceImpl.java @@ -204,16 +204,24 @@ public class NlibSearchServiceImpl implements NlibSearchService{ orgList = (JsonArray) filterObject.get("ORG_NM"); } } - filterObject =(JsonObject) subjectList.get(0); - filterObject = (JsonObject) filterObject.get("Categories"); - subjectList = (JsonArray) filterObject.get("Category"); - filterObject =(JsonObject) typeList.get(0); - filterObject = (JsonObject) filterObject.get("Categories"); - typeList = (JsonArray) filterObject.get("Category"); - filterObject =(JsonObject) orgList.get(0); - filterObject = (JsonObject) filterObject.get("Categories"); - orgList = (JsonArray) filterObject.get("Category"); - + if(subjectList.size()>0) + { + filterObject =(JsonObject) subjectList.get(0); + filterObject = (JsonObject) filterObject.get("Categories"); + subjectList = (JsonArray) filterObject.get("Category"); + }; + if(typeList.size()>0) + { + filterObject =(JsonObject) typeList.get(0); + filterObject = (JsonObject) filterObject.get("Categories"); + typeList = (JsonArray) filterObject.get("Category"); + }; + if(orgList.size()>0) + { + filterObject =(JsonObject) orgList.get(0); + filterObject = (JsonObject) filterObject.get("Categories"); + orgList = (JsonArray) filterObject.get("Category"); + }; for(k = 0; k < subjectList.size(); k++){ HashMap temp = new HashMap(); filterObject = (JsonObject)subjectList.get(k); diff --git a/src/main/java/nlib/sch/web/NlibSearchController.java b/src/main/java/nlib/sch/web/NlibSearchController.java index 81c3eee4..6455049a 100644 --- a/src/main/java/nlib/sch/web/NlibSearchController.java +++ b/src/main/java/nlib/sch/web/NlibSearchController.java @@ -18,6 +18,7 @@ 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.RequestParam; import cmm.Constant; diff --git a/src/main/java/nlib/user/service/MemberService.java b/src/main/java/nlib/user/service/MemberService.java index bff8aa78..fdef04fa 100644 --- a/src/main/java/nlib/user/service/MemberService.java +++ b/src/main/java/nlib/user/service/MemberService.java @@ -31,7 +31,7 @@ public interface MemberService public DataApiResVO certificateMember(DataApiReqVO reqVO); - public NlibLoginVO insertMemberInfo(NlibLoginVO vo) throws Exception; + public void insertMemberInfo(NlibLoginVO vo) throws Exception; public DataApiResVO sendEmailForMemberJoining(DataApiReqVO reqVO); @@ -51,7 +51,7 @@ public interface MemberService public String createInitPwd(); - public String selectAlreadySignUpId(OAuthUniversalUser oauthUser) throws Exception; + public NlibLoginVO selectAlreadySignUpId(OAuthUniversalUser oauthUser) throws Exception; public void insertMemberSns(OAuthUniversalUser oauthUser); diff --git a/src/main/java/nlib/user/service/NlibLoginVO.java b/src/main/java/nlib/user/service/NlibLoginVO.java index 8d6a4f49..a6d99822 100644 --- a/src/main/java/nlib/user/service/NlibLoginVO.java +++ b/src/main/java/nlib/user/service/NlibLoginVO.java @@ -38,6 +38,7 @@ public class NlibLoginVO implements Serializable { private String mbInfoId; /* 회원아이디 (ex: M1000000001) */ private String loginUserId; /* 로그인사용자ID (이메일주소) */ private String name; /* 사용자명 */ + private String nameTemp = ""; /* 비밀번호찾기시 사용자이름 임시저장용 */ private String mobileNo; /* 휴대전화번호 */ private String password; /* 비밀번호 */ private String email; /* 이메일 */ @@ -83,7 +84,12 @@ public class NlibLoginVO implements Serializable { private boolean alerted = false; /* 로그인 후, 읽지 않은 알림 표출 여부 */ - + private String infoRecvEmailYn = ""; /* 대출/열람 수신동의(이메일) */ + private String infoRecvSmsYn = ""; /* 대출/열람 수신동의(SMS) */ + private String mktRecvEmailYn = ""; /* 지방문화원 소식/홍보 수신동의(이메일) */ + private String mktRecvSmsYn = ""; /* 지방문화원 소식/홍보 수신동의 (SMS)*/ + + private String previousPage =""; /* 이전 페이지명 저장 */ /** * 개인정보 암호화 내용 양방황 암호화 처리 대상인 항목에 대하여 인코딩 처리 */ @@ -420,4 +426,52 @@ public class NlibLoginVO implements Serializable { this.emailTemp = emailTemp; } + public String getInfoRecvEmailYn() { + return infoRecvEmailYn; + } + + public void setInfoRecvEmailYn(String infoRecvEmailYn) { + this.infoRecvEmailYn = infoRecvEmailYn; + } + + public String getInfoRecvSmsYn() { + return infoRecvSmsYn; + } + + public void setInfoRecvSmsYn(String infoRecvSmsYn) { + this.infoRecvSmsYn = infoRecvSmsYn; + } + + public String getMktRecvEmailYn() { + return mktRecvEmailYn; + } + + public void setMktRecvEmailYn(String mktRecvEmailYn) { + this.mktRecvEmailYn = mktRecvEmailYn; + } + + public String getMktRecvSmsYn() { + return mktRecvSmsYn; + } + + public void setMktRecvSmsYn(String mktRecvSmsYn) { + this.mktRecvSmsYn = mktRecvSmsYn; + } + + public String getNameTemp() { + return nameTemp; + } + + public void setNameTemp(String nameTemp) { + this.nameTemp = nameTemp; + } + + public String getPreviousPage() { + return previousPage; + } + + public void setPreviousPage(String previousPage) { + this.previousPage = previousPage; + } + } diff --git a/src/main/java/nlib/user/service/impl/MemberDAO.java b/src/main/java/nlib/user/service/impl/MemberDAO.java index 8932c12e..c6e8f77b 100644 --- a/src/main/java/nlib/user/service/impl/MemberDAO.java +++ b/src/main/java/nlib/user/service/impl/MemberDAO.java @@ -38,7 +38,7 @@ public interface MemberDAO public void insertMemberSns(OAuthUniversalUser oauthUser); - public String selectAlreadySignUpId(OAuthUniversalUser oauthUser) throws Exception; + public NlibLoginVO selectAlreadySignUpId(OAuthUniversalUser oauthUser) throws Exception; public List selectAlreadySignUpMobile(NlibLoginVO loginVO) throws Exception; diff --git a/src/main/java/nlib/user/service/impl/MemberServiceImpl.java b/src/main/java/nlib/user/service/impl/MemberServiceImpl.java index 08084a59..991b1d5f 100644 --- a/src/main/java/nlib/user/service/impl/MemberServiceImpl.java +++ b/src/main/java/nlib/user/service/impl/MemberServiceImpl.java @@ -41,18 +41,15 @@ public class MemberServiceImpl implements MemberService return null; } - public NlibLoginVO insertMemberInfo(NlibLoginVO vo) throws Exception { - NlibLoginVO result =new NlibLoginVO(); + public void insertMemberInfo(NlibLoginVO vo) throws Exception { //회원정보 암호화 String encodedText=null; encodedText = egovPasswordEncoder.encryptPassword(vo.getLoginUserId()+vo.getPassword()); vo.setPassword(encodedText); vo.encodePrivateInfo(); //회원가입 정보 - memberDAO.insertMemberInfo(vo); - //가입한 정보의 UID select - result=memberDAO.selectAlreadySignUpMobile(vo).get(0); - return result; + memberDAO.insertMemberInfo(vo); + } public DataApiResVO sendEmailForMemberJoining(DataApiReqVO reqVO) { @@ -205,7 +202,7 @@ public class MemberServiceImpl implements MemberService return dummyPW; } - public String selectAlreadySignUpId(OAuthUniversalUser oauthUser) throws Exception { + public NlibLoginVO selectAlreadySignUpId(OAuthUniversalUser oauthUser) throws Exception { //이메일 암호화 oauthUser.setSnsEmail(ariaCrypto.encode(oauthUser.getSnsUserId())); return memberDAO.selectAlreadySignUpId(oauthUser); diff --git a/src/main/java/nlib/user/service/impl/UserInfoServiceImpl.java b/src/main/java/nlib/user/service/impl/UserInfoServiceImpl.java index 61467355..f3904e33 100644 --- a/src/main/java/nlib/user/service/impl/UserInfoServiceImpl.java +++ b/src/main/java/nlib/user/service/impl/UserInfoServiceImpl.java @@ -79,10 +79,12 @@ public class UserInfoServiceImpl implements UserInfoService */ public NlibLoginVO selectMyInfo(NlibLoginVO vo) throws Exception { vo.setMobileNo(ariaCrypto.encode(vo.getMobileNo())); + vo.setEmail(ariaCrypto.encode(vo.getEmail())); NlibLoginVO loginVO =userInfoDAO.selectMyInfo(vo); // 개인정보 암호화 내용 복호화 처리 if(loginVO != null) { loginVO.setMobileNo(AriaCrypto.decode(loginVO.getMobileNo())); + loginVO.setEmail(AriaCrypto.decode(loginVO.getEmail())); } return loginVO; } diff --git a/src/main/java/nlib/user/web/MemberController.java b/src/main/java/nlib/user/web/MemberController.java index 11c742b0..b8a6a914 100644 --- a/src/main/java/nlib/user/web/MemberController.java +++ b/src/main/java/nlib/user/web/MemberController.java @@ -115,12 +115,15 @@ public class MemberController extends NlibCommonController{ /* 이메일 메시지 및 템플릿 정보 */ //템플릿 파일경로 - @Value("#{properties['mailing.sender.membership.template']}") - private String template; + @Value("#{properties['mailing.sender.membership.signUpTemplate']}") + private String signUpTemplate; @Value("#{properties['mailing.sender.membership.pwdTemplate']}") private String pwdTemplate; + @Value("#{properties['mailing.sender.membership.certTemplate']}") + private String certTemplate; + //보내는 사람 이메일주소 @Value("#{properties['mailing.sender.membership.email']}") private String senderAddr; @@ -133,10 +136,18 @@ public class MemberController extends NlibCommonController{ @Value("#{properties['sms.sender.phone.number']}") private String senderNumber; + //hostName(이미지 접근) + @Value("#{properties['host.name']}") + private String hostName; + //게스트 USERID @Value("#{properties['guest.userid']}") private String gUserId; + //마이페이지 uri + @Value("#{properties['mypage.uri']}") + private String myPageUri; + @Autowired private EmailSender emailSender; @@ -214,20 +225,23 @@ public class MemberController extends NlibCommonController{ OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId); - String mId = null; - if(!(oauthUser == null)) { // 등록된 ID가 있는 지 확인 if(!(StringUtil.getString(oauthUser.getSnsUserId(),"")== "")) - mId =memberService.selectAlreadySignUpId(oauthUser); + vo = memberService.selectAlreadySignUpId(oauthUser); } /* 등록된 ID가 있을때 통합처리 */ - if(!StringUtil.getString(mId, "").equals("")) + if(vo != null && !StringUtil.getString(vo.getMbInfoId(), "").equals("")) { - oauthUser.setMbInfoId(mId); + oauthUser.setMbInfoId(vo.getMbInfoId()); memberService.insertMemberSns(oauthUser); - + vo.setEmail(StringUtil.maskEmail(ariaCrypto.decode(vo.getEmail()))); + vo.setName(StringUtil.maskName(vo.getName())); + System.out.println(oauthUser.getSnsUserId()); + oauthUser.setSnsUserId(StringUtil.maskEmail(oauthUser.getSnsUserId())); + model.addAttribute("NlibLoginVO",vo); + model.addAttribute("oauthUser",oauthUser); //통합처리 url return "nlib/member/accountConsolidationForm"; } @@ -245,7 +259,7 @@ public class MemberController extends NlibCommonController{ // 등록된 전화번호가 있는 지 확인 (리스트) voList = memberService.selectAlreadySignUpMobile(vo); - vo.decodePrivateInfo(); + vo.setMobileNo(ariaCrypto.decode(vo.getMobileNo())); //사용자ID 마스킹처리 for(int i=0;voList.size()>i;i++) @@ -256,6 +270,7 @@ public class MemberController extends NlibCommonController{ model.addAttribute("cnt",voList.size()); model.addAttribute("result",voList); + model.addAttribute("vo",vo); return "nlib/member/alreadySignUpPopup"; } @@ -264,7 +279,7 @@ public class MemberController extends NlibCommonController{ * @exception Exception */ @RequestMapping(value="/member/snsAccountLink.ajax" , method=RequestMethod.POST) - public @ResponseBody String snsAccountLink(NlibLoginVO vo,HttpServletResponse response,Authentication authentication,HttpServletRequest request,HttpSession session) throws Exception{ + public @ResponseBody String snsAccountLink(NlibLoginVO vo,HttpServletResponse response,Authentication authentication,ModelMap model,HttpServletRequest request,HttpSession session) throws Exception{ NlibLoginVO loginVO = new NlibLoginVO(); loginVO.setMbInfoId(vo.getMbInfoId()); @@ -283,6 +298,8 @@ public class MemberController extends NlibCommonController{ OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId); oauthUser.setMbInfoId(vo.getMbInfoId()); memberService.insertMemberSns(oauthUser); + model.addAttribute("oauthUser",oauthUser); + model.addAttribute("NlibLoginVO",vo); msg="link"; }else { msg="mismatch"; @@ -351,8 +368,6 @@ public class MemberController extends NlibCommonController{ model.addAttribute("url","${pageContext.request.contextPath}"+NlibProperty.getString("member.new.url")); return "nlib/cmm/alert"; } - /*vo.setMobileVrfctNo(vo.getMobileVrfctNo()); - vo.setMobileVrfctDd(vo.getMobileVrfctNo());*/ } //이메일인증시 sns제공 이메일과 회원가입폼 이메일 비교 if(!(vo.getEmail().equals(oauthUser.getSnsUserId()))) @@ -368,25 +383,36 @@ public class MemberController extends NlibCommonController{ } //문화원코드 String councilCd = (String)session.getAttribute("councilCd"); - + String councilNm = (String)session.getAttribute("councilNm"); //클라이언트 IP주소 vo.setIp(getRemoteIP(request)); //회원정보 insert - NlibLoginVO result =memberService.insertMemberInfo(vo); + memberService.insertMemberInfo(vo); //sns 테이블 insert - oauthUser.setMbInfoId(result.getMbInfoId()); + oauthUser.setMbInfoId(vo.getMbInfoId()); memberService.insertMemberSns(oauthUser); // 결과가 정상이면, 안내 메일 발송 - // > 템플릿파일에서 내용 mailing.sender.membership.template + // > 템플릿파일에서 내용 mailing.sender.membership.signUpTemplate // > 발송처리 요청 + vo.setEmail(ariaCrypto.decode(vo.getEmail())); + + SimpleDateFormat format = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss"); + Date date = new Date(); + String time = format.format(date); + Map replaceContents = new HashMap(); - replaceContents.put("${contents}", vo.getName()); - emailUtil.sendEmail(vo.getLoginUserId(),"온라인자료대출시스템 회원가입을 축하드립니다.",replaceContents,template); + replaceContents.put("${name}", vo.getName()); + replaceContents.put("${email}", vo.getEmail()); + replaceContents.put("${councilNm}", councilNm); + replaceContents.put("${hostName}", hostName); + replaceContents.put("${time}", time); + emailUtil.sendEmail(vo.getEmail(),"온라인자료대출시스템 회원가입을 축하드립니다.",replaceContents,signUpTemplate); + model.addAttribute("result",vo); return "nlib/member/insertMemberInfoResult"; } /** @@ -406,7 +432,8 @@ public class MemberController extends NlibCommonController{ authUser.setSnsEmail(email); String mbInfoId=""; - String chk= memberService.selectAlreadySignUpId(authUser); + NlibLoginVO chk = new NlibLoginVO(); + chk = memberService.selectAlreadySignUpId(authUser); String jsessionId = session.getId(); @@ -415,7 +442,7 @@ public class MemberController extends NlibCommonController{ mbInfoId= loginVO.getMbInfoId(); //중복된 아이디가 있을시(로그인시 본인의 mbInfoId 와 동일한경우는 제외) - if(chk != null && !(chk.equals(mbInfoId))) + if(chk != null && !(chk.getMbInfoId().equals(mbInfoId))) { map.put("msg","이미 사용중인 이메일입니다."); @@ -453,12 +480,22 @@ public class MemberController extends NlibCommonController{ //이메일 발송 // 결과가 정상이면, 안내 메일 발송 - // > 템플릿파일에서 내용 mailing.sender.membership.template + // > 템플릿파일에서 내용 mailing.sender.membership.certTemplate // > 발송처리 요청 Map replaceContents = new HashMap(); - replaceContents.put("${contents}", "인증번호는"+CertNumber+"입니다."); - emailUtil.sendEmail(email,"온라인자료대출시스템 이메일 인증번호",replaceContents,template); + SimpleDateFormat format = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss"); + Date date = new Date(); + String time = format.format(date); + + String councilNm = (String)session.getAttribute("councilNm"); + + replaceContents.put("${certNumber}", CertNumber); + replaceContents.put("${time}", time); + replaceContents.put("${hostName}", hostName); + replaceContents.put("${councilNm}", councilNm); + + emailUtil.sendEmail(email,"온라인자료대출시스템 이메일 인증번호입니다.",replaceContents,certTemplate); map.put("msg","이메일 인증번호가 발송됐습니다."); map.put("emailCertYn","Y"); return map; @@ -628,6 +665,7 @@ public class MemberController extends NlibCommonController{ loginVO.setEmail(StringUtil.maskEmail(loginVO.getEmail())); loginVO.setName(StringUtil.maskName(loginVO.getName())); model.addAttribute("loginVO",loginVO); + model.addAttribute("myPageUri",myPageUri); return "nlib/member/deleteMembershipForm"; } @@ -671,8 +709,8 @@ public class MemberController extends NlibCommonController{ * @exception Exception */ @RequestMapping(value="/member/initPasswordForm.do") - public String searchIdForm(HttpServletResponse response,HttpServletRequest request) throws Exception{ - + public String searchIdForm(NlibLoginVO vo,HttpServletResponse response,HttpServletRequest request,ModelMap model) throws Exception{ + model.addAttribute("loginVO", vo); return "nlib/member/initPasswordForm"; } @@ -681,21 +719,34 @@ public class MemberController extends NlibCommonController{ * @exception Exception */ @RequestMapping(value="/member/initPassword.ajax") - public @ResponseBody String initPassword(NlibLoginVO vo,HttpServletResponse response,HttpServletRequest request,ModelMap model) throws Exception{ - vo.encodePrivateInfo(); + public @ResponseBody String initPassword(NlibLoginVO vo,HttpSession session,HttpServletResponse response,HttpServletRequest request,ModelMap model) throws Exception{ + //내정보페이지, 회원가입시 핸드폰번호가 같을시 비밀번호 초기화 + String email = vo.getEmail(); + vo.setEmail(""); + //mbinfo를 이용해 조회 NlibLoginVO loginVO=userInfoService.selectMyInfo(vo); - EmailVO email = new EmailVO(); + if(!email.equals(loginVO.getEmail())) + { + return "fail"; + } + + String name=""; + + //내 정보 수정시 비밀번호 찾기 , 회원가입시 비밀번호찾기 메일발송시(마스킹) 차별화 + if(vo != null && "alreadySignUpPopup".equals(vo.getPreviousPage()) ) + { + name = vo.getNameTemp(); + }else { + name = loginVO.getName(); + } String message = null; //비밀번호 초기화 변수 생성 - String InitPwd=memberService.createInitPwd(); - - String encodedText=null; - - vo.decodePrivateInfo(); + String initPwd=memberService.createInitPwd(); + //vo.decodePrivateInfo(); if(loginVO!=null) { @@ -703,14 +754,27 @@ public class MemberController extends NlibCommonController{ // > 템플릿파일에서 내용 mailing.sender.membership.pwdtemplate // > 발송처리 요청 - Map replaceContents = new HashMap(); - replaceContents.put("${contents}", InitPwd); - emailUtil.sendEmail(vo.getEmail(),"온라인자료대출시스템 비밀번호 초기화 메일입니다.",replaceContents,pwdTemplate); - + SimpleDateFormat format = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss"); + Date date = new Date(); + String time = format.format(date); - message="초기화된 비밀번호가 이메일로 발송됐습니다."; + String councilNm = (String)session.getAttribute("councilNm"); + + Map replaceContents = new HashMap(); + System.out.println(loginVO.getLoginUserId()+initPwd); + loginVO.setPassword(egovPasswordEncoder.encryptPassword(loginVO.getLoginUserId()+initPwd)); + memberService.changePassword(loginVO); + + replaceContents.put("${initPwd}", initPwd); + replaceContents.put("${time}", time); + replaceContents.put("${hostName}", hostName); + replaceContents.put("${councilNm}", councilNm); + replaceContents.put("${name}", name); + emailUtil.sendEmail(email,"온라인자료대출시스템 비밀번호 초기화 메일입니다.",replaceContents,pwdTemplate); + + message="success"; }else { - message="일치하는 아이디가 없습니다."; + message="fail"; } return message; @@ -733,15 +797,15 @@ public class MemberController extends NlibCommonController{ String message=""; - if(loginVO!=null && (loginVO.getPassword().equals(password))) + if(loginVO!=null && loginVO.getPassword().equals(password)) { loginVO.setPassword(newPassword); loginVO.encodePrivateInfo(); //암호화된 비밀번호로 수정 memberService.changePassword(loginVO); - message="비밀번호 변경이 처리되었습니다."; + message="success"; }else { - message="기존 비밀번호가 올바르지 않습니다."; + message="fail"; } return message; diff --git a/src/main/java/nlib/user/web/UserInfoController.java b/src/main/java/nlib/user/web/UserInfoController.java index e7a56269..eed8bf30 100644 --- a/src/main/java/nlib/user/web/UserInfoController.java +++ b/src/main/java/nlib/user/web/UserInfoController.java @@ -13,6 +13,7 @@ import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; @@ -80,7 +81,10 @@ public class UserInfoController extends NlibCommonController { @Resource(name = "qrCodeService") private QRCodeUtil qrCodeService; - + //마이페이지 uri + @Value("#{properties['mypage.uri']}") + private String myPageUri; + /** * 내 정보 조회 * @exception Exception @@ -109,7 +113,6 @@ public class UserInfoController extends NlibCommonController { snsList = userInfoService.selectSnsSignUpList(loginVO); String encodedText=null; - System.out.println(loginVO.getLoginUserId()+vo.getPassword()); encodedText = egovPasswordEncoder.encryptPassword(loginVO.getLoginUserId()+vo.getPassword()); vo.setPassword(encodedText); @@ -143,7 +146,7 @@ public class UserInfoController extends NlibCommonController { ||loginVO.getEmailVrfctDd() == null) { model.addAttribute("msg","이메일인증이 정상적이지않습니다."); - model.addAttribute("url","${pageContext.request.contextPath}"+"/userInfo/getMyInfo.do"); + model.addAttribute("url",myPageUri); return "nlib/cmm/alert"; } vo.setEmail(loginVO.getEmailTemp()); @@ -155,7 +158,7 @@ public class UserInfoController extends NlibCommonController { ||loginVO.getMobileVrfctDd() == null) { model.addAttribute("msg","핸드폰인증이 정상적이지않습니다."); - model.addAttribute("url","${pageContext.request.contextPath}"+"/userInfo/getMyInfo.do"); + model.addAttribute("url",myPageUri); return "nlib/cmm/alert"; } vo.setMobileNo(loginVO.getMobileTemp()); @@ -170,9 +173,11 @@ public class UserInfoController extends NlibCommonController { NlibLoginVO sessionVO=(NlibLoginVO) SecUserDetailsService.loadUserByUsername(vo.getLoginUserId()); //세션에 수정정보로 재 주입 - replaceNlibLoginVO(request,sessionVO); + replaceNlibLoginVO(request,loginVO); - return "nlib/userInfo/getMyInfo"; + model.addAttribute("msg","수정되었습니다."); + model.addAttribute("url",myPageUri); + return "nlib/cmm/alert"; } /** @@ -180,8 +185,9 @@ public class UserInfoController extends NlibCommonController { * @exception Exception */ @RequestMapping(value="/userInfo/pwCertMyInfo.do") - public String pwCertMyInfo(HttpServletResponse response,HttpServletRequest request) throws Exception{ - + public String pwCertMyInfo(HttpServletResponse response,HttpServletRequest request,ModelMap model) throws Exception{ + NlibLoginVO nlibLoginVO = getNlibLoginVO(request); + model.addAttribute("loginVO",nlibLoginVO); return "nlib/userInfo/pwCertMyInfo"; } diff --git a/src/main/resources/egovframework/mapper/nlib/col/InterestDAO_SQL.xml b/src/main/resources/egovframework/mapper/nlib/col/InterestDAO_SQL.xml index 294488ee..7b67fe6f 100644 --- a/src/main/resources/egovframework/mapper/nlib/col/InterestDAO_SQL.xml +++ b/src/main/resources/egovframework/mapper/nlib/col/InterestDAO_SQL.xml @@ -53,7 +53,7 @@ SET USE_YN="N" WHERE 1=1 - AND MB_INTEREST_ID = #{mbInterestId} + AND MASTER_ID = #{masterId} AND MB_INFO_ID = #{mbInfoId} diff --git a/src/main/resources/egovframework/mapper/nlib/user/LoginDAO_SQL.xml b/src/main/resources/egovframework/mapper/nlib/user/LoginDAO_SQL.xml index a4a2a191..426fb60b 100644 --- a/src/main/resources/egovframework/mapper/nlib/user/LoginDAO_SQL.xml +++ b/src/main/resources/egovframework/mapper/nlib/user/LoginDAO_SQL.xml @@ -30,6 +30,10 @@ , B.SNS_TYPE , B.SNS_ID , 'ROLE_USER' AS AUTHORITY_LIST + , A.INFO_RECV_EMAIL_YN + , A.INFO_RECV_SMS_YN + , A.MKT_RECV_EMAIL_YN + , A.MKT_RECV_SMS_YN FROM UAC_CLTR_DB.MB_INFO A /* 사용자정보 */ JOIN UAC_CLTR_DB.MB_SNS B /* 사용자 SNS 정보 */ ON A.MB_INFO_ID = B.MB_INFO_ID diff --git a/src/main/resources/egovframework/mapper/nlib/user/MemberDAO_SQL.xml b/src/main/resources/egovframework/mapper/nlib/user/MemberDAO_SQL.xml index 394e0ed6..6762bbde 100644 --- a/src/main/resources/egovframework/mapper/nlib/user/MemberDAO_SQL.xml +++ b/src/main/resources/egovframework/mapper/nlib/user/MemberDAO_SQL.xml @@ -23,9 +23,9 @@ - + SELECT CONCAT(LEFT(MAX(MB_INFO_ID),2), - LPAD(RIGHT(MAX(MB_INFO_ID),9)+1,9,0)) FROM MB_INFO; + LPAD(RIGHT(MAX(MB_INFO_ID),9)+1,9,0)) AS mbInfoId FROM MB_INFO; INSERT INTO MB_INFO @@ -51,6 +51,10 @@ ,MOBILE_VRFCT_DD ,IP ,LAST_ACCESS_DD + ,INFO_RECV_EMAIL_YN + ,INFO_RECV_SMS_YN + ,MKT_RECV_EMAIL_YN + ,MKT_RECV_SMS_YN ) VALUES ( @@ -74,7 +78,11 @@ ,#{mobileVrfctNo} ,STR_TO_DATE(#{mobileVrfctDd},'%Y-%m-%d %H:%i:%S') ,#{ip} - ,NOW() + ,NOW() + ,#{infoRecvEmailYn} + ,#{infoRecvSmsYn} + ,#{mktRecvEmailYn} + ,#{mktRecvSmsYn} ) @@ -87,33 +95,31 @@ ,MOD_ID = #{mbInfoId} ,MOD_DD = NOW() WHERE 1=1 - AND EMAIL = #{email} + AND MB_INFO_ID = #{mbInfoId} - SELECT - MB_INFO_ID + MB_INFO_ID + ,LOGIN_USER_ID + ,NAME + ,EMAIL FROM ( - SELECT - MB_INFO_ID - ,LOGIN_USER_ID - ,EMAIL - FROM - MB_INFO - WHERE 1=1 - AND (LOGIN_USER_ID = #{snsUserId} OR EMAIL = #{snsEmail}) - UNION ALL - SELECT - MB_INFO_ID - ,SNS_USER_ID LOGIN_USER_ID - ,"" EMAIL - FROM - MB_SNS - WHERE 1=1 - AND SNS_USER_ID = #{snsUserId} - AND UNLINK_DD IS NULL + SELECT + s1.MB_INFO_ID + ,s1.LOGIN_USER_ID LOGIN_USER_ID + ,s1.EMAIL EMAIL + ,s1.NAME + ,s1.STATUS + FROM + MB_INFO s1, MB_SNS s2 + WHERE 1=1 + AND s1.MB_INFO_ID = s2.MB_INFO_ID + AND s1.LOGIN_USER_ID = #{snsUserId} OR s1.EMAIL = #{snsEmail} OR s2.SNS_USER_ID = #{snsUserId} + AND s2.UNLINK_DD IS NULL + AND s1.STATUS ="S" ) MB LIMIT 1; @@ -130,7 +136,7 @@ MB_INFO WHERE 1=1 AND MOBILE_NO = #{mobileNo} - LIMIT 1 + AND STATUS ="S" @@ -189,14 +195,16 @@ MB_INFO SET LEAVE_SITE_DATE = DATE_FORMAT(CURDATE(), '%Y%m%d') + ,LOGIN_USER_ID=#{loginUserId} + '-' + {mbInfoId} ,STATUS = "D" ,BIRTHDAY = NULL ,ZIP_CODE = NULL ,ADDRESS = NULL ,ADDRESS_DETAIL = NULL ,GENDER = NULL - ,EMAIL = NULL - ,PASSWORD = NULL + ,MOBILE_NO = "-" + ,EMAIL = "-" + ,PASSWORD = "-" WHERE 1=1 AND MB_INFO_ID = #{mbInfoId} diff --git a/src/main/resources/egovframework/mapper/nlib/user/UserInfoDAO_SQL.xml b/src/main/resources/egovframework/mapper/nlib/user/UserInfoDAO_SQL.xml index 99aaa0b8..9a3b440d 100644 --- a/src/main/resources/egovframework/mapper/nlib/user/UserInfoDAO_SQL.xml +++ b/src/main/resources/egovframework/mapper/nlib/user/UserInfoDAO_SQL.xml @@ -47,6 +47,8 @@ ,LOGIN_USER_ID ,MOBILE_NO ,PASSWORD + ,NAME + ,EMAIL FROM MB_INFO WHERE 1=1 @@ -81,6 +83,10 @@ ,GENDER=#{gender} ,MOD_ID=#{mbInfoId} ,MOD_DD=NOW() + ,INFO_RECV_SMS_YN=#{infoRecvSmsYn} + ,INFO_RECV_EMAIL_YN=#{infoRecvEmailYn} + ,MKT_RECV_SMS_YN=#{mktRecvSmsYn} + ,MKT_RECV_EMAIL_YN=#{mktRecvEmailYn} WHERE 1=1 AND MB_INFO_ID=#{mbInfoId} diff --git a/src/main/webapp/WEB-INF/jsp/nlib/collection/listInterests.jsp b/src/main/webapp/WEB-INF/jsp/nlib/collection/listInterests.jsp index 70ac4592..d7203121 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/collection/listInterests.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/collection/listInterests.jsp @@ -31,275 +31,286 @@ <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> -관심 자료 - - - - -${pageTitle} - - - - - +공지사항 - + + <% //체크박스로 전체선택 %> + function selectAllChk(){ + if($("#allChk").is(":checked") == false) + { + $("input:checkbox[name = 'interestChk']").attr("checked", false); + }else if($("#allChk").is(":checked") == true) + { + $("input:checkbox[name = 'interestChk']").attr("checked", true); + } + } + // 선택한 글 상세 보기로 이동 + function fn_viewDetail(articleId) { + $('#articleForm').removeAttr('onsubmit'); + $("#articleForm").attr("action", "${pageContext.request.contextPath}/bbs/selectAncmntArticle.do"); + $("#articleId").val(articleId); + $("#articleForm").submit(); + } + + // 그리드 데이터 조회 호출 + function fn_searchArticle(pageIndex) { + + if(fn_isEmpty(pageIndex)) pageIndex = $("#pageIndex").val(); + if(fn_isEmpty(pageIndex)) pageIndex = "1"; + $("#pageIndex").val(pageIndex); + + var reqUrl = "${pageContext.request.contextPath}/interest/listInterestsAjax.do"; + + var inputData = { + "pageIndex" : $("#pageIndex").val() + , "pageSize" : $("#pageSize").val() + }; + + + //-------------------------------------- + // 요청 처리 + //-------------------------------------- + $.ajax({ + type: "post", + contentType: "application/json; charset=utf-8", + url: reqUrl, + dataType: "json", + data: JSON.stringify(inputData), + }).done(function(data){ + <% + // 그리드 데이터 예시 : + // (1) 페이징 클라이언트에서 수행하는 경우(pageloading = false) : [{ "articleNo": 1, "articleType": "01" }, { "articleNo": 2, "articleType": "02" }] + // (2) 페이징 서버에서 수행하는 경우(pageloading = true) : {data: [{...}], itemsCount: 255} + %> + + var jsonObj = JSON.parse(data); + console.log(jsonObj); + //$("#itemsCount").val(jsonOjb.itemsCount); + // 건수 + if(jsonObj.itemsCount == undefined) { + $("#itemsCount").text("0"); + } + else { + $("#itemsCount").text(jsonObj.itemsCount); + } + if(!jsonObj.data || jsonObj.data.length <= 0 ) { + /* $("div.list-data div.no-result").show(); */ + } else { + /* $("div.list-data div.no-result").hide(); */ + + // 출력 + $.each(jsonObj.data,function(key,obj) { + var t_data = ""; + var count = 0; + t_data += ""; + t_data += "
" + if(obj.openDivCd != "3") + { + t_data += "온라인열람" + } + if(obj.operOutRangeCd != "02") + { + t_data += "대출" + } + if(obj.operReadRangeCd != "03") + { + t_data += "방문열람" + } + if(obj.openDivCd != "3" && obj.operOutRangeCd != "02" && obj.operReadRangeCd != "03") + { + t_data += "기타" + } + t_data += "
" + t_data += "
" + t_data += "
" + if(!fn_isEmpty(obj.mngtNo)) + { + t_data += obj.mngtNo + } + t_data += "
" + + t_data += "
" + if(!fn_isEmpty(obj.typeCodeNm)) + { + count += 1; + t_data += "자료유형 : " + obj.typeCodeNm + " > " + obj.dtlsTypeDivNm + "" + } + if(!fn_isEmpty(obj.subjectNmUp)) + { + if(count > 0) + t_data += " | "; + count += 1; + t_data += "주제분야 : " + obj.subjectNmUp + " > " + obj.subjectNm + "" + } + if(!fn_isEmpty(obj.orgNm)) + { + if(count > 0) + t_data += " | "; + count += 1; + t_data += "생산기관 : " + obj.orgNm + "" + } + if(!fn_isEmpty(obj.creatYyyy)) + { + if(count > 0) + t_data += " | "; + count += 1; + t_data += "생산년도 : " + obj.creatYyyy + "" + } + t_data += "
" + + var t_btn = ""; + + //대출, 방문 가능여부 + if(!fn_isEmpty(obj.operOutRangeNm) && !fn_isEmpty(obj.operReadRangeNm)) + { + t_btn +="

" + obj.operOutRangeNm + "
" + obj.operReadRangeNm + "

"; + }else if(!fn_isEmpty(obj.operOutRangeNm) || !fn_isEmpty(obj.operReadRangeNm)) + { + t_btn +="

" + obj.operOutRangeNm + obj.operReadRangeNm + "

"; + } + if(!fn_isEmpty(obj.interfaceId) && !fn_isEmpty(obj.openDivCd) && obj.openDivCd != '3') + { + t_btn+= ""; + } + t_btn+= ""; + + var div = $(document.createElement('div')); + div.attr('class','list'); + div.append($('
').attr('class', 't-chk').html("")); + div.append($('
').attr('class', 't-cultural').html("[" +obj.mngOrgNm +"]")); + div.append($('
').attr('class', 't-data').html(t_data)); + div.append($('
').attr('class', 't-btn bt nomagin').html(t_btn)); + + $( "div.list-data").append(div); + + }); + } + + pageLoad("fn_searchArticle", jsonObj.pagingPageIndex, jsonObj.pagingTotRecordCount, jsonObj.pagingStartPage, jsonObj.pagingEndPage, jsonObj.pagingLastPage); - - -

${pageTitle }

+ }).fail(function (jqXHR, textStatus, errorThrown) { + alert("조회에 실패하였습니다. 관리자에게 문의 바랍니다."); + }); + } + + -
- 총
+ +
+

관심자료 섹션영역

+
+
+
+
    +
  • HOME
  • +
  • 마이페이지
  • +
  • 관심자료
  • +
+
    +
  • 관심자료
  • +
+
+
화살표 아이콘
+
+
+
+ + +
+ 0 +
+
+ +
+
+
+
+
+
+
+
문화원
+
자료정보
+
이용
+
+
+
    +
    +
    + + +
    +
    +
    +
    +
    - -
    - - <%-- - --%> - - - -
    - - - - - -
    - - - +
    \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/nlib/collection/searchItemDetail.jsp b/src/main/webapp/WEB-INF/jsp/nlib/collection/searchItemDetail.jsp index f86ff319..1eaf3cf2 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/collection/searchItemDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/collection/searchItemDetail.jsp @@ -169,22 +169,29 @@
    이용상태 아이콘
    이용상태
    -
    대출중 (대기자 0명)
    +
    (대기자 명)
    달력 아이콘
    반납예정일
    -
    2021-08-27
    +
    대출 아이콘
    대출
    -
    예약가능
    +
    + 신청가능 + 예약가능 + 신청/예약불가 +
    방문 아이콘
    방문열람
    -
    신청불가
    +
    + 신청가능 + 신청불가 +
    @@ -199,7 +206,7 @@
    -

    1부 역사 속의 경주1 - 경주, 조선의 500년 역사를 찾다

    +

    1부

    2부 역사 속의 경주2 - 금오산을 바라본 조선문인의 시선

    3부 경주문화제 핫이슈 - 타향살이 100년 ‘청와대 미남석불’, 이제는 고향 경주의 품으로

    4부 경주문화제 핫이슈 - 타향살이 100년 ‘청와대 미남석불’, 이제는 고향 경주의 품으로

    diff --git a/src/main/webapp/WEB-INF/jsp/nlib/collection/searchList.jsp b/src/main/webapp/WEB-INF/jsp/nlib/collection/searchList.jsp index cfce4530..93e75f83 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/collection/searchList.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/collection/searchList.jsp @@ -53,6 +53,19 @@ window.onload = function() { + <%//상단 검색바 셋팅%> + $("#top_query").val('${searchVO.query}'); + if(sfield == "TITLE") + { + $("#sfield").val(sfield); + } + + var sfield = '${searchVO.sfield}'; + if(sfield == "TITLE") + { + $("#sfield").val(sfield); + } + // 페이지 크기 변경시 재조회 $("#pageSize").on("change", function(e) { fnFilterSch(); @@ -79,7 +92,7 @@ window.onload = function() { //초기값 fnSetInitialValue(); - //생산기관적용버튼 + //생산년도적용버튼 filter_creatYyyyAply(); //필터클릭체크 reference_filterClk(); @@ -88,13 +101,12 @@ window.onload = function() { fnLabel_reference(); //초기화 reference_filterReset(); + }; // window.onload //페이지 로드시 초기값셋팅 function fnSetInitialValue() { - //상세검색 - $("#top_query").val("${searchVO.query}"); //탭 $("#"+"${searchVO.collection}").parent().addClass('current'); //페이징 @@ -115,15 +127,6 @@ function fnSetInitialValue() }else{ $("#m-year-1").prop('checked',true); } - - //상단 검색바 - $("#top_query").val('${searchVO.query}'); - var sfield = '${searchVO.sfield}'; - - if(sfield = "TITLE") - { - $("#sfield").val(sfield); - } } //탭 이동 function fnTabMoveSch(collection){ @@ -164,13 +167,10 @@ function fn_search_article(pageIndex) { - - - - - - - + + + +

    소장자료 섹션영역

    @@ -211,7 +211,7 @@ function fn_search_article(pageIndex) {
  • on">
    - checked="checked" /> + checked="checked" />
    @@ -245,7 +245,7 @@ function fn_search_article(pageIndex) {
  • on"> -
    checked="checked"/>
    +
    checked="checked"/>
      @@ -294,7 +294,7 @@ function fn_search_article(pageIndex) {
    • -
      +
      checked="checked"/>
    • @@ -318,16 +318,16 @@ function fn_search_article(pageIndex) {
    - - - - - - 0 - - - + + ${searchVO.realQuery}에 대한 검색결과는 총 + 건 입니다. + + + + + +
    -
    -
    - ${result.title } - 즐겨찾기 아이콘즐겨찾기 아이콘 +
    +
    + + + + 즐겨찾기 아이콘 + 즐겨찾기 아이콘 + + + + + 즐겨찾기 아이콘 + 즐겨찾기 아이콘 + + +
    @@ -408,7 +420,7 @@ function fn_search_article(pageIndex) { - + diff --git a/src/main/webapp/WEB-INF/jsp/nlib/member/accountConsolidationForm.jsp b/src/main/webapp/WEB-INF/jsp/nlib/member/accountConsolidationForm.jsp index 8e1f2399..fd9f30eb 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/member/accountConsolidationForm.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/member/accountConsolidationForm.jsp @@ -23,11 +23,18 @@ */ %> <%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ page import="java.util.Date" %> +<%@ page import="java.text.SimpleDateFormat" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%> +<% + Date nowTime = new Date(); + SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat sf2 = new SimpleDateFormat("a hh:mm:ss"); +%> @@ -35,8 +42,45 @@ Insert title here -

    계정이 통합되었습니다.

    -${result.name } ${result.email } - + +
    +

    계정연결완료 섹션영역

    +
    +
    +
    자물쇠 아이콘
    +

    계정연결 완료

    +
    +
    +
    +
    +
    +

    기가입 계정에 + + 네이버 + 카카오 + 구글 + 계정이 통합되었습니다. +

    +

    +
    +
    +
    + 네이버 아이콘 + 카카오 아이콘 + 구글 아이콘 +
    +
    +

    +

    <%= sf.format(nowTime) %><%= sf2.format(nowTime) %> 연결완료

    +
    +
    + +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/nlib/member/alreadySignUpPopup.jsp b/src/main/webapp/WEB-INF/jsp/nlib/member/alreadySignUpPopup.jsp index 7d4d9d39..7eae8e99 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/member/alreadySignUpPopup.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/member/alreadySignUpPopup.jsp @@ -10,10 +10,6 @@ Insert title here
    -

    비밀번호 찾기

    -

    회원님의 본인확인을 위해 가입시 등록하신 이메일을 입력하여 주시기 바랍니다.


    -Email - + + + + + +
    +
    +

    내 정보

    +

    비밀번호 찾기

    +
    +
    +
    +

    이메일 정보가 확인되면 해당 메일로
    임시비밀번호를 보내드립니다.

    +
    +
    +

    +

    - 임시 비밀번호가 발급된 후 [마이페이지 > 회원정보관리 > 내 정보]에서 비밀번호를 수정해주세요.

    +
    +
    + + +
    + +
    +
    +
    \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/nlib/member/initPasswordResult.jsp b/src/main/webapp/WEB-INF/jsp/nlib/member/initPasswordResult.jsp deleted file mode 100644 index cc1057c8..00000000 --- a/src/main/webapp/WEB-INF/jsp/nlib/member/initPasswordResult.jsp +++ /dev/null @@ -1,36 +0,0 @@ -<% -/** - *
    - * @Class Name : initPasswordResult.jsp
    - * 
    - * @Description : 비밀번호 찾기 결과
    - * 
    - * 
    - * @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
    - *
    - * 
    - * - * @ ------------ -------- --------------------------- - * @ 수정일 수정자 수정내용 - * @ ------------ -------- --------------------------- - * @ 2021. 7. 12. JSYOO 최초 생성 - * - * - * @author 이씨플라자 * DIGITALSHIP JSYOO - * @since 2021. 7. 12. - * @version 1.0 - * - */ - %> -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - - - -Insert title here - - -비밀번호찾기 결과페이지 - - \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/nlib/member/insertMemberInfoForm.jsp b/src/main/webapp/WEB-INF/jsp/nlib/member/insertMemberInfoForm.jsp index a26fa0ff..f3bda09c 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/member/insertMemberInfoForm.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/member/insertMemberInfoForm.jsp @@ -37,56 +37,113 @@ - -
    -

    - 회원가입 -


    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    이메일 - " > - -
    이름 - " required > -
    성별 - 남자 - 여자 -
    생년월일 - - - -
    비밀번호 - -
    비밀번호 확인 - -
    주소 -
    - + +
    +

    회원가입 섹션영역

    +
    +
    +
    +
      +
    • HOME
    • +
    • 회원가입
    • +
    +
      +
    • 회원가입
    • +
    +
    +
    화살표 아이콘
    +
    +
    +
    +
    +
    +
    인증 성공 아이콘
    +

    STEP 01

    본인인증

    +
    +
    +
    인증 성공 아이콘
    +

    STEP 02

    약관동의

    +
    +
    +
    정보입력 아이콘
    +

    STEP 03

    정보입력

    +
    +
    + +
    + + + + + + + "> + "> + + + + + +

    회원정보

    + +
    + +
    + " placeholder="이름을 입력하세요" /> +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    + 년 + 월 + 일 +
    +
    + +
    + +
    +
    + - + - + + + +
    + +
    +
    + +
    + + +
    + +
    + +
    +
    + + +
    +
    + + +
    +
    +
    -
    휴대전화 - " required > - -
    -
    - - - - - "> - "> - - -
    +
    + +
    + + 9자리 이상, 숫자/문자/특수문자를 혼합하여 입력 + + 일치합니다. + 일치하지 않습니다. + - 입력하신 비밀번호는 ‘계정 연결’, ‘내 정보 확인’, ‘회원탈퇴’ 시, 회원님의 정보보호 및 본인확인을 위해 사용됩니다. +
    +
    + +

    서비스 알림 수신 동의

    + +
    +
    +
    +
    +
    +
    +
    +
    +

    - 문자(SMS)/이메일 수신동의를 하시면 ‘자료반납’, ‘자료연체’, ‘예약자료 도착’, ‘열람신청 승인’, ‘열람신청 반려’ 알림을 받으실 수 있습니다.

    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +

    - 문자(SMS)/이메일 수신동의를 하시면 문화원 소식이나 주요 행사 등의 정보를 빠르게 만나실 수 있습니다.

    +

    - 회원가입완료, 임시비밀번호 발급관련 내용의 경우 수신 동의와 상관없이 이메일로 발송됩니다.

    +
    + +
    + + +
    + +
    +
    +
    +
    diff --git a/src/main/webapp/WEB-INF/jsp/nlib/member/insertMemberInfoResult.jsp b/src/main/webapp/WEB-INF/jsp/nlib/member/insertMemberInfoResult.jsp index 4a0f6ec4..08596b70 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/member/insertMemberInfoResult.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/member/insertMemberInfoResult.jsp @@ -30,7 +30,35 @@ Insert title here -가입되셨습니다. 환영합니다 + +
    +

    회원가입완료 섹션영역

    +
    +
    +
    화살표 아이콘
    +

    통합회원가입 완료

    +
    +
    +
    +
    +
    +

    반갑습니다!

    +

    지방문화원 소장자료관 통합회원가입이 완료되었습니다.

    +

    ${result.name }님의 지방문화원 소장자료관 회원증이 발급되었으며, [회원증] 메뉴를 통해 확인하실 수 있습니다.

    +

    가입시 입력된 정보는 [마이페이지 > 회원정보관리 > 수정하기]에서 수정 가능합니다.

    +
    +
    +

    지방문화원 소장자료관 가입 및 이용 안내

    +

    문화원별 소장자료관은 통합회원으로 관리/운영됩니다.
    가입하신 계정을 통해 전국 모든 문화원 소장자료관 이용이 가능합니다.

    +
    + +
    +
    +
    +
    +
    diff --git a/src/main/webapp/WEB-INF/jsp/nlib/member/selectMemberJoiningInfo.jsp b/src/main/webapp/WEB-INF/jsp/nlib/member/selectMemberJoiningInfo.jsp index 524fd5c1..4bed9c40 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/member/selectMemberJoiningInfo.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/member/selectMemberJoiningInfo.jsp @@ -52,19 +52,76 @@ function snsCertForm(){ } location.href="${pageContext.request.contextPath}/member/insertMemberInfoForm.do"; } + +function cancle(){ + location.href="${pageContext.request.contextPath}/login/memberSnsForm.do"; +} -
    -
    - - -
    동의
    - - -
    동의
    -

    -
    -
    + +
    +

    회원가입 섹션영역

    +
    +
    +
    +
      +
    • HOME
    • +
    • 회원가입
    • +
    +
      +
    • 회원가입
    • +
    +
    +
    화살표 아이콘
    +
    +
    +
    +
    +
    +
    인증 성공 아이콘
    +

    STEP 01

    본인인증

    +
    +
    +
    약관동의 아이콘
    +

    STEP 02

    약관동의

    +
    +
    +
    정보입력 아이콘
    +

    STEP 03

    정보입력

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/nlib/search/getDetailedSearchFormPopup.jsp b/src/main/webapp/WEB-INF/jsp/nlib/search/getDetailedSearchFormPopup.jsp index 6150e20a..1aec6a67 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/search/getDetailedSearchFormPopup.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/search/getDetailedSearchFormPopup.jsp @@ -31,14 +31,126 @@ <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> 상세 검색 - -
    상세 검색 검색어와, 검색조건들을 통해서 더 정확한 정보를 찾아보세요. - 닫기 아이콘 + 닫기 아이콘
    -
    + @@ -149,13 +303,13 @@ function d_search(){
    -
    +
      -
    • +
    @@ -208,7 +362,7 @@ function d_search(){
    - +
    diff --git a/src/main/webapp/WEB-INF/jsp/nlib/userInfo/putMyInfo.jsp b/src/main/webapp/WEB-INF/jsp/nlib/userInfo/putMyInfo.jsp index 9c687306..0f63744d 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/userInfo/putMyInfo.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/userInfo/putMyInfo.jsp @@ -34,12 +34,10 @@ - -Insert title here - -
    -

    - 정보수정 -


    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    이메일 - > - -
    이름 - > -
    성별 - 남자 - 여자 -
    생년월일 - - - -
    주소 - " readonly >
    - " readonly /> - " /> - -
    휴대전화 - " > - -
    -
    - > - - - - - - " > - "> - -
    - 소장자료관을 더 이상 사용하고 싶지 않으신가요? -
    -
    -
    - SNS연동
    - - "> 이메일: 연결완료 "); value="연결해제"> -
    -
    -
    - 비밀번호 변경 -
    - - - - - - - - - - - -
    - -
    - -
    - -
    - - + +
    +

    내정보 수정 섹션영역

    +
    +
    +
    +
      +
    • HOME
    • +
    • 마이페이지
    • +
    • 회원정보관리
    • +
    • 내 정보
    • +
    +
      +
    • 내정보
    • +
    +
    +
    화살표 아이콘
    +
    +
    +
    +
    + + + + + + + + + + + " > +

    회원정보

    + +
    + +
    + placeholder="이름을 입력하세요"/> +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    + 년 + 월 + 일 +
    +
    + +
    + +
    +

    +

    - 입력하신 비밀번호는 ‘계정 연결’, ‘내 정보 확인’, ‘회원탈퇴’ 시, 회원님의 정보보호 및 본인확인을 위해 사용됩니다.

    +
    +
    + +
    + +
    +
    + - + - + + + +
    + +
    +
    + +
    + + +
    + +
    + +
    +
    + " readonly placeholder="우편번호" /> + +
    +
    + " readonly placeholder="주소" /> + " placeholder="상세주소" /> +
    +
    +
    + +
    + +
    +
    + +
    "> +
    연결완료
    + +
    +
    +
    +
    +
    + +

    서비스 알림 수신 동의

    + +
    +
    +
    checked >
    +
    +
    +
    checked >
    +
    checked >
    +
    +

    - 문자(SMS)/이메일 수신동의를 하시면 ‘자료반납’, ‘자료연체’, ‘예약자료 도착’, ‘열람신청 승인’, ‘열람신청 반려’ 알림을 받으실 수 있습니다.

    +
    + +
    +
    +
    checked >
    +
    +
    +
    checked >
    +
    checked >
    +
    +

    - 문자(SMS)/이메일 수신동의를 하시면 문화원 소식이나 주요 행사 등의 정보를 빠르게 만나실 수 있습니다.

    +

    - 회원가입완료, 임시비밀번호 발급관련 내용의 경우 수신 동의와 상관없이 이메일로 발송됩니다.

    +
    + +

    소장자료관을 더 이상 사용하고 싶지 않으신가요? >

    + +
    + + +
    + +
    + + +
    +
    +
    +
    +
    diff --git a/src/main/webapp/WEB-INF/jsp/nlib/userInfo/pwCertMyInfo.jsp b/src/main/webapp/WEB-INF/jsp/nlib/userInfo/pwCertMyInfo.jsp index 2711509e..77fb4f2d 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/userInfo/pwCertMyInfo.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/userInfo/pwCertMyInfo.jsp @@ -43,15 +43,57 @@ if("${message}"!="") }); function goPutMyInfo(){ + if($("#password")=="") + { + alert("비밀번호를 입력해주세요."); + return false; + } document.pwInputForm.action="${pageContext.request.contextPath}/userInfo/putMyInfo.do"; document.pwInputForm.submit(); } -

    비밀번호를 입력해주세요

    - -
    + + +
    +

    내 정보 패스워드 섹션영역

    +
    +
    +
    +
      +
    • HOME
    • +
    • 마이페이지
    • +
    • 회원정보관리
    • +
    • 내 정보
    • +
    +
      +
    • 내 정보
    • +
    +
    +
    화살표 아이콘
    +
    +
    +
    +
    +
    체크 아이콘
    +
    +

    회원님의 소중한 정보보호를 위해 비밀번호를 다시 한 번 확인합니다.

    +

    (회원가입 시, 등록한 비밀번호를 입력해주세요.)

    +
    + +
    + 확인 +
    +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/template/mail/cert_mail_template.html b/src/main/webapp/WEB-INF/template/mail/cert_mail_template.html new file mode 100644 index 00000000..ae355ff6 --- /dev/null +++ b/src/main/webapp/WEB-INF/template/mail/cert_mail_template.html @@ -0,0 +1,33 @@ +
    +
    +
    + logo + ${councilNm} + 소장자료관 +
    +

    ${councilNm}에서
    이메일 인증번호
    를 발송해드립니다.

    +
    +
    +
    +
    +

    ${name} 회원님, 안녕하세요.

    +

    ${time}인증하기를 요청하셨습니다.

    +
    +
    +
    +

    인증하기 요청을 한 사람이 본인이 맞으면 아래의 인증번호를 이메일 인증번호 입력란에 입력하여 이메일 인증을 완료해주시기 바랍니다.

    +
    +
    +
    + 이메일 인증번호 + ${certNumber} +
    +
    +
    +
    +
    +

    본 메일은 발신전용 메일입니다.

    +

    서울시 마포대로49 성우빌딩 308호 TEL. 02.704-2322 FAX. 02.704-2377
    COPYRIGHT (C)2018 The Federation of Korea Culture Center. ALL RIGHT RESERVED.

    +
    +
    +
    diff --git a/src/main/webapp/WEB-INF/template/mail/mail_template.html b/src/main/webapp/WEB-INF/template/mail/mail_template.html deleted file mode 100644 index d9f6ba43..00000000 --- a/src/main/webapp/WEB-INF/template/mail/mail_template.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - -회원가입완료 - - - -${contents}님 회원가입이 완료되었습니다. - - - \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/template/mail/pwd_mail_template.html b/src/main/webapp/WEB-INF/template/mail/pwd_mail_template.html index d75ebdfc..bb61873a 100644 --- a/src/main/webapp/WEB-INF/template/mail/pwd_mail_template.html +++ b/src/main/webapp/WEB-INF/template/mail/pwd_mail_template.html @@ -1,12 +1,33 @@ - - - - -비밀번호 초기화 - - - -초기화된 비밀번호는 ${contents} 입니다. - - - \ No newline at end of file +
    +
    +
    + logo + ${councilNm} + 소장자료관 +
    +

    ${councilNm}에서
    임시 비밀번호
    를 발송해드립니다.

    +
    +
    +
    +
    +

    ${name} 회원님, 안녕하세요.

    +

    ${time}임시 비밀번호를 요청하셨습니다.

    +
    +
    +
    +

    임시 비밀번호 요청을 한 사람이 본인이 맞으면 아래의 임시비밀번호를 비밀번호 입력란에 입력하여 로그인을 완료해주시기 바랍니다.

    +
    +
    +
    + 임시 비밀번호 + ${initPwd} +
    +
    +
    +
    +
    +

    본 메일은 발신전용 메일입니다.

    +

    서울시 마포대로49 성우빌딩 308호 TEL. 02.704-2322 FAX. 02.704-2377
    COPYRIGHT (C)2018 The Federation of Korea Culture Center. ALL RIGHT RESERVED.

    +
    +
    +
    diff --git a/src/main/webapp/WEB-INF/template/mail/signUp_mail_template.html b/src/main/webapp/WEB-INF/template/mail/signUp_mail_template.html new file mode 100644 index 00000000..526481c3 --- /dev/null +++ b/src/main/webapp/WEB-INF/template/mail/signUp_mail_template.html @@ -0,0 +1,39 @@ +
    +
    +
    + logo + ${councilNm} + 소장자료관 +
    +

    ${councilNm} 소장자료관 가입
    축하드립니다.

    +
    +
    +
    +
    +

    ${name} 회원님, 안녕하세요.

    +

    ${time}${councilNm} 소장자료관
    가입하셨습니다.

    +
    +
    +
    +
    + 이름 + ${name} +
    +
    + 메일 + ${email} +
    +
    +

    - 회원정보는 [마이페이지 > 회원정보관리 > 내 정보] 에서 수정할 수 있습니다.

    +
    +

    ${councilNm}에서 이용 가능한 온라인 회원증이 발급되었으며 [회원증] 메뉴를 통해 확인하실 수 있습니다.

    +

    지역의 문화를 엿볼 수 있는 소장자료관에서 많은 자료들을 둘러보시고 대출/열람 서비스를 이용해보세요.

    +
    +
    +
    +
    +

    본 메일은 발신전용 메일입니다.

    +

    서울시 마포대로49 성우빌딩 308호 TEL. 02.704-2322 FAX. 02.704-2377
    COPYRIGHT (C)2018 The Federation of Korea Culture Center. ALL RIGHT RESERVED.

    +
    +
    +
    diff --git a/src/main/webapp/data.html b/src/main/webapp/data.html index 5e4a4aa1..0b7d63a8 100644 --- a/src/main/webapp/data.html +++ b/src/main/webapp/data.html @@ -355,7 +355,7 @@
    -
    +

    생산기관

    diff --git a/src/main/webapp/images/mail/bg-certification.jpg b/src/main/webapp/images/mail/bg-certification.jpg new file mode 100644 index 00000000..7affc0dc Binary files /dev/null and b/src/main/webapp/images/mail/bg-certification.jpg differ diff --git a/src/main/webapp/images/mail/bg-membership.jpg b/src/main/webapp/images/mail/bg-membership.jpg new file mode 100644 index 00000000..35a9ee97 Binary files /dev/null and b/src/main/webapp/images/mail/bg-membership.jpg differ diff --git a/src/main/webapp/images/mail/bg-overdue.jpg b/src/main/webapp/images/mail/bg-overdue.jpg new file mode 100644 index 00000000..19ca8928 Binary files /dev/null and b/src/main/webapp/images/mail/bg-overdue.jpg differ diff --git a/src/main/webapp/images/mail/bg-request.jpg b/src/main/webapp/images/mail/bg-request.jpg new file mode 100644 index 00000000..655388a9 Binary files /dev/null and b/src/main/webapp/images/mail/bg-request.jpg differ diff --git a/src/main/webapp/images/mail/footer-logo.png b/src/main/webapp/images/mail/footer-logo.png new file mode 100644 index 00000000..61269634 Binary files /dev/null and b/src/main/webapp/images/mail/footer-logo.png differ diff --git a/src/main/webapp/images/mail/logo.png b/src/main/webapp/images/mail/logo.png new file mode 100644 index 00000000..63cdb91a Binary files /dev/null and b/src/main/webapp/images/mail/logo.png differ diff --git a/src/main/webapp/js/default.js b/src/main/webapp/js/default.js index a5953ad4..d30e3766 100644 --- a/src/main/webapp/js/default.js +++ b/src/main/webapp/js/default.js @@ -1,3 +1,27 @@ +// 회원가입 셀렉트박스 + function birthdaySelectBox() { + var now = new Date(); + var year = now.getFullYear(); + var mon = (now.getMonth() + 1) > 9 ? ''+(now.getMonth() + 1) : '0'+(now.getMonth() + 1); + var day = (now.getDate()) > 9 ? ''+(now.getDate()) : '0'+(now.getDate()); + // 년도 + for(var i = 1900 ; i <= year ; i++) { + $('#birth_yy').append(''); + } + + // 월별 + for(var i=1; i <= 12; i++) { + var mm = i > 9 ? i : "0"+i ; + $('#birth_mm').append(''); + } + + // 일별 + for(var i=1; i <= 31; i++) { + var dd = i > 9 ? i : "0"+i ; + $('#birth_dd').append(''); + } + }; + $(document).ready(function(){ /* 상단 메뉴 Fixed */ @@ -105,33 +129,6 @@ $(document).ready(function(){ }); }); - // 회원가입 셀렉트박스 - jQuery(function($) { - var now = new Date(); - var year = now.getFullYear(); - var mon = (now.getMonth() + 1) > 9 ? ''+(now.getMonth() + 1) : '0'+(now.getMonth() + 1); - var day = (now.getDate()) > 9 ? ''+(now.getDate()) : '0'+(now.getDate()); - // 년도 - for(var i = 1900 ; i <= year ; i++) { - $('#year').append(''); - } - - // 월별 - for(var i=1; i <= 12; i++) { - var mm = i > 9 ? i : "0"+i ; - $('#month').append(''); - } - - // 일별 - for(var i=1; i <= 31; i++) { - var dd = i > 9 ? i : "0"+i ; - $('#day').append(''); - } - $("#year > option[value="+year+"]").attr("selected", "true"); - $("#month > option[value="+mon+"]").attr("selected", "true"); - $("#day > option[value="+day+"]").attr("selected", "true"); - }); - // 회원가입 체크박스 $('input.sex[type="checkbox"]').bind('click',function() { $('input.sex[type="checkbox"]').not(this).prop("checked", false); diff --git a/src/main/webapp/js/nlib.js b/src/main/webapp/js/nlib.js index ffb368a3..341bc6e6 100644 --- a/src/main/webapp/js/nlib.js +++ b/src/main/webapp/js/nlib.js @@ -94,13 +94,40 @@ function fn_closeLayerPopup() { } function fn_myAlert(newAlertNum) { + if(newAlertNum == "undefined" || newAlertNum == null || newAlertNum < 1) { return; } - fn_openLayerPopup("알림", "아직 확인하지 않은 새로운 알림이 " + newAlertNum + "건 있습니다", "알림 목록으로", CONTEXT_PATH + "/cmm/listNotifications.do"); + var notiHtml = + '
    ' + + '

    지방문화원 소장자료

    ' + + '

    알림

    ' + + '
    ' + + '
    ' + + '
    ' + + '

    아직 확인하지 않은
    새로운 알림이 ' + newAlertNum + '건 있습니다.

    ' + + '
    ' + + '
    ' + + ' ' + + ' ' + + '
    ' + + ' ' + + '
    ' + + '
    '; + fn_layerPopWithHtml(notiHtml, "pop-notice"); } +function fn_layerPopWithHtml(cHtml, addClasses) { + $("#NLIB_LAYER_POPUP").removeClass(); + $("#NLIB_LAYER_POPUP").addClass(addClasses); + $("#NLIB_LAYER_POPUP").html(cHtml); + $("#NLIB_LAYER_POPUP").show(); + + var classes = addClasses.split(" "); + + $("." + classes[0]).fadeIn(); +} function fn_layerPopWithClass(url, addClasses) { // 클릭 시, 로딩되도록 처리 (2021.10.20) @@ -293,4 +320,15 @@ function fn_viewItemDetailInfo(masterId){ $("#FRM_ITEM_DETAIL").submit(); } - +function fn_formatDateStr(yyyymmdd, defVal) { + if(fn_isEmpty(yyyymmdd)) return defVal; + if(yyyymmdd.length == 8) { + return yyyymmdd.substr(0, 4) + "-" + yyyymmdd.substr(4,2) + "-" + yyyymmdd.substr(6); + } else if(yyyymmdd.length == 6) { + return yyyymmdd.substr(0, 4) + "-" + yyyymmdd.substr(4,2); + } else if(yyyymmdd.length == 4) { + return yyyymmdd; + } + + return defVal; +} diff --git a/src/main/webapp/js/search/reference.js b/src/main/webapp/js/search/reference.js index 0cc82280..9b7bb665 100644 --- a/src/main/webapp/js/search/reference.js +++ b/src/main/webapp/js/search/reference.js @@ -1,7 +1,7 @@ //filter clk evt function reference_filterClk(){ - $(document).on("click","#referencelistForm [name=second_class],#referencelistForm [name=second_category]",function(){ + $(document).on("click","#referencelistForm [name=second_class],#referencelistForm [name=second_category],#referencelistForm [name=first_agency]",function(){ //first chk if( $(this).parents('.depth-2').find('input:checkbox[name="' + event.target.name + '"]:checked').length >= 1){ $(this).parents('.depth-2').siblings('.depth-1').find('input').prop("checked", true); @@ -12,21 +12,31 @@ function reference_filterClk(){ //filter_mylist clk array var filter_mylist = ""; var filter_mylist_clk = ""; + var filter_agency = ""; + var filter_agency_clk = ""; + filter_agency = $('#filter_agency').val(); filter_mylist = $('#filter_mylist').val(); if($(this).attr('name') == 'second_class'){ filter_mylist_clk = 'class_'+$(this).val() +','; }else if($(this).attr('name') == 'second_category'){ filter_mylist_clk = 'category_'+$(this).val() +','; + }else if($(this).attr('name') == 'first_agency'){ + filter_mylist_clk = 'agency_'+$(this).val() +','; + //생산기관은 1depth 이므로 별도처리 + filter_agency_clk = $(this).val() +","; } + //생산기관은 1depth 이므로 별도처리 if($(this).is(":checked")){ filter_mylist += filter_mylist_clk; - + filter_agency += filter_agency_clk; }else{ filter_mylist = filter_mylist.replace(filter_mylist_clk,''); + filter_agency = filter_agency.replace(filter_agency,''); } $('#filter_mylist').val(filter_mylist); + $('#filter_agency').val(filter_agency); //depth-1 @@ -40,7 +50,7 @@ function reference_filterClk(){ filter_category = $(on_classArr[i]).find('input').val(); } } - + var listForm = document.forms["referencelistForm"]; listForm.pageIndex.value = 1; listForm.filter_class.value = filter_class; @@ -98,14 +108,15 @@ function reference_filterReset(){ $("#creatYyyyEnd").val(""); $("#filter_class").val(""); $("#filter_category").val(""); + $("#filter_agency").val(""); $("#filter_mylist").val(""); - $("#referencelistForm [name=first_class],#referencelistForm [name=second_class],#referencelistForm [name=first_category],#referencelistForm [name=second_category],#referencelistForm [name=creatYyyyYn]").prop("checked", false); + $("#referencelistForm [name=first_class],#referencelistForm [name=second_class],#referencelistForm [name=first_category],#referencelistForm [name=second_category],#referencelistForm [name=creatYyyyYn],#referencelistForm [name=first_agency]").prop("checked", false); fnFilterSch(); }); } //reference 결과 필터 del 클릭 function reference_filterDel(){ - $(document).on("click","#referencelistForm button[id^='c_cate_data-type-chk'],#referencelistForm button[id^='j_cate_theme-chk'],#referencelistForm button[id^='s_cate_local-chk']",function(){ + $(document).on("click","#referencelistForm button[id^='c_cate_data-type-chk'],#referencelistForm button[id^='j_cate_theme-chk'],#referencelistForm button[name=first_agency_del]",function(){ var s_cate_id = $(this).attr("id"); s_cate_id = s_cate_id.substring(s_cate_id.lastIndexOf("_")+1); @@ -116,12 +127,9 @@ function reference_filterDel(){ reference_gubun_name = "second_category"; }else if( $(this).attr('id').indexOf("data-type-chk")!= -1){ reference_gubun_name = "second_class"; - }else if( $(this).attr('id').indexOf("local-chk") != -1){ - reference_gubun_name = "sojang_council"; } - //first - var first_nm = $(this).attr('id').replace('c_cate_', '').replace('j_cate_', '').replace('s_cate_', ''); + var first_nm = $(this).attr('id').replace('c_cate_', '').replace('j_cate_', ''); first_nm = first_nm.substring(0,first_nm.indexOf("_",-2)); //data-type-chk1-4 first_nm = first_nm.substring(0,first_nm.lastIndexOf("-")) ; //data-type-chk1 @@ -139,31 +147,32 @@ function reference_filterDel(){ //filter_mylist clk array remove var filter_mylist = ""; var filter_mylist_clk = ""; + var filter_agency = ""; + var filter_agency_clk = ""; + filter_agency = $('#filter_agency').val(); filter_mylist = $('#filter_mylist').val(); if($(this).attr('id').indexOf('c_cate_data-type') >= 0 ){ filter_mylist_clk = 'class_'+ s_cate_id +','; - }else if($(this).attr('id').indexOf('s_cate_local')>= 0 ){ - filter_mylist_clk = 'council_'+ s_cate_id +','; }else if($(this).attr('id').indexOf('j_cate_theme')>= 0 ){ filter_mylist_clk = 'category_'+ s_cate_id +','; - } - + }else if($(this).attr('name').indexOf('first_agency_del')>= 0 ){ + filter_mylist_clk = 'agency_'+ $(this).val() +','; + filter_agency_clk = $(this).val() +','; + } + filter_agency = filter_agency.replace(filter_agency_clk,''); filter_mylist = filter_mylist.replace(filter_mylist_clk,''); + $('#filter_agency').val(filter_agency); $('#filter_mylist').val(filter_mylist); //depth-1 var on_classArr = document.querySelectorAll("div.depth-1.on"); var filter_class = "" ; - var filter_sido = "" ; - var filter_thema = "" ; var filter_category = "" ; for(var i=0; i"+ first_cate_nm + " > "+ second_cate_nm + "
  • ").text(); + $("#reference_fillter_append").append("
  • "+ first_cate_nm + " > "+ second_cate_nm + "
  • ").text(); comparisonData = second_cate_id; } @@ -238,6 +246,9 @@ function fnLabel_reference(){ } else if(mylist_arr[j].indexOf("creat_date") >= 0){ $("#reference_fillter_append").append("
  • 생산년도 > " + $("#creatYyyyStart").val() + "~" + $("#creatYyyyEnd").val() +"
  • ").text(); + }else if(mylist_arr[j].indexOf("agency") >= 0){ + var second_cate_nm = mylist_arr[j].substring(mylist_arr[j].indexOf("_")+1); + $("#reference_fillter_append").append("
  • 생산기관 > "+ second_cate_nm + "
  • ").text(); } } //for end @@ -288,4 +299,5 @@ function fnLabel_reference_detail(){ function fnFilterSch(){ document.referencelistForm.action="/search/searchList.do"; document.referencelistForm.submit(); -} \ No newline at end of file +} +