refactor: API LOG에 LOG_ID 필드 값 IDGEN으로 수정

This commit is contained in:
hylee 2023-04-25 12:38:55 +09:00
parent 4f81cb0447
commit 035a06528a
8 changed files with 80 additions and 21 deletions

13
pom.xml
View File

@ -20,15 +20,17 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-hateoas</artifactId>
<version>3.0.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.0.4</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.3.0</version>
<version>3.0.1</version>
</dependency>
<dependency>
@ -41,24 +43,26 @@
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>3.1.0</version>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
<version>8.0.32</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.26</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>3.0.4</version>
<scope>test</scope>
</dependency>
<dependency>
@ -71,7 +75,8 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<version>3.0.4</version>
</dependency>
<!-- DB Logback -->
<dependency>

View File

@ -24,9 +24,9 @@ import org.springframework.context.annotation.Configuration;
*/
@Configuration
public class ContextIdgen {
/*
* 예시 testApi
* */
/**
* @예시 testApi
* */
@Bean(name="testApi")
public IdgenServiceImpl testApi(){
IdgenServiceImpl idgenServiceImpl = new IdgenServiceImpl();
@ -37,5 +37,18 @@ public class ContextIdgen {
return idgenServiceImpl;
}
/**
* @discription apiLog Ids
* @return
*/
@Bean(name="apiLog")
public IdgenServiceImpl apiLog(){
IdgenServiceImpl idgenServiceImpl = new IdgenServiceImpl();
idgenServiceImpl.setCipers(13); // cipers: prefix를 제외한 아이디의 길이 지정
idgenServiceImpl.setFillChar('0'); // fillChar: 0을 대신하여 표현되는 문자
idgenServiceImpl.setPrefix("APILOG_"); // prefix: 아이디의 앞에 고정적으로 붙이고자 하는 설정값 지정
idgenServiceImpl.setTableName("API_LOG_ID"); // tableName - dataSoure 설정된 DB에 SEQ 테이블에 tableName 컬럼에 참조할
return idgenServiceImpl;
}
}

View File

@ -5,9 +5,11 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.itn.mjonApi.cmn.idgen.service.IdgenService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@ -39,6 +41,10 @@ public class CertificationInterceptor implements HandlerInterceptor{
@Autowired
private LettnLoginLogService lettnLoginLogService;
@Resource(name = "apiLog")
private IdgenService idgenApiLogId;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
@ -94,7 +100,7 @@ public class CertificationInterceptor implements HandlerInterceptor{
if (lettnLoginLogVO.getUrl().length()>200){ //길이문제로 오류가 발생하는 경우도 처리하도록 수정
lettnLoginLogVO.setUrl(lettnLoginLogVO.getUrl().substring(0,199));
}
lettnLoginLogVO.setLogId(idgenApiLogId.getNextStringId());
lettnLoginLogService.insert(lettnLoginLogVO);
@ -165,6 +171,7 @@ public class CertificationInterceptor implements HandlerInterceptor{
}
/*모바일접속 유무*/
private boolean isMobile(HttpServletRequest request) {
String userAgent = request.getHeader("user-agent");

View File

@ -1,6 +1,7 @@
package com.itn.mjonApi.mjon.member.mapper;
import com.itn.mjonApi.cmn.idgen.mapper.domain.IdgenVO;
import com.itn.mjonApi.mjon.member.mapper.domain.MyMsgVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
@ -10,8 +11,8 @@ import java.util.List;
public interface MyMsgMapper {
/**/
List<IdgenVO> findAll();
List<MyMsgVO> findAll();
@Select("select * from MJ_MYMSG")
List<IdgenVO> findAll_2();
List<MyMsgVO> findAll_2();
}

View File

@ -0,0 +1,33 @@
package com.itn.mjonApi.mjon.member.mapper.domain;
/*
table : mj_mymsg
comment : '내문자 보관함';
*/
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class MyMsgVO implements Serializable {
private Integer msgId; /*auto_increment comment '문자 고유아이디' primary key*/
private String mberId; /*comment '회원 아이디'*/
private String esntlId; /*null comment '회원고유 아이디'*/
private String subject; /*null comment '문자 제목'*/
private String smsTxt; /*null comment '문자 내용'*/
private String smsLen; /*null comment '문자 길이'*/
private String atchFileId1; /*null comment '첨부파일번호'*/
private String atchFileId2; /*null comment '첨부파일번호'*/
private String atchFileId3; /*null comment '첨부파일번호'*/
private String regdate; /*null comment '등록일자'*/
private String msgType; /*default 'S' null comment '문자종류'*/
}

View File

@ -4,6 +4,7 @@ import com.itn.mjonApi.cmn.idgen.service.IdgenService;
import com.itn.mjonApi.cmn.msg.RestResponse;
import com.itn.mjonApi.mjon.member.mapper.MyMsgMapper;
import com.itn.mjonApi.cmn.idgen.mapper.domain.IdgenVO;
import com.itn.mjonApi.mjon.member.mapper.domain.MyMsgVO;
import com.itn.mjonApi.mjon.member.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@ -21,13 +22,13 @@ public class MemberServiceImpl implements MemberService {
@Override
public RestResponse findAll() {
List<IdgenVO> MyMsgListVO = myMsgMapper.findAll();
List<MyMsgVO> MyMsgListVO = myMsgMapper.findAll();
return new RestResponse(HttpStatus.OK, "성공", LocalDateTime.now(), MyMsgListVO);
}
@Override
public RestResponse findAll2() {
List<IdgenVO> MyMsgListVO = myMsgMapper.findAll_2();
List<MyMsgVO> MyMsgListVO = myMsgMapper.findAll_2();
return new RestResponse(HttpStatus.OK, "성공", LocalDateTime.now(), MyMsgListVO);
}

View File

@ -47,7 +47,8 @@
INSERT INTO <include refid="table_name"/> (
<include refid="column_name"/>
)
SELECT concat('API_',lpad(ifnull(replace(MAX(log_id),'API_',''),0)+1,16,'0'))
VALUE (
#{logId}
, #{conectId}
, #{conectIp}
, #{userAt} /**A:관리자, U:홈페이지 */
@ -57,9 +58,7 @@
, #{menuNm}
, #{url}
, now()
FROM LETTNLOGINLOG
WHERE log_id LIKE 'API_%'
)
</insert>

View File

@ -5,7 +5,7 @@
<mapper namespace="com.itn.mjonApi.mjon.member.mapper.MyMsgMapper">
<select id="findAll" resultType="com.itn.mjonApi.cmn.idgen.mapper.domain.IdgenVO">
<select id="findAll">
SELECT
*
FROM MJ_MYMSG