Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
a1b9fa78a1
@ -1,5 +1,6 @@
|
||||
package nlib.col.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -65,6 +66,17 @@ public interface CollectionService {
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<CollectionVO> setDetailInfoForList(List<CollectionVO> list, String mbInfoId, String defaultThumbnailUrl) throws Exception;
|
||||
|
||||
/**
|
||||
* 목록의 자료정보에 상세정보를 조회하여 설정한 후 리턴한다.
|
||||
*
|
||||
* @param list
|
||||
* @param mbInfoId
|
||||
* @param defaultThumbnailUrl
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<CollectionVO> setDetailInfoForHashList(List<HashMap<String, String>> list, String mbInfoId, String defaultThumbnailUrl) throws Exception;
|
||||
|
||||
/**
|
||||
* 자료 마스터ID 목록 문자열을 받아 CollectionVO 리스트 생성하여 리턴한다.
|
||||
|
||||
@ -43,13 +43,13 @@ public class CollectionVO extends PagingVO {
|
||||
protected String mngOrgNm; /* 관리처리과명 */
|
||||
protected String mngOrgCd; /* 관리처리과코드 */
|
||||
protected String typeDivCd; /* 상위자료유형코드 */
|
||||
protected String typeCodeNm; /* 상위자료유형명 (도서간행물/문서/도면 등) */
|
||||
protected String typeDivNm; /* 상위자료유형명 (도서간행물/문서/도면 등) : API 이름이 변경됨 typeCodeNm -> typeDivNm */
|
||||
protected String dtlsTypeDivCd; /* 세부유형코드 */
|
||||
protected String dtlsTypeDivNm; /* 세부유형명 */
|
||||
protected String subjectNmUp; /* 상위주제분야명*/
|
||||
protected String subjectCodeUp ; /* 상위주제분야코드*/
|
||||
protected String subjectNmUp; /* 상위주제분야명*/
|
||||
protected String subjectCodeUp ; /* 상위주제분야코드*/
|
||||
protected String subjectNm; /* 주제분야명 */
|
||||
protected String subjectCode; /* 주제분야코드 */
|
||||
protected String subjectCode; /* 주제분야코드 */
|
||||
protected String orgNm; /* 생산기관명 */
|
||||
protected String creatYyyy; /* 생산년도 */
|
||||
protected String interfaceId; /* 지역N문화서비스ID */
|
||||
@ -200,11 +200,11 @@ public class CollectionVO extends PagingVO {
|
||||
return rprsThumbUrl;
|
||||
}
|
||||
public void setRprsThumbUrl(String rprsThumbUrl) {
|
||||
this.rprsThumbUrl = rprsThumbUrl;
|
||||
this.rprsThumbUrl = NlibProperty.getString("thumbnail.image.url.prefix", "") + rprsThumbUrl;
|
||||
}
|
||||
public void setRprsThumbUrl(String rprsThumbUrl, String defaultImgUrl) {
|
||||
if(StringUtil.isEmpty(rprsThumbUrl) || !rprsThumbUrl.startsWith("/")) this.rprsThumbUrl = defaultImgUrl;
|
||||
else this.rprsThumbUrl = rprsThumbUrl;
|
||||
else this.rprsThumbUrl = NlibProperty.getString("thumbnail.image.url.prefix", "") + rprsThumbUrl;
|
||||
}
|
||||
public String getUseYn() {
|
||||
return useYn;
|
||||
@ -237,10 +237,10 @@ public class CollectionVO extends PagingVO {
|
||||
this.typeDivCd = typeDivCd;
|
||||
}
|
||||
public String getTypeCodeNm() {
|
||||
return typeCodeNm;
|
||||
return typeDivNm;
|
||||
}
|
||||
public void setTypeCodeNm(String typeCodeNm) {
|
||||
this.typeCodeNm = typeCodeNm;
|
||||
this.typeDivNm = typeCodeNm;
|
||||
}
|
||||
public String getSubjectNm() {
|
||||
return subjectNm;
|
||||
@ -811,6 +811,14 @@ public class CollectionVO extends PagingVO {
|
||||
public void setReqDd(String reqDd) {
|
||||
this.reqDd = reqDd;
|
||||
}
|
||||
|
||||
public String getTypeDivNm() {
|
||||
return typeDivNm;
|
||||
}
|
||||
|
||||
public void setTypeDivNm(String typeDivNm) {
|
||||
this.typeDivNm = typeDivNm;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@ package nlib.col.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import nlib.restful.service.DataApiResVO;
|
||||
|
||||
@ -74,4 +75,12 @@ public interface ReadService {
|
||||
*/
|
||||
public DataApiResVO cancelReadItem(CollectionVO searchVO);
|
||||
|
||||
/**
|
||||
* 사용자의 방문열람현황을 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
*/
|
||||
public Map<String, String> getReadStats(String mbInfoId);
|
||||
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package nlib.col.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import nlib.restful.service.DataApiReqVO;
|
||||
import nlib.restful.service.DataApiResVO;
|
||||
@ -45,6 +46,14 @@ public interface RentService
|
||||
*/
|
||||
public List<CollectionVO> insertRentItems(List<CollectionVO> list, String mbInfoId, String mngOrgCd, boolean fromCart) throws Exception;
|
||||
|
||||
/**
|
||||
* 사용자의 대출현황을 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
*/
|
||||
public Map<String, String> getRentStats(String mbInfoId);
|
||||
|
||||
//
|
||||
// /**
|
||||
// * 반납 연기 목록을 조회한다.
|
||||
|
||||
@ -227,6 +227,32 @@ public class CollectionServiceImpl implements CollectionService {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 목록의 자료정보에 상세정보를 조회하여 설정한 후 리턴한다.
|
||||
*
|
||||
* @param list
|
||||
* @param mbInfoId
|
||||
* @param defaultThumbnailUrl
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<CollectionVO> setDetailInfoForHashList(List<HashMap<String, String>> list, String mbInfoId, String defaultThumbnailUrl) throws Exception {
|
||||
|
||||
List<CollectionVO> listObj = new ArrayList<CollectionVO>();
|
||||
|
||||
if(list == null || list.size() < 1) return null;
|
||||
|
||||
for(HashMap<String, String> record : list) {
|
||||
CollectionVO cVO = (CollectionVO)XmlConverter.convertMapToObject(record, CollectionVO.class);
|
||||
if(cVO != null && StringUtil.isNotEmpty(cVO.getMasterId())) {
|
||||
listObj.add(cVO);
|
||||
}
|
||||
}
|
||||
|
||||
return setDetailInfoForList(listObj, mbInfoId, defaultThumbnailUrl);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 자료 마스터ID 목록 문자열을 받아 CollectionVO 리스트 생성하여 리턴한다.
|
||||
*
|
||||
|
||||
@ -3,6 +3,8 @@ package nlib.col.service.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
||||
|
||||
@Mapper("readDAO")
|
||||
@ -11,5 +13,13 @@ public interface ReadDAO {
|
||||
public List<HashMap<String, String>> listDates();
|
||||
|
||||
public List<HashMap<String, String>> listReadMngOrg(String mbInfoId);
|
||||
|
||||
|
||||
/**
|
||||
* 사용자의 방문열람현황을 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
*/
|
||||
public Map<String, String> getReadStats(String mbInfoId);
|
||||
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ package nlib.col.service.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@ -170,7 +171,7 @@ public class ReadServiceImpl implements ReadService {
|
||||
|
||||
if(searchVO == null || StringUtil.isEmpty(searchVO.getMbInfoId())) {
|
||||
log.error("listRentItems > 대출 목록 조회 요청 정보가 없습니다.");
|
||||
return null;
|
||||
return new DataApiResVO("F", "대출 목록 조회 요청 정보가 없습니다.");
|
||||
}
|
||||
|
||||
// API 호출
|
||||
@ -240,4 +241,14 @@ public class ReadServiceImpl implements ReadService {
|
||||
return dataApi.request(reqVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 사용자의 방문열람현황을 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
*/
|
||||
public Map<String, String> getReadStats(String mbInfoId) {
|
||||
return readDAO.getReadStats(mbInfoId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -3,6 +3,8 @@ package nlib.col.service.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
||||
|
||||
@Mapper("rentDAO")
|
||||
@ -10,4 +12,12 @@ public interface RentDAO {
|
||||
|
||||
public List<HashMap<String, String>> listRentMngOrg(String mbInfoId);
|
||||
|
||||
|
||||
/**
|
||||
* 사용자의 대출현황을 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
*/
|
||||
public Map<String, String> getRentStats(String mbInfoId);
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ package nlib.col.service.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@ -58,7 +59,7 @@ public class RentServiceImpl implements RentService
|
||||
|
||||
if(searchVO == null || StringUtil.isEmpty(searchVO.getMbInfoId())) {
|
||||
log.error("listRentItems > 대출 목록 조회 요청 정보가 없습니다.");
|
||||
return null;
|
||||
return new DataApiResVO("F", "회원정보가 부적합합니다.");
|
||||
}
|
||||
|
||||
// API 호출
|
||||
@ -194,6 +195,16 @@ public class RentServiceImpl implements RentService
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 사용자의 대출현황을 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
*/
|
||||
public Map<String, String> getRentStats(String mbInfoId) {
|
||||
return rentDAO.getRentStats(mbInfoId);
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// /*
|
||||
|
||||
@ -1,55 +1,74 @@
|
||||
|
||||
package nlib.user.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import egovframework.com.ext.oauth.service.OAuthUniversalUser;
|
||||
|
||||
/**
|
||||
* Description :
|
||||
* @author
|
||||
* @since
|
||||
* @version
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* << Modification Information >>
|
||||
*
|
||||
* Date Modifier Expression
|
||||
* ------- -------- ---------------------------
|
||||
*
|
||||
*
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
public interface UserInfoService
|
||||
{
|
||||
|
||||
/** 사용자의 SNS 연동 리스트를 조회한다.
|
||||
* @param vo
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<OAuthUniversalUser> selectSnsSignUpList(NlibLoginVO vo) throws Exception;
|
||||
|
||||
/** 내 정보를 수정한다.
|
||||
* @param vo
|
||||
* @throws Exception
|
||||
*/
|
||||
public void updateMyInfo(NlibLoginVO vo) throws Exception;
|
||||
|
||||
|
||||
/** SNS연동을 해지한다.
|
||||
* @param oAuthVO
|
||||
* @throws Exception
|
||||
*/
|
||||
public void deleteSnsLink(OAuthUniversalUser oAuthVO) throws Exception;
|
||||
|
||||
/** 사용자의 정보를 조회한다.
|
||||
* @param vo
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public NlibLoginVO selectMyInfo(NlibLoginVO vo) throws Exception;
|
||||
|
||||
|
||||
package nlib.user.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import egovframework.com.ext.oauth.service.OAuthUniversalUser;
|
||||
|
||||
/**
|
||||
* Description :
|
||||
* @author
|
||||
* @since
|
||||
* @version
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* << Modification Information >>
|
||||
*
|
||||
* Date Modifier Expression
|
||||
* ------- -------- ---------------------------
|
||||
*
|
||||
*
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
public interface UserInfoService
|
||||
{
|
||||
|
||||
/** 사용자의 SNS 연동 리스트를 조회한다.
|
||||
* @param vo
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<OAuthUniversalUser> selectSnsSignUpList(NlibLoginVO vo) throws Exception;
|
||||
|
||||
/** 내 정보를 수정한다.
|
||||
* @param vo
|
||||
* @throws Exception
|
||||
*/
|
||||
public void updateMyInfo(NlibLoginVO vo) throws Exception;
|
||||
|
||||
|
||||
/** SNS연동을 해지한다.
|
||||
* @param oAuthVO
|
||||
* @throws Exception
|
||||
*/
|
||||
public void deleteSnsLink(OAuthUniversalUser oAuthVO) throws Exception;
|
||||
|
||||
/** 사용자의 정보를 조회한다.
|
||||
* @param vo
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public NlibLoginVO selectMyInfo(NlibLoginVO vo) throws Exception;
|
||||
|
||||
/**
|
||||
* 직전 로그인 시간을 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<Map<String, String>> getLastLogin(String mbInfoId) throws Exception;
|
||||
|
||||
/**
|
||||
* 최근 1건이내 접속한 문화원 정보를 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<Map<String, String>> getVisitedOrgs(String mbInfoId) throws Exception;
|
||||
|
||||
}
|
||||
@ -1,58 +1,77 @@
|
||||
package nlib.user.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import egovframework.com.ext.oauth.service.OAuthUniversalUser;
|
||||
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
||||
import nlib.user.service.NlibLoginVO;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* @Class Name : UserInfoDAO.java
|
||||
*
|
||||
* @Description : 사용자의 관련 정보 제공 DAO
|
||||
*
|
||||
*
|
||||
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 2021. 9. 7. JSYOO 최초 생성
|
||||
*
|
||||
*
|
||||
* @author 이씨플라자 * DIGITALSHIP JSYOO
|
||||
* @since 2021. 9. 7.
|
||||
* @version 1.0
|
||||
*
|
||||
*/
|
||||
|
||||
@Mapper("userInfoDAO")
|
||||
public interface UserInfoDAO
|
||||
{
|
||||
/** 사용자의 SNS 연동 리스트를 조회한다.
|
||||
* @param vo
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<OAuthUniversalUser> selectSnsSignUpList(NlibLoginVO vo) throws Exception;
|
||||
|
||||
/** 내 정보를 수정한다.
|
||||
* @param vo
|
||||
* @throws Exception
|
||||
*/
|
||||
public void updateMyInfo(NlibLoginVO vo) throws Exception;
|
||||
|
||||
/** SNS연동을 해지한다.
|
||||
* @param oAuthVO
|
||||
*/
|
||||
public void deleteSnsLink(OAuthUniversalUser oAuthVO) throws Exception;
|
||||
|
||||
/** 사용자의 정보를 조회한다.
|
||||
* @param vo
|
||||
* @return
|
||||
*/
|
||||
public NlibLoginVO selectMyInfo(NlibLoginVO vo) throws Exception;
|
||||
package nlib.user.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import egovframework.com.ext.oauth.service.OAuthUniversalUser;
|
||||
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
||||
import nlib.user.service.NlibLoginVO;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* @Class Name : UserInfoDAO.java
|
||||
*
|
||||
* @Description : 사용자의 관련 정보 제공 DAO
|
||||
*
|
||||
*
|
||||
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 2021. 9. 7. JSYOO 최초 생성
|
||||
*
|
||||
*
|
||||
* @author 이씨플라자 * DIGITALSHIP JSYOO
|
||||
* @since 2021. 9. 7.
|
||||
* @version 1.0
|
||||
*
|
||||
*/
|
||||
|
||||
@Mapper("userInfoDAO")
|
||||
public interface UserInfoDAO
|
||||
{
|
||||
/** 사용자의 SNS 연동 리스트를 조회한다.
|
||||
* @param vo
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<OAuthUniversalUser> selectSnsSignUpList(NlibLoginVO vo) throws Exception;
|
||||
|
||||
/** 내 정보를 수정한다.
|
||||
* @param vo
|
||||
* @throws Exception
|
||||
*/
|
||||
public void updateMyInfo(NlibLoginVO vo) throws Exception;
|
||||
|
||||
/** SNS연동을 해지한다.
|
||||
* @param oAuthVO
|
||||
*/
|
||||
public void deleteSnsLink(OAuthUniversalUser oAuthVO) throws Exception;
|
||||
|
||||
/** 사용자의 정보를 조회한다.
|
||||
* @param vo
|
||||
* @return
|
||||
*/
|
||||
public NlibLoginVO selectMyInfo(NlibLoginVO vo) throws Exception;
|
||||
|
||||
/**
|
||||
* 직전 로그인 시간을 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<Map<String, String>> getLastLogin(String mbInfoId) throws Exception;
|
||||
|
||||
/**
|
||||
* 최근 1건이내 접속한 문화원 정보를 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<Map<String, String>> getVisitedOrgs(String mbInfoId) throws Exception;
|
||||
}
|
||||
@ -1,91 +1,115 @@
|
||||
package nlib.user.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.com.ext.oauth.service.OAuthUniversalUser;
|
||||
import egovframework.rte.fdl.cryptography.EgovPasswordEncoder;
|
||||
import nlib.cmm.crypto.AriaCrypto;
|
||||
import nlib.user.service.MemberService;
|
||||
import nlib.user.service.NlibLoginVO;
|
||||
import nlib.user.service.UserInfoService;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* @Class Name : UserInfoServiceImpl.java
|
||||
*
|
||||
* @Description : 사용자의 정보를 조회하는 서비스
|
||||
*
|
||||
*
|
||||
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 2021. 9. 7. JSYOO 최초 생성
|
||||
*
|
||||
*
|
||||
* @author 이씨플라자 * DIGITALSHIP JSYOO
|
||||
* @since 2021. 9. 7.
|
||||
* @version 1.0
|
||||
*
|
||||
*/
|
||||
|
||||
@Service("userInfoService")
|
||||
public class UserInfoServiceImpl implements UserInfoService
|
||||
{
|
||||
@Resource(name="userInfoDAO")
|
||||
private UserInfoDAO userInfoDAO;
|
||||
|
||||
@Resource(name = "egovEnvPasswordEncoderService")
|
||||
EgovPasswordEncoder egovPasswordEncoder;
|
||||
|
||||
@Resource(name = "ariaCrypto")
|
||||
AriaCrypto ariaCrypto;
|
||||
|
||||
/* 사용자의 SNS 연동 리스트를 조회한다.
|
||||
* (non-Javadoc)
|
||||
* @see nlib.user.service.UserInfoService#selectSnsSignUpList(nlib.user.service.NlibLoginVO)
|
||||
*/
|
||||
public List<OAuthUniversalUser> selectSnsSignUpList(NlibLoginVO vo) throws Exception {
|
||||
return userInfoDAO.selectSnsSignUpList(vo);
|
||||
}
|
||||
/* 내 정보를 수정한다.
|
||||
* (non-Javadoc)
|
||||
* @see nlib.user.service.UserInfoService#updateMyInfo(nlib.user.service.NlibLoginVO)
|
||||
*/
|
||||
public void updateMyInfo(NlibLoginVO vo) throws Exception {
|
||||
//회원정보 암호화
|
||||
vo.encodePrivateInfo();
|
||||
|
||||
userInfoDAO.updateMyInfo(vo);
|
||||
}
|
||||
|
||||
/* SNS연동을 해지한다.
|
||||
* (non-Javadoc)
|
||||
* @see nlib.user.service.UserInfoService#deleteSnsLink(egovframework.com.ext.oauth.service.OAuthUniversalUser)
|
||||
*/
|
||||
public void deleteSnsLink(OAuthUniversalUser oAuthVO) throws Exception {
|
||||
userInfoDAO.deleteSnsLink(oAuthVO);
|
||||
}
|
||||
/* 사용자의 정보를 조회한다.
|
||||
* (non-Javadoc)
|
||||
* @see nlib.user.service.UserInfoService#selectMyInfo(nlib.user.service.NlibLoginVO)
|
||||
*/
|
||||
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;
|
||||
}
|
||||
package nlib.user.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.com.ext.oauth.service.OAuthUniversalUser;
|
||||
import egovframework.rte.fdl.cryptography.EgovPasswordEncoder;
|
||||
import nlib.cmm.crypto.AriaCrypto;
|
||||
import nlib.user.service.MemberService;
|
||||
import nlib.user.service.NlibLoginVO;
|
||||
import nlib.user.service.UserInfoService;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* @Class Name : UserInfoServiceImpl.java
|
||||
*
|
||||
* @Description : 사용자의 정보를 조회하는 서비스
|
||||
*
|
||||
*
|
||||
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 2021. 9. 7. JSYOO 최초 생성
|
||||
*
|
||||
*
|
||||
* @author 이씨플라자 * DIGITALSHIP JSYOO
|
||||
* @since 2021. 9. 7.
|
||||
* @version 1.0
|
||||
*
|
||||
*/
|
||||
|
||||
@Service("userInfoService")
|
||||
public class UserInfoServiceImpl implements UserInfoService
|
||||
{
|
||||
@Resource(name="userInfoDAO")
|
||||
private UserInfoDAO userInfoDAO;
|
||||
|
||||
@Resource(name = "egovEnvPasswordEncoderService")
|
||||
EgovPasswordEncoder egovPasswordEncoder;
|
||||
|
||||
@Resource(name = "ariaCrypto")
|
||||
AriaCrypto ariaCrypto;
|
||||
|
||||
/* 사용자의 SNS 연동 리스트를 조회한다.
|
||||
* (non-Javadoc)
|
||||
* @see nlib.user.service.UserInfoService#selectSnsSignUpList(nlib.user.service.NlibLoginVO)
|
||||
*/
|
||||
public List<OAuthUniversalUser> selectSnsSignUpList(NlibLoginVO vo) throws Exception {
|
||||
return userInfoDAO.selectSnsSignUpList(vo);
|
||||
}
|
||||
/* 내 정보를 수정한다.
|
||||
* (non-Javadoc)
|
||||
* @see nlib.user.service.UserInfoService#updateMyInfo(nlib.user.service.NlibLoginVO)
|
||||
*/
|
||||
public void updateMyInfo(NlibLoginVO vo) throws Exception {
|
||||
//회원정보 암호화
|
||||
vo.encodePrivateInfo();
|
||||
|
||||
userInfoDAO.updateMyInfo(vo);
|
||||
}
|
||||
|
||||
/* SNS연동을 해지한다.
|
||||
* (non-Javadoc)
|
||||
* @see nlib.user.service.UserInfoService#deleteSnsLink(egovframework.com.ext.oauth.service.OAuthUniversalUser)
|
||||
*/
|
||||
public void deleteSnsLink(OAuthUniversalUser oAuthVO) throws Exception {
|
||||
userInfoDAO.deleteSnsLink(oAuthVO);
|
||||
}
|
||||
/* 사용자의 정보를 조회한다.
|
||||
* (non-Javadoc)
|
||||
* @see nlib.user.service.UserInfoService#selectMyInfo(nlib.user.service.NlibLoginVO)
|
||||
*/
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 직전 로그인 시간을 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<Map<String, String>> getLastLogin(String mbInfoId) throws Exception {
|
||||
return userInfoDAO.getLastLogin(mbInfoId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 최근 1건이내 접속한 문화원 정보를 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<Map<String, String>> getVisitedOrgs(String mbInfoId) throws Exception {
|
||||
return userInfoDAO.getVisitedOrgs(mbInfoId);
|
||||
}
|
||||
}
|
||||
@ -4,7 +4,9 @@ package nlib.user.web;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.imageio.ImageIO;
|
||||
@ -29,6 +31,13 @@ import egovframework.com.ext.oauth.service.OAuthUniversalUser;
|
||||
import egovframework.rte.fdl.cryptography.EgovPasswordEncoder;
|
||||
import nlib.cmm.NlibCommonController;
|
||||
import nlib.cmm.qrcode.QRCodeUtil;
|
||||
import nlib.cmm.service.NlibProperty;
|
||||
import nlib.col.service.CollectionService;
|
||||
import nlib.col.service.CollectionVO;
|
||||
import nlib.col.service.InterestService;
|
||||
import nlib.col.service.ReadService;
|
||||
import nlib.col.service.RentService;
|
||||
import nlib.restful.service.DataApiResVO;
|
||||
import nlib.security.SecUserDetailsService;
|
||||
import nlib.user.service.LoginService;
|
||||
import nlib.user.service.NlibLoginVO;
|
||||
@ -77,11 +86,24 @@ public class UserInfoController extends NlibCommonController {
|
||||
@Resource(name = "userDetailsService")
|
||||
private SecUserDetailsService SecUserDetailsService;
|
||||
|
||||
@Resource(name = "rentService")
|
||||
private RentService rentService;
|
||||
|
||||
@Resource(name = "readService")
|
||||
private ReadService readService;
|
||||
|
||||
@Resource(name = "interestService")
|
||||
private InterestService interestService;
|
||||
|
||||
@Resource(name = "collectionService")
|
||||
private CollectionService collectionService;
|
||||
|
||||
/** QRCodeService (2021.10.07) */
|
||||
@Resource(name = "qrCodeService")
|
||||
private QRCodeUtil qrCodeService;
|
||||
|
||||
|
||||
|
||||
//마이페이지 uri
|
||||
@Value("#{properties['mypage.uri']}")
|
||||
private String myPageUri;
|
||||
@ -271,7 +293,7 @@ public class UserInfoController extends NlibCommonController {
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value="/userInfo/getMyHome.do")
|
||||
public String getMyHome(HttpServletRequest request, ModelMap model) {
|
||||
public String getMyHome(HttpServletRequest request, ModelMap model) throws Exception {
|
||||
|
||||
NlibLoginVO loginVO = getNlibLoginVO(request);
|
||||
log.debug("getMemberQrcode : loginVO=" + loginVO.toString());
|
||||
@ -280,19 +302,61 @@ public class UserInfoController extends NlibCommonController {
|
||||
model.addAttribute("loginVO", loginVO);
|
||||
|
||||
// 이전접속정보
|
||||
Map<String, String> lastLogin = null;
|
||||
List<Map<String, String>> lastLoginList = userInfoService.getLastLogin(loginVO.getMbInfoId());
|
||||
if(lastLoginList == null || lastLoginList.size() < 1) {
|
||||
lastLogin = new HashMap<String, String>();
|
||||
lastLogin.put("dtStr", "(최초접속)");
|
||||
lastLogin.put("dtStr", " ");
|
||||
} else if(lastLoginList.size() == 1) {
|
||||
lastLogin = lastLoginList.get(0);
|
||||
} else {
|
||||
lastLogin = lastLoginList.get(1);
|
||||
}
|
||||
model.addAttribute("lastLogin", lastLogin);
|
||||
|
||||
// 소장자료관 접속현황 (최근 5개)
|
||||
List<Map<String, String>> visitedOrgs = userInfoService.getVisitedOrgs(loginVO.getMbInfoId());
|
||||
model.addAttribute("visitedOrgs", visitedOrgs);
|
||||
|
||||
// 대출현황
|
||||
Map<String, String> rentStats = rentService.getRentStats(loginVO.getMbInfoId());
|
||||
model.addAttribute("rentStats", rentStats);
|
||||
|
||||
// 방문열람현황
|
||||
Map<String, String> readStats = readService.getReadStats(loginVO.getMbInfoId());
|
||||
model.addAttribute("readStats", readStats);
|
||||
|
||||
// 소장자료관 접속현황 (최근 5개)
|
||||
|
||||
CollectionVO searchCollectionVO = new CollectionVO();
|
||||
searchCollectionVO.setMbInfoId(loginVO.getMbInfoId());
|
||||
searchCollectionVO.setPageSize(5);
|
||||
|
||||
// 관심자료 (최근 5개)
|
||||
List<CollectionVO> interestList = interestService.listInterests(searchCollectionVO);
|
||||
int interestTotalCount = interestService.countListInterests(searchCollectionVO);
|
||||
|
||||
String mbInfoId = getMbInfoId(request);
|
||||
interestList = collectionService.setDetailInfoForList(interestList, searchCollectionVO.getMbInfoId(), NlibProperty.getString("thumbnail.image.url.small"));
|
||||
|
||||
model.addAttribute("interestList", interestList);
|
||||
model.addAttribute("interestTotalCount", interestTotalCount);
|
||||
|
||||
// 대출내역 (최근 5개)
|
||||
// 대출내역 (최근 5개)
|
||||
// 조회
|
||||
// 대출상태구분코드("": 전체, A:신청, B:대출준비완료, C:취소, W:대출중, R0:정상반납, R1:연체반납, P:연체)
|
||||
DataApiResVO resRentVO = rentService.listRentItems(searchCollectionVO);
|
||||
List<CollectionVO> rentList = collectionService.setDetailInfoForHashList(resRentVO.getRecordList(), searchCollectionVO.getMbInfoId(), NlibProperty.getString("thumbnail.image.url.small"));
|
||||
model.addAttribute("rentList", rentList);
|
||||
model.addAttribute("rentTotalCount", resRentVO.getRecordTotCount());
|
||||
|
||||
// 방문열람내역 (최근 5개)
|
||||
|
||||
searchCollectionVO.setReqStatusDivCd("A"); // API 변경될떄까지 임시 값 보냄 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
|
||||
DataApiResVO resReadVO = readService.listReadItems(searchCollectionVO);
|
||||
List<CollectionVO> readList = collectionService.setDetailInfoForHashList(resReadVO.getRecordList(), searchCollectionVO.getMbInfoId(), NlibProperty.getString("thumbnail.image.url.small"));
|
||||
model.addAttribute("readList", readList);
|
||||
model.addAttribute("readTotalCount", resReadVO.getRecordTotCount());
|
||||
|
||||
return "nlib/userInfo/getMyHome";
|
||||
}
|
||||
}
|
||||
@ -43,4 +43,17 @@
|
||||
ORDER BY B.DEPT_NM
|
||||
</select>
|
||||
|
||||
<!-- 방문열람 현황 -->
|
||||
<select id="getReadStats" parameterType="String" resultType="EgovMap">
|
||||
<![CDATA[
|
||||
SELECT SUM(IF(B.REQ_PROC_SUB_STATUS = '1', 1, 0)) AS cntApp /* 신청 */
|
||||
, SUM(IF(B.REQ_PROC_SUB_STATUS = '2', 1, 0)) AS cntCancel /* 취소 */
|
||||
, SUM(IF(B.REQ_PROC_SUB_STATUS = '3', 1, 0)) AS cntProv /* 승인 */
|
||||
, SUM(IF(B.REQ_PROC_SUB_STATUS = '2', 1, 0)) AS cntRej /* 반려 */
|
||||
FROM US_REQ A
|
||||
INNER JOIN US_REQ_ITEM B ON (A.REQ_ID = B.REQ_ID)
|
||||
WHERE A.REQ_USER_ID = #{mbInfoId}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@ -19,5 +19,15 @@
|
||||
JOIN SM_DEPT C ON (B.MNG_ORG_CD = C.ORG_CD)
|
||||
ORDER BY C.DEPT_NM
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getRentStats" parameterType="String" resultType="EgovMap">
|
||||
/* API 개발될때까지 임시 건수 데이터 제공 : DDDDDDDDDDDDDDDDDDDDDdd */
|
||||
SELECT
|
||||
5 AS cntApp /* 신청 */
|
||||
, 2 AS cntRes /* 예약 */
|
||||
, 7 AS cntCancel /* 취소 */
|
||||
, 2 AS cntOut /* 대출중 */
|
||||
, 3 AS cntReturn /* 반납 */
|
||||
, 0 AS cntDelay /* 연체 */
|
||||
</select>
|
||||
</mapper>
|
||||
@ -118,6 +118,4 @@
|
||||
)
|
||||
</insert>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
@ -105,5 +105,43 @@
|
||||
AND MB_INFO_ID = #{mbInfoId};
|
||||
</if>
|
||||
</update>
|
||||
|
||||
|
||||
<!-- 직전 로그인 시간을 조회한다. -->
|
||||
<select id="getLastLogin" parameterType="String" resultType="EgovMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
DATE_FORMAT(T.ACC_DATE, '%Y-%m-%d') as dtStr
|
||||
, DATE_FORMAT(T.ACC_DATE, '%H:%i:%s') as tmStr
|
||||
FROM (SELECT RANK() OVER(ORDER BY ACC_DATE DESC) AS RNK
|
||||
, A.ACC_DATE
|
||||
FROM SM_ACC_LOG A
|
||||
WHERE USER_ID = #{mbInfoId}
|
||||
AND LOGIN_SUCS_YN = 'Y'
|
||||
AND SYS_DIV = '02') T
|
||||
WHERE RNK < 3 /* 현재 및 직전 로그인 정보 */
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 최근1년이내 접속한 문화원 5 개 -->
|
||||
<select id="getVisitedOrgs" parameterType="String" resultType="EgovMap">
|
||||
<![CDATA[
|
||||
SELECT T2.DEPT_NM AS DEPT_NM
|
||||
, T2.DOMAIN_HOST_NM AS DOMAIN_HOST_NM
|
||||
FROM (
|
||||
SELECT
|
||||
DEPT_SEQ,
|
||||
MAX(ACC_DATE) AS ACC_DATE,
|
||||
RANK() OVER(ORDER BY MAX(ACC_DATE) DESC) AS RNK
|
||||
FROM SM_ACC_LOG
|
||||
WHERE USER_ID = #{mbInfoId}
|
||||
AND ACC_DATE > DATE_SUB(NOW(), INTERVAL 1 YEAR)
|
||||
GROUP BY DEPT_SEQ
|
||||
) T1
|
||||
INNER JOIN SM_DEPT T2 ON (T1.DEPT_SEQ = T2.DEPT_SEQ)
|
||||
WHERE RNK < 6
|
||||
ORDER BY RNK
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
@ -63,33 +63,33 @@
|
||||
</div>
|
||||
<div class="myinfo-btn"><a href="javascript:void(0);" onclick="location.href = '/userInfo/pwCertMyInfo.do';">내정보</a></div>
|
||||
<div class="date-box">
|
||||
최근 방문일: <span class="date">2021.07.15</span>
|
||||
<span class="time">14:41:30</span>
|
||||
최근 방문일: <span class="date">${lastLogin.dtStr }</span>
|
||||
<span class="time">${lastLogin.tmStr }</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="top-box">
|
||||
<div class="con-1">
|
||||
<h3>대출현황</h3>
|
||||
<div class="list-box">
|
||||
<div class="list-box">
|
||||
<div>
|
||||
<p>3/3</p>
|
||||
<p>${rentStats.cntApp }/${rentStats.cntRes }</p>
|
||||
<p>신청/예약</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>11</p>
|
||||
<p>${rentStats.cntCancel }</p>
|
||||
<p>취소</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>2</p>
|
||||
<p>${rentStats.cntOut }</p>
|
||||
<p>대출중</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>15</p>
|
||||
<p>${rentStats.cntReturn }</p>
|
||||
<p>반납</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>0</p>
|
||||
<p>${rentStats.cntDelay }</p>
|
||||
<p>연체</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -98,19 +98,19 @@
|
||||
<h3>방문열람현황</h3>
|
||||
<div class="list-box">
|
||||
<div>
|
||||
<p>5</p>
|
||||
<p>${readStats.cntApp }</p>
|
||||
<p>신청</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>0</p>
|
||||
<p>${readStats.cntCancel }</p>
|
||||
<p>취소</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>3</p>
|
||||
<p>${readStats.cntProv }</p>
|
||||
<p>승인</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>2</p>
|
||||
<p>${readStats.cntRej }</p>
|
||||
<p>반려</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -120,11 +120,9 @@
|
||||
<div class="con-1">
|
||||
<h3>소장자료관 접속현황</h3>
|
||||
<div class="key-box">
|
||||
<span type="button">경산문화원</span>
|
||||
<span type="button">고령문화원</span>
|
||||
<span type="button">구미문화원</span>
|
||||
<span type="button">군위문화원</span>
|
||||
<span type="button">김천문화원</span>
|
||||
<c:forEach var="itemVisitedOrgs" items="${visitedOrgs }">
|
||||
<a href="javascript:void(0);" onclick="gfn_openNewWindow('https://${itemVisitedOrgs.domainHostNm}.nculture.org')"><span type="button">${itemVisitedOrgs.deptNm }</span></a>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -135,85 +133,31 @@
|
||||
<div class="concern-data">
|
||||
<div class="inner">
|
||||
<div class="title-box">
|
||||
<div class="title"><h3><span>관심</span>자료</h3><div class="cont">총 <span>20</span>건</div></div>
|
||||
<div class="More"><a href="">더보기 <img src="/images/icon/icon-more.png" alt="더보기 아이콘"></a></div>
|
||||
<div class="title"><h3><span>관심</span>자료</h3><div class="cont">총 <span>${interestTotalCount }</span>건</div></div>
|
||||
<div class="More"><a href="javascript:void(0);" onclick="gfn_gotoUrl('/interest/listInterests.do')">더보기 <img src="/images/icon/icon-more.png" alt="더보기 아이콘"></a></div>
|
||||
</div>
|
||||
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="thum">
|
||||
<a href="#"><img src="/images/img/img-sec3-01.jpg" alt="썸네일"></a>
|
||||
</div>
|
||||
<div class="text">
|
||||
<div class="ti">양산예찬문집</div>
|
||||
<div class="cl">
|
||||
<p class="typ"><span>자료유형 :</span><span>도서간행물 > 연속간행물</span></p>
|
||||
<p class="sub"><span>주제분야 :</span><span>자연과지리 > 자연환경</span></p>
|
||||
<p class="age"><span>생산기관 :</span><span>경북경주문화원</span></p>
|
||||
<p class="yea"><span>생산년도 :</span><span>2021</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list">
|
||||
<div class="thum">
|
||||
<a href="#"><img src="/images/img/img-sec3-01.jpg" alt="썸네일"></a>
|
||||
</div>
|
||||
<div class="text">
|
||||
<div class="ti">三憂堂 文益漸先生 棉花展示館 竣工記念詩集</div>
|
||||
<div class="cl">
|
||||
<p class="typ"><span>자료유형 :</span><span>도서간행물 > 연속간행물</span></p>
|
||||
<p class="sub"><span>주제분야 :</span><span>자연과지리 > 자연환경</span></p>
|
||||
<p class="age"><span>생산기관 :</span><span>경북경주문화원</span></p>
|
||||
<p class="yea"><span>생산년도 :</span><span>2021</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list">
|
||||
<div class="thum">
|
||||
<a href="#"><img src="/images/img/img-sec3-01.jpg" alt="썸네일"></a>
|
||||
</div>
|
||||
<div class="text">
|
||||
<div class="ti">국역 慶州郡 (국역 경주군)</div>
|
||||
<div class="cl">
|
||||
<p class="typ"><span>자료유형 :</span><span>도서간행물 > 연속간행물</span></p>
|
||||
<p class="sub"><span>주제분야 :</span><span>자연과지리 > 자연환경</span></p>
|
||||
<p class="age"><span>생산기관 :</span><span>경북경주문화원</span></p>
|
||||
<p class="yea"><span>생산년도 :</span><span>2021</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list">
|
||||
<div class="thum">
|
||||
<a href="#"><img src="/images/img/img-sec3-01.jpg" alt="썸네일"></a>
|
||||
</div>
|
||||
<div class="text">
|
||||
<div class="ti">三憂堂 文益漸先生 棉花展示館 竣工記念詩集</div>
|
||||
<div class="cl">
|
||||
<p class="typ"><span>자료유형 :</span><span>도서간행물 > 연속간행물</span></p>
|
||||
<p class="sub"><span>주제분야 :</span><span>자연과지리 > 자연환경</span></p>
|
||||
<p class="age"><span>생산기관 :</span><span>경북경주문화원</span></p>
|
||||
<p class="yea"><span>생산년도 :</span><span>2021</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list">
|
||||
<div class="thum">
|
||||
<a href="#"><img src="/images/img/img-sec3-01.jpg" alt="썸네일"></a>
|
||||
</div>
|
||||
<div class="text">
|
||||
<div class="ti">국역 慶州郡 (국역 경주군)</div>
|
||||
<div class="cl">
|
||||
<p class="typ"><span>자료유형 :</span><span>도서간행물 > 연속간행물</span></p>
|
||||
<p class="sub"><span>주제분야 :</span><span>자연과지리 > 자연환경</span></p>
|
||||
<p class="age"><span>생산기관 :</span><span>경북경주문화원</span></p>
|
||||
<p class="yea"><span>생산년도 :</span><span>2021</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<c:forEach var="item" items="${interestList }">
|
||||
|
||||
<div class="list">
|
||||
<div class="thum">
|
||||
<a href="javascript:void(0);" onclick="gfn_getDetail('${item.masterId }')"><img src="${item.rprsThumbUrl }" width="130" height="196" alt="썸네일"></a>
|
||||
</div>
|
||||
<div class="text">
|
||||
<div class="ti">${item.title }</div>
|
||||
<div class="cl">
|
||||
<p class="typ"><span>자료유형 :</span><span>${item.typeDivNm } <c:if test="${not empty item.typeDivNm and not empty item.dtlsTypeDivNm }">></c:if> ${item.dtlsTypeDivNm }</span></p>
|
||||
<p class="sub"><span>주제분야 :</span><span>${item.subjectNmUp } <c:if test="${not empty item.subjectNmUp and not empty item.subjectNm }">></c:if> ${item.subjectNm }</span></p>
|
||||
<p class="age"><span>생산기관 :</span><span>${item.orgNm }</span></p>
|
||||
<p class="yea"><span>생산년도 :</span><span>${item.creatYyyy }</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</c:forEach>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -221,143 +165,39 @@
|
||||
<div class="loan-history">
|
||||
<div class="inner">
|
||||
<div class="title-box">
|
||||
<div class="title"><h3><span>대출</span>내역</h3><div class="cont">총 <span>20</span>건</div></div>
|
||||
<div class="More"><a href="">더보기 <img src="/images/icon/icon-more.png" alt="더보기 아이콘"></a></div>
|
||||
<div class="title"><h3><span>대출</span>내역</h3><div class="cont">총 <span>${rentTotalCount }</span>건</div></div>
|
||||
<div class="More"><a href="javascript:void(0);" onclick="gfn_gotoUrl('/rent/listRentItems.do')">더보기 <img src="/images/icon/icon-more.png" alt="더보기 아이콘"></a></div>
|
||||
</div>
|
||||
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>경주읍성 남문 장례문의 옥루</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="subscription">신청</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>경주 골목길</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="reser">예약</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>2014 한국의 역사마을 양동 충효예절교실 교육교재</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="cancel">예약취소</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>경주 골목길</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="return">반납</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>2014 한국의 역사마을 양동 충효예절교실 교육교재</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="return">반납</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>2014 한국의 역사마을 양동 충효예절교실 교육교재</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="loan">대출중</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>2014 한국의 역사마을 양동 충효예절교실 교육교재</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="overdue">연체</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<c:forEach var="item" items="${rentList }">
|
||||
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[${item.mngOrgNm }]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>${item.title }</p>
|
||||
<p>
|
||||
<span><em>자료유형 : </em> ${item.typeDivNm } <c:if test="${not empty item.typeDivNm and not empty item.dtlsTypeDivNm }">></c:if> ${item.dtlsTypeDivNm }</span>
|
||||
<span><em>주제분야 : </em> ${item.subjectNmUp } <c:if test="${not empty item.subjectNmUp and not empty item.subjectNm }">></c:if> ${item.subjectNm }</span>
|
||||
<span><em>생산기관 : </em> ${item.orgNm }</span>
|
||||
<span><em>생산년도 : </em> ${item.creatYyyy }</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<c:if test='${item.bookLtRvStatusCd == "A" }'><span class="subscription">${item.bookLtRvStatusNm}</span></c:if>
|
||||
<c:if test='${item.bookLtRvStatusCd == "B" }'><span class="subscription">${item.bookLtRvStatusNm}</span></c:if>
|
||||
<c:if test='${item.bookLtRvStatusCd == "C" }'><span class="cancel">${item.bookLtRvStatusNm}</span></c:if>
|
||||
<c:if test='${item.bookLtRvStatusCd == "W" }'><span class="loan">${item.bookLtRvStatusNm}</span></c:if>
|
||||
<c:if test='${item.bookLtRvStatusCd == "R0" }'><span class="return">${item.bookLtRvStatusNm}</span></c:if>
|
||||
<c:if test='${item.bookLtRvStatusCd == "R1" }'><span class="return">${item.bookLtRvStatusNm}</span></c:if>
|
||||
<c:if test='${item.bookLtRvStatusCd == "P" }'><span class="overdue">${item.bookLtRvStatusNm}</span></c:if>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</c:forEach>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -365,200 +205,38 @@
|
||||
<div class="visit-history">
|
||||
<div class="inner">
|
||||
<div class="title-box">
|
||||
<div class="title"><h3><span>방문열람</span>내역</h3><div class="cont">총 <span>20</span>건</div></div>
|
||||
<div class="More"><a href="">더보기 <img src="/images/icon/icon-more.png" alt="더보기 아이콘"></a></div>
|
||||
</div>
|
||||
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>경주읍성 남문 장례문의 옥루</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="wait">승인대기</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>경주 골목길</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="approval">승인</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>2014 한국의 역사마을 양동 충효예절교실 교육교재</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="return">반려</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>경주 골목길</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="return">반려</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>2014 한국의 역사마을 양동 충효예절교실 교육교재</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="return">반려</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>2014 한국의 역사마을 양동 충효예절교실 교육교재</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="subscription">신청</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>2014 한국의 역사마을 양동 충효예절교실 교육교재</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="wait">승인대기</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>2014 한국의 역사마을 양동 충효예절교실 교육교재</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="cancel">취소</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>2014 한국의 역사마을 양동 충효예절교실 교육교재</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="read">열람완료</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[경북경주문화원]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>2014 한국의 역사마을 양동 충효예절교실 교육교재</p>
|
||||
<p>
|
||||
<span><em>주제분야 : </em> 도서간행물 > 연속간행물</span>
|
||||
<span><em>주제분야 : </em> 자연과지리 > 자연환경</span>
|
||||
<span><em>생산기관 : </em> 경북경주문화원</span>
|
||||
<span><em>생산년도 : </em> 2021</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<span class="unread">미열람</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="title"><h3><span>방문열람</span>내역</h3><div class="cont">총 <span>${readTotalCount }</span>건</div></div>
|
||||
<div class="More"><a href="javascript:void(0);" onclick="gfn_gotoUrl('/read/listReadItems.do')">더보기 <img src="/images/icon/icon-more.png" alt="더보기 아이콘"></a></div>
|
||||
</div>
|
||||
|
||||
<c:forEach var="item" items="${readList }">
|
||||
|
||||
<div class="list-box">
|
||||
<div class="list">
|
||||
<div class="tit">
|
||||
<p>[${item.mngOrgNm }]</p>
|
||||
</div>
|
||||
<div class="con">
|
||||
<p>${item.title }</p>
|
||||
<p>
|
||||
<span><em>자료유형 : </em> ${item.typeDivNm } <c:if test="${not empty item.typeDivNm and not empty item.dtlsTypeDivNm }">></c:if> ${item.dtlsTypeDivNm }</span>
|
||||
<span><em>주제분야 : </em> ${item.subjectNmUp } <c:if test="${not empty item.subjectNmUp and not empty item.subjectNm }">></c:if> ${item.subjectNm }</span>
|
||||
<span><em>생산기관 : </em> ${item.orgNm }</span>
|
||||
<span><em>생산년도 : </em> ${item.creatYyyy }</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="state">
|
||||
<c:if test='${item.reqStatusDivCd == "A0" }'><span class="wait">${item.reqStatusDivNm}</span></c:if>
|
||||
<c:if test='${item.reqStatusDivCd == "A1" }'><span class="approval">${item.reqStatusDivNm}</span></c:if>
|
||||
<c:if test='${item.reqStatusDivCd == "A2" }'><span class="return">${item.reqStatusDivNm}</span></c:if>
|
||||
<c:if test='${item.reqStatusDivCd == "C" }'><span class="cancel">${item.reqStatusDivNm}</span></c:if>
|
||||
<c:if test='${item.reqStatusDivCd == "R" }'><span class="read">${item.reqStatusDivNm}</span></c:if>
|
||||
<c:if test='${item.reqStatusDivCd == "D" }'><span class="unread">${item.reqStatusDivNm}</span></c:if>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</c:forEach>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,6 +1,33 @@
|
||||
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
$("a[reqLogin]").each(function() {
|
||||
|
||||
<sec:authorize access="not isAuthenticated()">
|
||||
this.onclick = function() {
|
||||
alert("로그인하신 후, 이용 가능합니다.");
|
||||
};
|
||||
</sec:authorize>
|
||||
|
||||
<sec:authorize access="isAuthenticated()">
|
||||
this.onclick = function() {
|
||||
var gotoUrl = $(this).attr("gotoUrl");
|
||||
if(fn_isEmpty(gotoUrl)) {
|
||||
alert("접속 정보가 없습니다. \n관리자에게 문의하여 주시기 바랍니다.");
|
||||
} else {
|
||||
location.href = gotoUrl;
|
||||
}
|
||||
};
|
||||
</sec:authorize>
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="inner">
|
||||
<button id="primary-nav-button" type="button" class="Btn eff"><i class="eff">Menu</i></button>
|
||||
@ -23,12 +50,12 @@
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li><a href="javascript:void(0)" onclick="javascript:location.href='${pageContext.request.contextPath}/userInfo/getMyHome.do';" title="마이페이지" class="eff">마이페이지</a>
|
||||
<li><a href="javascript:void(0)" gotoUrl="${pageContext.request.contextPath}/userInfo/getMyHome.do" title="마이페이지" class="eff" reqLogin>마이페이지</a>
|
||||
<ul class="sub-menu">
|
||||
<li><a href="javascript:void(0)" onclick="javascript:location.href='${pageContext.request.contextPath}/userInfo/pwCertMyInfo.do';" title="회원정보관리"><span class="underline blue">회원정보관리</span></a></li>
|
||||
<li><a href="javascript:void(0)" onclick="javascript:location.href='${pageContext.request.contextPath}/interest/listInterests.do';" title="관심자료"><span class="underline blue">관심자료</span></a></li>
|
||||
<li><a href="javascript:void(0)" onclick="javascript:location.href='${pageContext.request.contextPath}/rent/listRentItems.do';" title="대출관리"><span class="underline blue">대출관리</span></a></li>
|
||||
<li><a href="javascript:void(0)" onclick="javascript:location.href='${pageContext.request.contextPath}/read/listReadItems.do';" title="방문열람관리"><span class="underline blue">방문열람관리</span></a></li>
|
||||
<li><a href="javascript:void(0)" gotoUrl="${pageContext.request.contextPath}/userInfo/pwCertMyInfo.do" title="회원정보관리" reqLogin><span class="underline blue">회원정보관리</span></a></li>
|
||||
<li><a href="javascript:void(0)" gotoUrl="${pageContext.request.contextPath}/interest/listInterests.do" title="관심자료" reqLogin><span class="underline blue">관심자료</span></a></li>
|
||||
<li><a href="javascript:void(0)" gotoUrl="${pageContext.request.contextPath}/rent/listRentItems.do" title="대출관리" reqLogin><span class="underline blue">대출관리</span></a></li>
|
||||
<li><a href="javascript:void(0)" gotoUrl="${pageContext.request.contextPath}/read/listReadItems.do" title="방문열람관리" reqLogin><span class="underline blue">방문열람관리</span></a></li>
|
||||
|
||||
<!-- 개발진행 중 임시 추가 : 시작 DDDDDDDDDDDDDD -->
|
||||
<li>--- 이하 임시 추가 메뉴 ---</li>
|
||||
|
||||
@ -1009,7 +1009,7 @@ transform: rotate(45deg);}
|
||||
.myinfo .contents > div .title-box .More {float:right;margin-top:10px;}
|
||||
.myinfo .contents > div .title-box .More a {font-size:16px;color:#666;}
|
||||
.myinfo .contents > div .title-box .More img {margin-left:10px;}
|
||||
.myinfo .contents .concern-data {display: inline-block;margin-bottom: 80px;}
|
||||
.myinfo .contents .concern-data {display: inline-block;margin-bottom: 80px;width:100%;}
|
||||
.myinfo .contents .concern-data .list-box {clear: both;}
|
||||
.myinfo .contents .concern-data .list-box .list {float:left;width:19.0%;margin-right:1%;border:1px solid #ddd;border-radius:5px;}
|
||||
.myinfo .contents .concern-data .list-box .list:last-child {margin-right:0;}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user