diff --git a/src/main/java/com/itn/admin/agent/client/cmm/service/AbstractAgentService.java b/src/main/java/com/itn/admin/agent/client/cmm/service/AbstractAgentService.java index d82a8cf..d0e2e28 100644 --- a/src/main/java/com/itn/admin/agent/client/cmm/service/AbstractAgentService.java +++ b/src/main/java/com/itn/admin/agent/client/cmm/service/AbstractAgentService.java @@ -56,8 +56,18 @@ public abstract class AbstractAgentService implements AgentService { int count = this.countAllLogMoveCnt(agentVO); return new RestResponse(HttpStatus.OK, "", count); } + public RestResponse findByRequestDateWhereMessageFromLog(T agentVO) { + String count = this.findByRequestDateWhereMessageFromLogFn(agentVO); + return new RestResponse(HttpStatus.OK, "", count); + } + public RestResponse findByReportLog(T agentVO) { + return new RestResponse(HttpStatus.OK, "", this.findByReportLogFn(agentVO)); + } + + protected abstract T findByReportLogFn(T agentVO); protected abstract int countAllLogMoveCnt(T agentVO); + protected abstract String findByRequestDateWhereMessageFromLogFn(T agentVO); protected abstract int countByLogMoveCntWhereMsgTypeAndMessage(T agentVO); diff --git a/src/main/java/com/itn/admin/agent/client/five/mapper/AgentCFiveMapper.java b/src/main/java/com/itn/admin/agent/client/five/mapper/AgentCFiveMapper.java new file mode 100644 index 0000000..0cfc03e --- /dev/null +++ b/src/main/java/com/itn/admin/agent/client/five/mapper/AgentCFiveMapper.java @@ -0,0 +1,45 @@ +package com.itn.admin.agent.client.five.mapper; + +import com.itn.admin.agent.client.five.mapper.domain.AgentCFiveVO; +import com.itn.admin.agent.client.one.mapper.domain.AgentCOneVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +/** + * packageName : com.itn.admin.agent.client.three.mapper + * fileName : AgentCThreeMapper + * author : hylee + * date : 2024-09-20 + * description : + * =========================================================== + * DATE AUTHOR NOTE + * -----------------------------$------------------------------ + * 2024-09-20 hylee 최초 생성 + */ +@Mapper +public interface AgentCFiveMapper { + @Select( + "SELECT count(*) " + + "FROM MUNJAON_MSG " + + "WHERE MESSAGE LIKE CONCAT(#{message}, '%') " + ) + int findByInsertCnt(AgentCFiveVO agentCFiveVO); + + @Select("SELECT min(REQUEST_DATE) as requestDate " + + "FROM MUNJAON_MSG_LOG " + + "WHERE MESSAGE LIKE CONCAT(#{message}, '%')") + String findByRequestDateWhereMessageFromLog(AgentCFiveVO agentCFiveVO); + + @Select(""" + + SELECT + COUNT(*) AS reportCnt, -- '총 카운트', + MIN(REPORT_DATE) AS minReportDate, -- '가장 빠른 REPORT_DATE', + MAX(REPORT_DATE) AS maxReportDate -- '가장 늦은 REPORT_DATE' + FROM + MUNJAON_MSG_LOG + WHERE + MESSAGE LIKE CONCAT(#{message}, '%') + """) + AgentCFiveVO findByReportLog(AgentCFiveVO agentCFiveVO); +} diff --git a/src/main/java/com/itn/admin/agent/client/five/mapper/domain/AgentCFiveVO.java b/src/main/java/com/itn/admin/agent/client/five/mapper/domain/AgentCFiveVO.java new file mode 100644 index 0000000..4467a99 --- /dev/null +++ b/src/main/java/com/itn/admin/agent/client/five/mapper/domain/AgentCFiveVO.java @@ -0,0 +1,58 @@ +package com.itn.admin.agent.client.five.mapper.domain; + +import lombok.*; + +import java.io.Serializable; + +/** + * packageName : com.itn.admin.agent.client.three.mapper.domain + * fileName : AgentCThreeVO + * author : hylee + * date : 2024-07-31 + * description : 에이젼트 테스트발송 + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-05-09 hylee 최초 생성 + */ +@NoArgsConstructor +@AllArgsConstructor +@Builder +@Getter +@Setter +@ToString +public class AgentCFiveVO implements Serializable { + + private static final long serialVersionUID = 1L; + private int msgId; // int unsigned + private String msgType; + private String sendStatus; + private String requestSate; + private String recvPhone; + private String sendPhone; + private String subject; + private String message; + private String sendCnt; + private String fileName01; + private String fileName02; + private String fileName03; + + + private String requestDate; // datetime + private String telecom; // varchar(7) + private String agentCode; // varchar(5) + private String kakaoSenderKey; // varchar(40) + private String kakaoTemplateCode; // varchar(64) + private String kakaoJsonFile; // varchar(100) + private String deliverDate; // datetime + private String sentDate; // datetime + private String reportDate; // datetime + + private String cnt; + + + private String reportCnt; + private String minReportDate; + private String maxReportDate; + +} diff --git a/src/main/java/com/itn/admin/agent/client/five/service/AgentCFiveService.java b/src/main/java/com/itn/admin/agent/client/five/service/AgentCFiveService.java new file mode 100644 index 0000000..589cacb --- /dev/null +++ b/src/main/java/com/itn/admin/agent/client/five/service/AgentCFiveService.java @@ -0,0 +1,13 @@ +package com.itn.admin.agent.client.five.service; + +import com.itn.admin.agent.client.five.mapper.domain.AgentCFiveVO; +import com.itn.admin.cmn.msg.RestResponse; + +public interface AgentCFiveService { + + RestResponse findByInsertCnt(AgentCFiveVO agentCFiveVO); + + RestResponse findByRequestDateWhereMessageFromLog(AgentCFiveVO agentCFiveVO); + + RestResponse findByReportLog(AgentCFiveVO agentCFiveVO); +} diff --git a/src/main/java/com/itn/admin/agent/client/five/service/impl/AgentCFiveServiceImpl.java b/src/main/java/com/itn/admin/agent/client/five/service/impl/AgentCFiveServiceImpl.java new file mode 100644 index 0000000..fa042a5 --- /dev/null +++ b/src/main/java/com/itn/admin/agent/client/five/service/impl/AgentCFiveServiceImpl.java @@ -0,0 +1,37 @@ +package com.itn.admin.agent.client.five.service.impl; + +import com.itn.admin.agent.client.five.mapper.AgentCFiveMapper; +import com.itn.admin.agent.client.five.mapper.domain.AgentCFiveVO; +import com.itn.admin.agent.client.five.service.AgentCFiveService; +import com.itn.admin.cmn.msg.RestResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + + +@Slf4j +@Service +public class AgentCFiveServiceImpl implements AgentCFiveService { + + + @Autowired + AgentCFiveMapper agentCFiveMapper; + + @Override + public RestResponse findByInsertCnt(AgentCFiveVO agentCFiveVO) { + int cnt = agentCFiveMapper.findByInsertCnt(agentCFiveVO); + return new RestResponse(HttpStatus.OK,"", cnt); + } + + @Override + public RestResponse findByRequestDateWhereMessageFromLog(AgentCFiveVO agentCFiveVO) { + String cnt = agentCFiveMapper.findByRequestDateWhereMessageFromLog(agentCFiveVO); + return new RestResponse(HttpStatus.OK,"", cnt); + } + + @Override + public RestResponse findByReportLog(AgentCFiveVO agentCFiveVO) { + return new RestResponse(HttpStatus.OK,"", agentCFiveMapper.findByReportLog(agentCFiveVO)); + } +} diff --git a/src/main/java/com/itn/admin/agent/client/five/web/AgentCFiveRestController.java b/src/main/java/com/itn/admin/agent/client/five/web/AgentCFiveRestController.java new file mode 100644 index 0000000..af6d82d --- /dev/null +++ b/src/main/java/com/itn/admin/agent/client/five/web/AgentCFiveRestController.java @@ -0,0 +1,58 @@ +package com.itn.admin.agent.client.five.web; + +import com.itn.admin.agent.client.five.mapper.domain.AgentCFiveVO; +import com.itn.admin.agent.client.five.service.AgentCFiveService; +import com.itn.admin.agent.client.four.mapper.domain.AgentCFourVO; +import com.itn.admin.cmn.msg.RestResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class AgentCFiveRestController { + + private AgentCFiveService agentCFiveService; + + private final String UPLOAD_DIR = "/home/mjon_client_agent_2/mmsfile"; + + + @Autowired + public void setAgentService(AgentCFiveService agentCFiveService) { + this.agentCFiveService = agentCFiveService; + } + + + /* + * client db에 insert 됐는지 확인 count + * */ + @GetMapping("/agent/five/findByInsertCnt") + public ResponseEntity findByInsertCnt(@RequestParam String message) throws Exception { + AgentCFiveVO agentCFiveVO = new AgentCFiveVO(); + agentCFiveVO.setMessage(message); + return ResponseEntity.ok().body(agentCFiveService.findByInsertCnt(agentCFiveVO)); + } + + /* + * client db에 최초 insert된 시간 + * */ + @GetMapping("/agent/five/findByRequestDateWhereMessageFromLog") + public ResponseEntity findByRequestDateWhereMessageFromLog(@RequestParam String message) throws Exception { + AgentCFiveVO agentCFiveVO = new AgentCFiveVO(); + agentCFiveVO.setMessage(message); + return ResponseEntity.ok().body(agentCFiveService.findByRequestDateWhereMessageFromLog(agentCFiveVO)); + } + + /* + * client db에 report한 시간 + * */ + @GetMapping("/agent/five/findByReportLog") + public ResponseEntity findByReportLog(@RequestParam String message) throws Exception { + AgentCFiveVO agentCFiveVO = new AgentCFiveVO(); + agentCFiveVO.setMessage(message); + return ResponseEntity.ok().body(agentCFiveService.findByReportLog(agentCFiveVO)); + } + +} diff --git a/src/main/java/com/itn/admin/agent/client/four/mapper/AgentCFourMapper.java b/src/main/java/com/itn/admin/agent/client/four/mapper/AgentCFourMapper.java new file mode 100644 index 0000000..81f9f7a --- /dev/null +++ b/src/main/java/com/itn/admin/agent/client/four/mapper/AgentCFourMapper.java @@ -0,0 +1,45 @@ +package com.itn.admin.agent.client.four.mapper; + +import com.itn.admin.agent.client.four.mapper.domain.AgentCFourVO; +import com.itn.admin.agent.client.one.mapper.domain.AgentCOneVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +/** + * packageName : com.itn.admin.agent.client.three.mapper + * fileName : AgentCThreeMapper + * author : hylee + * date : 2024-09-20 + * description : + * =========================================================== + * DATE AUTHOR NOTE + * -----------------------------$------------------------------ + * 2024-09-20 hylee 최초 생성 + */ +@Mapper +public interface AgentCFourMapper { + @Select( + "SELECT count(*) " + + "FROM MUNJAON_MSG " + + "WHERE MESSAGE LIKE CONCAT(#{message}, '%') " + ) + int findByInsertCnt(AgentCFourVO agentCFourVO); + + @Select("SELECT min(REQUEST_DATE) as requestDate " + + "FROM MUNJAON_MSG_LOG " + + "WHERE MESSAGE LIKE CONCAT(#{message}, '%')") + String findByRequestDateWhereMessageFromLog(AgentCFourVO agentCFourVO); + + @Select(""" + + SELECT + COUNT(*) AS reportCnt, -- '총 카운트', + MIN(REPORT_DATE) AS minReportDate, -- '가장 빠른 REPORT_DATE', + MAX(REPORT_DATE) AS maxReportDate -- '가장 늦은 REPORT_DATE' + FROM + MUNJAON_MSG_LOG + WHERE + MESSAGE LIKE CONCAT(#{message}, '%') + """) + AgentCFourVO findByReportLog(AgentCFourVO agentCFourVO); +} diff --git a/src/main/java/com/itn/admin/agent/client/four/mapper/domain/AgentCFourVO.java b/src/main/java/com/itn/admin/agent/client/four/mapper/domain/AgentCFourVO.java new file mode 100644 index 0000000..3c0e994 --- /dev/null +++ b/src/main/java/com/itn/admin/agent/client/four/mapper/domain/AgentCFourVO.java @@ -0,0 +1,58 @@ +package com.itn.admin.agent.client.four.mapper.domain; + +import lombok.*; + +import java.io.Serializable; + +/** + * packageName : com.itn.admin.agent.client.three.mapper.domain + * fileName : AgentCThreeVO + * author : hylee + * date : 2024-07-31 + * description : 에이젼트 테스트발송 + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-05-09 hylee 최초 생성 + */ +@NoArgsConstructor +@AllArgsConstructor +@Builder +@Getter +@Setter +@ToString +public class AgentCFourVO implements Serializable { + + private static final long serialVersionUID = 1L; + private int msgId; // int unsigned + private String msgType; + private String sendStatus; + private String requestSate; + private String recvPhone; + private String sendPhone; + private String subject; + private String message; + private String sendCnt; + private String fileName01; + private String fileName02; + private String fileName03; + + + private String requestDate; // datetime + private String telecom; // varchar(7) + private String agentCode; // varchar(5) + private String kakaoSenderKey; // varchar(40) + private String kakaoTemplateCode; // varchar(64) + private String kakaoJsonFile; // varchar(100) + private String deliverDate; // datetime + private String sentDate; // datetime + private String reportDate; // datetime + + private String cnt; + + + private String reportCnt; + private String minReportDate; + private String maxReportDate; + +} diff --git a/src/main/java/com/itn/admin/agent/client/four/service/AgentCFourService.java b/src/main/java/com/itn/admin/agent/client/four/service/AgentCFourService.java new file mode 100644 index 0000000..ef0d331 --- /dev/null +++ b/src/main/java/com/itn/admin/agent/client/four/service/AgentCFourService.java @@ -0,0 +1,13 @@ +package com.itn.admin.agent.client.four.service; + +import com.itn.admin.agent.client.four.mapper.domain.AgentCFourVO; +import com.itn.admin.cmn.msg.RestResponse; + +public interface AgentCFourService { + + RestResponse findByInsertCnt(AgentCFourVO agentCFourVO); + + RestResponse findByRequestDateWhereMessageFromLog(AgentCFourVO agentCFourVO); + + RestResponse findByReportLog(AgentCFourVO agentCFourVO); +} diff --git a/src/main/java/com/itn/admin/agent/client/four/service/impl/AgentCFourServiceImpl.java b/src/main/java/com/itn/admin/agent/client/four/service/impl/AgentCFourServiceImpl.java new file mode 100644 index 0000000..ec4467e --- /dev/null +++ b/src/main/java/com/itn/admin/agent/client/four/service/impl/AgentCFourServiceImpl.java @@ -0,0 +1,37 @@ +package com.itn.admin.agent.client.four.service.impl; + +import com.itn.admin.agent.client.four.mapper.AgentCFourMapper; +import com.itn.admin.agent.client.four.mapper.domain.AgentCFourVO; +import com.itn.admin.agent.client.four.service.AgentCFourService; +import com.itn.admin.cmn.msg.RestResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + + +@Slf4j +@Service +public class AgentCFourServiceImpl implements AgentCFourService { + + + @Autowired + AgentCFourMapper agentCFourMapper; + + @Override + public RestResponse findByInsertCnt(AgentCFourVO agentCFourVO) { + int cnt = agentCFourMapper.findByInsertCnt(agentCFourVO); + return new RestResponse(HttpStatus.OK,"", cnt); + } + + @Override + public RestResponse findByRequestDateWhereMessageFromLog(AgentCFourVO agentCFourVO) { + String cnt = agentCFourMapper.findByRequestDateWhereMessageFromLog(agentCFourVO); + return new RestResponse(HttpStatus.OK,"", cnt); + } + + @Override + public RestResponse findByReportLog(AgentCFourVO agentCFourVO) { + return new RestResponse(HttpStatus.OK,"", agentCFourMapper.findByReportLog(agentCFourVO)); + } +} diff --git a/src/main/java/com/itn/admin/agent/client/four/web/AgentCFourRestController.java b/src/main/java/com/itn/admin/agent/client/four/web/AgentCFourRestController.java new file mode 100644 index 0000000..72ecfff --- /dev/null +++ b/src/main/java/com/itn/admin/agent/client/four/web/AgentCFourRestController.java @@ -0,0 +1,58 @@ +package com.itn.admin.agent.client.four.web; + +import com.itn.admin.agent.client.four.mapper.domain.AgentCFourVO; +import com.itn.admin.agent.client.four.service.AgentCFourService; +import com.itn.admin.agent.client.three.mapper.domain.AgentCThreeVO; +import com.itn.admin.cmn.msg.RestResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class AgentCFourRestController { + + private AgentCFourService agentCFourService; + + private final String UPLOAD_DIR = "/home/mjon_client_agent_2/mmsfile"; + + + @Autowired + public void setAgentService(AgentCFourService agentCFourService) { + this.agentCFourService = agentCFourService; + } + + + /* + * client db에 insert 됐는지 확인 count + * */ + @GetMapping("/agent/four/findByInsertCnt") + public ResponseEntity findByInsertCnt(@RequestParam String message) throws Exception { + AgentCFourVO agentCFourVO = new AgentCFourVO(); + agentCFourVO.setMessage(message); + return ResponseEntity.ok().body(agentCFourService.findByInsertCnt(agentCFourVO)); + } + + /* + * client db에 최초 insert된 시간 + * */ + @GetMapping("/agent/four/findByRequestDateWhereMessageFromLog") + public ResponseEntity findByRequestDateWhereMessageFromLog(@RequestParam String message) throws Exception { + AgentCFourVO agentCFourVO = new AgentCFourVO(); + agentCFourVO.setMessage(message); + return ResponseEntity.ok().body(agentCFourService.findByRequestDateWhereMessageFromLog(agentCFourVO)); + } + + /* + * client db에 report한 시간 + * */ + @GetMapping("/agent/four/findByReportLog") + public ResponseEntity findByReportLog(@RequestParam String message) throws Exception { + AgentCFourVO agentCFourVO = new AgentCFourVO(); + agentCFourVO.setMessage(message); + return ResponseEntity.ok().body(agentCFourService.findByReportLog(agentCFourVO)); + } + +} diff --git a/src/main/java/com/itn/admin/agent/client/one/mapper/AgentCOneMapper.java b/src/main/java/com/itn/admin/agent/client/one/mapper/AgentCOneMapper.java index 25e3cf7..29d2ff9 100644 --- a/src/main/java/com/itn/admin/agent/client/one/mapper/AgentCOneMapper.java +++ b/src/main/java/com/itn/admin/agent/client/one/mapper/AgentCOneMapper.java @@ -2,6 +2,7 @@ package com.itn.admin.agent.client.one.mapper; import com.itn.admin.agent.client.one.mapper.domain.AgentCOneVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -28,4 +29,22 @@ public interface AgentCOneMapper { int countByLogMoveCntWhereMsgTypeAndMessage(AgentCOneVO agentVO); int findAllLogMoveCnt(AgentCOneVO agentVO); + + @Select("SELECT min(REQUEST_DATE) as requestDate " + + "FROM MUNJAON_MSG_LOG " + + "WHERE MESSAGE LIKE CONCAT(#{message}, '%')") + String findByRequestDateWhereMessageFromLogFn(AgentCOneVO agentVO); + + @Select(""" + + SELECT + COUNT(*) AS reportCnt, -- '총 카운트', + MIN(REPORT_DATE) AS minReportDate, -- '가장 빠른 REPORT_DATE', + MAX(REPORT_DATE) AS maxReportDate -- '가장 늦은 REPORT_DATE' + FROM + MUNJAON_MSG_LOG + WHERE + MESSAGE LIKE CONCAT(#{message}, '%') + """) + AgentCOneVO findByReportLogFn(AgentCOneVO agentVO); } diff --git a/src/main/java/com/itn/admin/agent/client/one/mapper/domain/AgentCOneVO.java b/src/main/java/com/itn/admin/agent/client/one/mapper/domain/AgentCOneVO.java index 4461a6e..661e044 100644 --- a/src/main/java/com/itn/admin/agent/client/one/mapper/domain/AgentCOneVO.java +++ b/src/main/java/com/itn/admin/agent/client/one/mapper/domain/AgentCOneVO.java @@ -35,6 +35,12 @@ public class AgentCOneVO implements Serializable { private String fileName01; private String fileName02; private String fileName03; + private String requestDate; + + private String reportCnt; + private String minReportDate; + private String maxReportDate; + private String cnt; diff --git a/src/main/java/com/itn/admin/agent/client/one/service/AgentCOneService.java b/src/main/java/com/itn/admin/agent/client/one/service/AgentCOneService.java index 049f64e..aa3d07b 100644 --- a/src/main/java/com/itn/admin/agent/client/one/service/AgentCOneService.java +++ b/src/main/java/com/itn/admin/agent/client/one/service/AgentCOneService.java @@ -16,5 +16,9 @@ public interface AgentCOneService { RestResponse findAllLogMoveCnt(AgentCOneVO agentCOneVO); + RestResponse findByRequestDateWhereMessageFromLog(AgentCOneVO agentCOneVO); + + RestResponse findByReportLog(AgentCOneVO agentCOneVO); + // RestResponse findByReportCnt(AgentCTwoVO agentCTwoVO); } diff --git a/src/main/java/com/itn/admin/agent/client/one/service/impl/AgentCOneServiceImpl.java b/src/main/java/com/itn/admin/agent/client/one/service/impl/AgentCOneServiceImpl.java index 72da8a1..0cbe7c0 100644 --- a/src/main/java/com/itn/admin/agent/client/one/service/impl/AgentCOneServiceImpl.java +++ b/src/main/java/com/itn/admin/agent/client/one/service/impl/AgentCOneServiceImpl.java @@ -25,11 +25,20 @@ public class AgentCOneServiceImpl extends AbstractAgentService findByInsertCntGet(@RequestParam String message) throws Exception { + AgentCOneVO agentCOneVO = new AgentCOneVO(); + agentCOneVO.setMessage(message); + return ResponseEntity.ok().body(agentCOneService.findByInsertCnt(agentCOneVO)); + } + /* * client LOG TB에 insert 됐는지 확인 count * 리포트할때 ''현재'' 데이터가 LOG 테이블에 이동됐는지 확인 @@ -105,6 +110,27 @@ public class AgentCOneRestController { } } + /* + * client db에 최초 insert된 시간 + * */ + @GetMapping("/agent/one/findByRequestDateWhereMessageFromLog") + public ResponseEntity findByRequestDateWhereMessageFromLog(@RequestParam String message) throws Exception { + AgentCOneVO agentCOneVO = new AgentCOneVO(); + agentCOneVO.setMessage(message); + return ResponseEntity.ok().body(agentCOneService.findByRequestDateWhereMessageFromLog(agentCOneVO)); + } + + /* + * client db에 report한 시간 + * */ + @GetMapping("/agent/one/findByReportLog") + public ResponseEntity findByReportLog(@RequestParam String message) throws Exception { + AgentCOneVO agentCOneVO = new AgentCOneVO(); + agentCOneVO.setMessage(message); + return ResponseEntity.ok().body(agentCOneService.findByReportLog(agentCOneVO)); + } + + private String uploadSingleFile(MultipartFile file) throws IOException { String fileName = StringUtils.cleanPath(file.getOriginalFilename()); Path uploadPath = Paths.get(UPLOAD_DIR); diff --git a/src/main/java/com/itn/admin/agent/client/three/mapper/AgentCThreeMapper.java b/src/main/java/com/itn/admin/agent/client/three/mapper/AgentCThreeMapper.java new file mode 100644 index 0000000..e5af211 --- /dev/null +++ b/src/main/java/com/itn/admin/agent/client/three/mapper/AgentCThreeMapper.java @@ -0,0 +1,45 @@ +package com.itn.admin.agent.client.three.mapper; + +import com.itn.admin.agent.client.three.mapper.domain.AgentCThreeVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +/** + * packageName : com.itn.admin.agent.client.three.mapper + * fileName : AgentCThreeMapper + * author : hylee + * date : 2024-09-20 + * description : + * =========================================================== + * DATE AUTHOR NOTE + * -----------------------------$------------------------------ + * 2024-09-20 hylee 최초 생성 + */ +@Mapper +public interface AgentCThreeMapper { + + @Select( + "SELECT count(*) " + + "FROM MUNJAON_MSG " + + "WHERE MESSAGE LIKE CONCAT(#{message}, '%') " + ) + int findByInsertCnt(AgentCThreeVO agentCFourVO); + + @Select("SELECT min(REQUEST_DATE) as requestDate " + + "FROM MUNJAON_MSG_LOG " + + "WHERE MESSAGE LIKE CONCAT(#{message}, '%')") + String findByRequestDateWhereMessageFromLog(AgentCThreeVO agentCFourVO); + + @Select(""" + + SELECT + COUNT(*) AS reportCnt, -- '총 카운트', + MIN(REPORT_DATE) AS minReportDate, -- '가장 빠른 REPORT_DATE', + MAX(REPORT_DATE) AS maxReportDate -- '가장 늦은 REPORT_DATE' + FROM + MUNJAON_MSG_LOG + WHERE + MESSAGE LIKE CONCAT(#{message}, '%') + """) + AgentCThreeVO findByReportLog(AgentCThreeVO agentCThreeVO); +} diff --git a/src/main/java/com/itn/admin/agent/client/three/mapper/domain/AgentCThreeVO.java b/src/main/java/com/itn/admin/agent/client/three/mapper/domain/AgentCThreeVO.java new file mode 100644 index 0000000..02efe39 --- /dev/null +++ b/src/main/java/com/itn/admin/agent/client/three/mapper/domain/AgentCThreeVO.java @@ -0,0 +1,58 @@ +package com.itn.admin.agent.client.three.mapper.domain; + +import lombok.*; + +import java.io.Serializable; + +/** + * packageName : com.itn.admin.agent.client.three.mapper.domain + * fileName : AgentCThreeVO + * author : hylee + * date : 2024-07-31 + * description : 에이젼트 테스트발송 + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-05-09 hylee 최초 생성 + */ +@NoArgsConstructor +@AllArgsConstructor +@Builder +@Getter +@Setter +@ToString +public class AgentCThreeVO implements Serializable { + + private static final long serialVersionUID = 1L; + private int msgId; // int unsigned + private String msgType; + private String sendStatus; + private String requestSate; + private String recvPhone; + private String sendPhone; + private String subject; + private String message; + private String sendCnt; + private String fileName01; + private String fileName02; + private String fileName03; + + + private String requestDate; // datetime + private String telecom; // varchar(7) + private String agentCode; // varchar(5) + private String kakaoSenderKey; // varchar(40) + private String kakaoTemplateCode; // varchar(64) + private String kakaoJsonFile; // varchar(100) + private String deliverDate; // datetime + private String sentDate; // datetime + private String reportDate; // datetime + + private String cnt; + + + + private String reportCnt; + private String minReportDate; + private String maxReportDate; +} diff --git a/src/main/java/com/itn/admin/agent/client/three/service/AgentCThreeService.java b/src/main/java/com/itn/admin/agent/client/three/service/AgentCThreeService.java new file mode 100644 index 0000000..979a62d --- /dev/null +++ b/src/main/java/com/itn/admin/agent/client/three/service/AgentCThreeService.java @@ -0,0 +1,13 @@ +package com.itn.admin.agent.client.three.service; + +import com.itn.admin.agent.client.three.mapper.domain.AgentCThreeVO; +import com.itn.admin.cmn.msg.RestResponse; + +public interface AgentCThreeService { + + RestResponse findByInsertCnt(AgentCThreeVO agentCFourVO); + + RestResponse findByRequestDateWhereMessageFromLog(AgentCThreeVO agentCFourVO); + + RestResponse findByReportLog(AgentCThreeVO agentCThreeVO); +} diff --git a/src/main/java/com/itn/admin/agent/client/three/service/impl/AgentCThreeServiceImpl.java b/src/main/java/com/itn/admin/agent/client/three/service/impl/AgentCThreeServiceImpl.java new file mode 100644 index 0000000..84e87f5 --- /dev/null +++ b/src/main/java/com/itn/admin/agent/client/three/service/impl/AgentCThreeServiceImpl.java @@ -0,0 +1,38 @@ +package com.itn.admin.agent.client.three.service.impl; + +import com.itn.admin.agent.client.three.mapper.AgentCThreeMapper; +import com.itn.admin.agent.client.three.mapper.domain.AgentCThreeVO; +import com.itn.admin.agent.client.three.service.AgentCThreeService; +import com.itn.admin.cmn.msg.RestResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + + +@Slf4j +@Service +public class AgentCThreeServiceImpl implements AgentCThreeService { + + + @Autowired + AgentCThreeMapper agentCThreeMapper; + + @Override + public RestResponse findByInsertCnt(AgentCThreeVO agentCThreeVO) { + int cnt = agentCThreeMapper.findByInsertCnt(agentCThreeVO); + return new RestResponse(HttpStatus.OK,"", cnt); + } + + @Override + public RestResponse findByRequestDateWhereMessageFromLog(AgentCThreeVO agentCThreeVO) { + String requestDateText = agentCThreeMapper.findByRequestDateWhereMessageFromLog(agentCThreeVO); + return new RestResponse(HttpStatus.OK,"", requestDateText); + } + + @Override + public RestResponse findByReportLog(AgentCThreeVO agentCThreeVO) { + + return new RestResponse(HttpStatus.OK,"", agentCThreeMapper.findByReportLog(agentCThreeVO)); + } +} diff --git a/src/main/java/com/itn/admin/agent/client/three/web/AgentCThreeRestController.java b/src/main/java/com/itn/admin/agent/client/three/web/AgentCThreeRestController.java new file mode 100644 index 0000000..14cf9f7 --- /dev/null +++ b/src/main/java/com/itn/admin/agent/client/three/web/AgentCThreeRestController.java @@ -0,0 +1,56 @@ +package com.itn.admin.agent.client.three.web; + +import com.itn.admin.agent.client.one.mapper.domain.AgentCOneVO; +import com.itn.admin.agent.client.three.mapper.domain.AgentCThreeVO; +import com.itn.admin.agent.client.three.service.AgentCThreeService; +import com.itn.admin.cmn.msg.RestResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; + +@RestController +public class AgentCThreeRestController { + + private AgentCThreeService agentCThreeService; + + private final String UPLOAD_DIR = "/home/mjon_client_agent_2/mmsfile"; + + + @Autowired + public void setAgentService(AgentCThreeService agentCThreeService) { + this.agentCThreeService = agentCThreeService; + } + + + /* + * client db에 insert 됐는지 확인 count + * */ + @GetMapping("/agent/three/findByInsertCnt") + public ResponseEntity findByInsertCnt(@RequestParam String message) throws Exception { + AgentCThreeVO agentCThreeVO = new AgentCThreeVO(); + agentCThreeVO.setMessage(message); + return ResponseEntity.ok().body(agentCThreeService.findByInsertCnt(agentCThreeVO)); + } + + /* + * client db에 최초 insert된 시간 + * */ + @GetMapping("/agent/three/findByRequestDateWhereMessageFromLog") + public ResponseEntity findByRequestDateWhereMessageFromLog(@RequestParam String message) throws Exception { + AgentCThreeVO agentCThreeVO = new AgentCThreeVO(); + agentCThreeVO.setMessage(message); + return ResponseEntity.ok().body(agentCThreeService.findByRequestDateWhereMessageFromLog(agentCThreeVO)); + } + + + /* + * client db에 report한 시간 + * */ + @GetMapping("/agent/three/findByReportLog") + public ResponseEntity findByReportLog(@RequestParam String message) throws Exception { + AgentCThreeVO agentCThreeVO = new AgentCThreeVO(); + agentCThreeVO.setMessage(message); + return ResponseEntity.ok().body(agentCThreeService.findByReportLog(agentCThreeVO)); + } +} diff --git a/src/main/java/com/itn/admin/agent/client/two/mapper/AgentCTwoMapper.java b/src/main/java/com/itn/admin/agent/client/two/mapper/AgentCTwoMapper.java index c34d978..b2c6e4a 100644 --- a/src/main/java/com/itn/admin/agent/client/two/mapper/AgentCTwoMapper.java +++ b/src/main/java/com/itn/admin/agent/client/two/mapper/AgentCTwoMapper.java @@ -2,6 +2,7 @@ package com.itn.admin.agent.client.two.mapper; import com.itn.admin.agent.client.two.mapper.domain.AgentCTwoVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -28,4 +29,22 @@ public interface AgentCTwoMapper { int countByLogMoveCntWhereMsgTypeAndMessage(AgentCTwoVO agentVO); int findAllLogMoveCnt(AgentCTwoVO agentVO); + + @Select("SELECT min(REQUEST_DATE) as requestDate " + + "FROM MUNJAON_MSG_LOG " + + "WHERE MESSAGE LIKE CONCAT(#{message}, '%')") + String findByRequestDateWhereMessageFromLogFn(AgentCTwoVO agentVO); + + @Select(""" + + SELECT + COUNT(*) AS reportCnt, -- '총 카운트', + MIN(REPORT_DATE) AS minReportDate, -- '가장 빠른 REPORT_DATE', + MAX(REPORT_DATE) AS maxReportDate -- '가장 늦은 REPORT_DATE' + FROM + MUNJAON_MSG_LOG + WHERE + MESSAGE LIKE CONCAT(#{message}, '%') + """) + AgentCTwoVO findByReportLogFn(AgentCTwoVO agentVO); } diff --git a/src/main/java/com/itn/admin/agent/client/two/mapper/domain/AgentCTwoVO.java b/src/main/java/com/itn/admin/agent/client/two/mapper/domain/AgentCTwoVO.java index 0444b4c..d018737 100644 --- a/src/main/java/com/itn/admin/agent/client/two/mapper/domain/AgentCTwoVO.java +++ b/src/main/java/com/itn/admin/agent/client/two/mapper/domain/AgentCTwoVO.java @@ -35,8 +35,12 @@ public class AgentCTwoVO implements Serializable { private String fileName01; private String fileName02; private String fileName03; + private String requestDate; private String cnt; + private String reportCnt; + private String minReportDate; + private String maxReportDate; } diff --git a/src/main/java/com/itn/admin/agent/client/two/service/AgentCTwoService.java b/src/main/java/com/itn/admin/agent/client/two/service/AgentCTwoService.java index f0492b7..69b5711 100644 --- a/src/main/java/com/itn/admin/agent/client/two/service/AgentCTwoService.java +++ b/src/main/java/com/itn/admin/agent/client/two/service/AgentCTwoService.java @@ -15,4 +15,8 @@ public interface AgentCTwoService { RestResponse findByLogMoveCntWhereMessage(AgentCTwoVO agentCTwoVO); RestResponse findAllLogMoveCnt(AgentCTwoVO agentCTwoVO); + + RestResponse findByRequestDateWhereMessageFromLog(AgentCTwoVO agentCTwoVO); + + RestResponse findByReportLog(AgentCTwoVO agentCtwoVO); } diff --git a/src/main/java/com/itn/admin/agent/client/two/service/impl/AgentCTwoServiceImpl.java b/src/main/java/com/itn/admin/agent/client/two/service/impl/AgentCTwoServiceImpl.java index a98c6e9..c533355 100644 --- a/src/main/java/com/itn/admin/agent/client/two/service/impl/AgentCTwoServiceImpl.java +++ b/src/main/java/com/itn/admin/agent/client/two/service/impl/AgentCTwoServiceImpl.java @@ -1,6 +1,7 @@ package com.itn.admin.agent.client.two.service.impl; import com.itn.admin.agent.client.cmm.service.AbstractAgentService; +import com.itn.admin.agent.client.one.mapper.domain.AgentCOneVO; import com.itn.admin.agent.client.two.mapper.domain.AgentCTwoVO; import com.itn.admin.agent.client.two.mapper.AgentCTwoMapper; import com.itn.admin.agent.client.two.service.AgentCTwoService; @@ -25,16 +26,28 @@ public class AgentCTwoServiceImpl extends AbstractAgentService findByInsertCnt(@RequestBody AgentCTwoVO agentCTwoVO) throws Exception { - System.out.println(" :: /agent/two/findByInsertCnt :: "); + public ResponseEntity findByInsertCnt(@RequestParam String message) throws Exception { + AgentCTwoVO agentCTwoVO = new AgentCTwoVO(); + agentCTwoVO.setMessage(message); return ResponseEntity.ok().body(agentCTwoService.findByInsertCnt(agentCTwoVO)); } + /* + * client db에 최초 insert된 시간 + * */ + @GetMapping("/agent/two/findByRequestDateWhereMessageFromLog") + public ResponseEntity findByRequestDateWhereMessageFromLog(@RequestParam String message) throws Exception { + AgentCTwoVO agentCTwoVO = new AgentCTwoVO(); + agentCTwoVO.setMessage(message); + return ResponseEntity.ok().body(agentCTwoService.findByRequestDateWhereMessageFromLog(agentCTwoVO)); + } /* * client LOG TB에 insert 됐는지 확인 count * 리포트할때 ''현재'' 데이터가 LOG 테이블에 이동됐는지 확인 @@ -114,4 +126,17 @@ public class AgentCTwoRestController { return fileName; } + + + + /* + * client db에 report한 시간 + * */ + @GetMapping("/agent/two/findByReportLog") + public ResponseEntity findByReportLog(@RequestParam String message) throws Exception { + AgentCTwoVO agentCtwoVO = new AgentCTwoVO(); + agentCtwoVO.setMessage(message); + return ResponseEntity.ok().body(agentCTwoService.findByReportLog(agentCtwoVO)); + } + } diff --git a/src/main/java/com/itn/admin/agent/server/mapper/AgentSMapper.java b/src/main/java/com/itn/admin/agent/server/mapper/AgentSMapper.java index afb3308..10716dc 100644 --- a/src/main/java/com/itn/admin/agent/server/mapper/AgentSMapper.java +++ b/src/main/java/com/itn/admin/agent/server/mapper/AgentSMapper.java @@ -2,6 +2,9 @@ package com.itn.admin.agent.server.mapper; import com.itn.admin.agent.server.mapper.domain.AgentSVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** * packageName : com.itn.admin.agent.mapper @@ -23,4 +26,25 @@ public interface AgentSMapper { String findByCurStateAndUserIdAndSmsTxt(AgentSVO agentSVO); int updateReportWhereUserIdAndMassage(AgentSVO agentSVO); + + @Select(""" + SELECT + USER_ID, + MIN(REQ_DATE) AS minReqDate, -- 이관시작시간 + MAX(REQ_DATE) AS maxReqDate, -- 이관종료시간 + MIN(RESULT_LOG_UPDT_PNTTM) AS minResultLogUpdtPnttm, -- 전송사시작시간 + MAX(RESULT_LOG_UPDT_PNTTM) AS maxResultLogUpdtPnttm, -- 전송사종료시간 + COUNT(REQ_DATE) AS cnt, -- 갯수 + COUNT(CASE WHEN RESULT_LOG_UPDT_PNTTM IS NULL THEN 1 END) AS resultNull -- 전송사_report_안된_갯수 + FROM + mj_msg_data + WHERE + USER_ID IN ('006star', 'daltex', 'hylee250', 'dlwnsgh', 'dlwldn') + AND SMS_TXT LIKE CONCAT(#{message}, '%') + GROUP BY + USER_ID + ORDER BY + FIELD(USER_ID, 'daltex', '006star', 'hylee250', 'dlwnsgh', 'dlwldn') + """) + List findByCompanyLogAndSTransfer(AgentSVO agentSVO); } diff --git a/src/main/java/com/itn/admin/agent/server/mapper/domain/AgentSVO.java b/src/main/java/com/itn/admin/agent/server/mapper/domain/AgentSVO.java index 7a17509..d4f70fb 100644 --- a/src/main/java/com/itn/admin/agent/server/mapper/domain/AgentSVO.java +++ b/src/main/java/com/itn/admin/agent/server/mapper/domain/AgentSVO.java @@ -87,5 +87,15 @@ public class AgentSVO implements Serializable { private String sendPhone; private String sendCnt; + private String minReqDate; // 이관시작시간 + private String maxReqDate; // 이관종료시간 + private String minResultLogUpdtPnttm; // 전송사시작시간 + private String maxResultLogUpdtPnttm; // 전송사종료시간 + private String cnt; // 갯수 + private String resultNull; // 전송사_report_안된_갯수 + + + + } diff --git a/src/main/java/com/itn/admin/agent/server/service/AgentSService.java b/src/main/java/com/itn/admin/agent/server/service/AgentSService.java index a465bb2..fe7eae6 100644 --- a/src/main/java/com/itn/admin/agent/server/service/AgentSService.java +++ b/src/main/java/com/itn/admin/agent/server/service/AgentSService.java @@ -12,4 +12,6 @@ public interface AgentSService { RestResponse serverReport(AgentSVO agentSVO); RestResponse nowDataReport(AgentSVO agentSVO); + + RestResponse findByCompanyLogAndSTransfer(AgentSVO agentSVO); } diff --git a/src/main/java/com/itn/admin/agent/server/service/impl/AgentSServiceImpl.java b/src/main/java/com/itn/admin/agent/server/service/impl/AgentSServiceImpl.java index c4c2d0e..23d274b 100644 --- a/src/main/java/com/itn/admin/agent/server/service/impl/AgentSServiceImpl.java +++ b/src/main/java/com/itn/admin/agent/server/service/impl/AgentSServiceImpl.java @@ -10,6 +10,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; +import java.util.List; + @Slf4j @Service @@ -48,4 +50,10 @@ public class AgentSServiceImpl implements AgentSService { return new RestResponse(HttpStatus.OK,msg, cnt); } + + @Override + public RestResponse findByCompanyLogAndSTransfer(AgentSVO agentSVO) { + List resultVo = agentSMapper.findByCompanyLogAndSTransfer(agentSVO); + return new RestResponse(HttpStatus.OK, "", resultVo); + } } diff --git a/src/main/java/com/itn/admin/agent/server/web/AgentSRestController.java b/src/main/java/com/itn/admin/agent/server/web/AgentSRestController.java index 14d44c3..6555d1c 100644 --- a/src/main/java/com/itn/admin/agent/server/web/AgentSRestController.java +++ b/src/main/java/com/itn/admin/agent/server/web/AgentSRestController.java @@ -5,9 +5,7 @@ import com.itn.admin.agent.server.service.AgentSService; import com.itn.admin.cmn.msg.RestResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; @RestController public class AgentSRestController { @@ -46,4 +44,18 @@ public class AgentSRestController { public ResponseEntity serverNowDataReport(@RequestBody AgentSVO agentSVO) throws Exception { return ResponseEntity.ok().body(agentSService.nowDataReport(agentSVO)); } + + + /* + * 전송사가 리턴해준것처럼 + * server DB에 update 함 + * @@ 현재 화면 기준 data만 없뎃 + * */ + @GetMapping("/agent/server/findByCompanyLogAndSTransfer") + public ResponseEntity findByCompanyLogAndSTransfer(@RequestParam String message) throws Exception { + AgentSVO agentSVO = new AgentSVO(); + agentSVO.setMessage(message); + return ResponseEntity.ok().body(agentSService.findByCompanyLogAndSTransfer(agentSVO)); + } + } diff --git a/src/main/java/com/itn/admin/cmn/config/MjonAgentCFiveDatabaseConfig.java b/src/main/java/com/itn/admin/cmn/config/MjonAgentCFiveDatabaseConfig.java new file mode 100644 index 0000000..52f35d3 --- /dev/null +++ b/src/main/java/com/itn/admin/cmn/config/MjonAgentCFiveDatabaseConfig.java @@ -0,0 +1,47 @@ +package com.itn.admin.cmn.config; + +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.SqlSessionTemplate; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.jdbc.DataSourceBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import javax.sql.DataSource; + + +@Configuration +@MapperScan(value = "com.itn.admin.agent.client.five.mapper", sqlSessionFactoryRef = "factory8") +class MjonAgentCFiveDatabaseConfig { + + private final String COMMUTE_DATA_SOURCE = "MjagentClienFiveDatabase"; + + // A database DataSource + @Bean(COMMUTE_DATA_SOURCE) + @ConfigurationProperties(prefix = "spring.mjagent.client.five.datasource") + public DataSource CommuteDataSource() { + return DataSourceBuilder.create() +// .type(HikariDataSource.class) + .build(); + } + + // SqlSessionTemplate 에서 사용할 SqlSession 을 생성하는 Factory + @Bean(name = "factory8") + public SqlSessionFactory MjonAgentCTwoSqlSessionFactory(@Qualifier(COMMUTE_DATA_SOURCE) DataSource dataSource) throws Exception { + SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean(); + sqlSessionFactory.setDataSource(dataSource); + sqlSessionFactory.setTypeAliasesPackage("com.itn.admin.agent.client.five.*"); + //sqlSessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/agent/client/five/*Mapper.xml")); + //sqlSessionFactory.setConfigLocation(new PathMatchingResourcePatternResolver().getResource("classpath:mybatis-config.xml")); + return sqlSessionFactory.getObject(); + } + + // DataSource 에서 Transaction 관리를 위한 Manager 클래스 등록 + @Bean(name = "sqlSession9") + public SqlSessionTemplate sqlSession(SqlSessionFactory sqlSessionFactory) { + return new SqlSessionTemplate(sqlSessionFactory); + } +} \ No newline at end of file diff --git a/src/main/java/com/itn/admin/cmn/config/MjonAgentCFourDatabaseConfig.java b/src/main/java/com/itn/admin/cmn/config/MjonAgentCFourDatabaseConfig.java new file mode 100644 index 0000000..b2f08c8 --- /dev/null +++ b/src/main/java/com/itn/admin/cmn/config/MjonAgentCFourDatabaseConfig.java @@ -0,0 +1,48 @@ +package com.itn.admin.cmn.config; + +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.SqlSessionTemplate; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.jdbc.DataSourceBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; + +import javax.sql.DataSource; + + +@Configuration +@MapperScan(value = "com.itn.admin.agent.client.four.mapper", sqlSessionFactoryRef = "factory7") +class MjonAgentCFourDatabaseConfig { + + private final String COMMUTE_DATA_SOURCE = "MjagentClienFourDatabase"; + + // A database DataSource + @Bean(COMMUTE_DATA_SOURCE) + @ConfigurationProperties(prefix = "spring.mjagent.client.four.datasource") + public DataSource CommuteDataSource() { + return DataSourceBuilder.create() +// .type(HikariDataSource.class) + .build(); + } + + // SqlSessionTemplate 에서 사용할 SqlSession 을 생성하는 Factory + @Bean(name = "factory7") + public SqlSessionFactory MjonAgentCTwoSqlSessionFactory(@Qualifier(COMMUTE_DATA_SOURCE) DataSource dataSource) throws Exception { + SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean(); + sqlSessionFactory.setDataSource(dataSource); + sqlSessionFactory.setTypeAliasesPackage("com.itn.admin.agent.client.four.*"); + //sqlSessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/agent/client/four/*Mapper.xml")); + //sqlSessionFactory.setConfigLocation(new PathMatchingResourcePatternResolver().getResource("classpath:mybatis-config.xml")); + return sqlSessionFactory.getObject(); + } + + // DataSource 에서 Transaction 관리를 위한 Manager 클래스 등록 + @Bean(name = "sqlSession8") + public SqlSessionTemplate sqlSession(SqlSessionFactory sqlSessionFactory) { + return new SqlSessionTemplate(sqlSessionFactory); + } +} \ No newline at end of file diff --git a/src/main/java/com/itn/admin/cmn/config/MjonAgentCThreeDatabaseConfig.java b/src/main/java/com/itn/admin/cmn/config/MjonAgentCThreeDatabaseConfig.java new file mode 100644 index 0000000..100588f --- /dev/null +++ b/src/main/java/com/itn/admin/cmn/config/MjonAgentCThreeDatabaseConfig.java @@ -0,0 +1,48 @@ +package com.itn.admin.cmn.config; + +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.SqlSessionTemplate; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.jdbc.DataSourceBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; + +import javax.sql.DataSource; + + +@Configuration +@MapperScan(value = "com.itn.admin.agent.client.three.mapper", sqlSessionFactoryRef = "factory6") +class MjonAgentCThreeDatabaseConfig { + + private final String COMMUTE_DATA_SOURCE = "MjagentClienThreeDatabase"; + + // A database DataSource + @Bean(COMMUTE_DATA_SOURCE) + @ConfigurationProperties(prefix = "spring.mjagent.client.three.datasource") + public DataSource CommuteDataSource() { + return DataSourceBuilder.create() +// .type(HikariDataSource.class) + .build(); + } + + // SqlSessionTemplate 에서 사용할 SqlSession 을 생성하는 Factory + @Bean(name = "factory6") + public SqlSessionFactory MjonAgentCTwoSqlSessionFactory(@Qualifier(COMMUTE_DATA_SOURCE) DataSource dataSource) throws Exception { + SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean(); + sqlSessionFactory.setDataSource(dataSource); + sqlSessionFactory.setTypeAliasesPackage("com.itn.admin.agent.client.three.*"); + //sqlSessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/agent/client/three/*Mapper.xml")); + //sqlSessionFactory.setConfigLocation(new PathMatchingResourcePatternResolver().getResource("classpath:mybatis-config.xml")); + return sqlSessionFactory.getObject(); + } + + // DataSource 에서 Transaction 관리를 위한 Manager 클래스 등록 + @Bean(name = "sqlSession7") + public SqlSessionTemplate sqlSession(SqlSessionFactory sqlSessionFactory) { + return new SqlSessionTemplate(sqlSessionFactory); + } +} \ No newline at end of file diff --git a/src/main/java/com/itn/admin/cmn/config/MjonAgentCTwoDatabaseConfig.java b/src/main/java/com/itn/admin/cmn/config/MjonAgentCTwoDatabaseConfig.java index deddb75..f822ef7 100644 --- a/src/main/java/com/itn/admin/cmn/config/MjonAgentCTwoDatabaseConfig.java +++ b/src/main/java/com/itn/admin/cmn/config/MjonAgentCTwoDatabaseConfig.java @@ -41,7 +41,7 @@ class MjonAgentCTwoDatabaseConfig { } // DataSource 에서 Transaction 관리를 위한 Manager 클래스 등록 - @Bean(name = "sqlSession3") + @Bean(name = "sqlSession6") public SqlSessionTemplate sqlSession(SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 5331b6d..dfd71a8 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,4 +1,4 @@ -server.port=9077 +server.port=8077 # mybatis setting mybatis.mapper-locations=classpath:mapper/**/*.xml @@ -37,19 +37,41 @@ spring.commute.datasource.username=root spring.commute.datasource.password=itntest123 # agent client 1 -spring.mjagent.client.one.userid=hylee250 +spring.mjagent.client.one.userid=daltex spring.mjagent.client.one.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy -spring.mjagent.client.one.datasource.jdbc-url=jdbc:log4jdbc:mysql://192.168.0.31:3307/mjonUr_agent?serverTimezone=Asia/Seoul -spring.mjagent.client.one.datasource.username=mjonAgentUr -spring.mjagent.client.one.datasource.password=mjonAgentUr!@#$ +spring.mjagent.client.one.datasource.jdbc-url=jdbc:log4jdbc:mysql://192.168.0.125:3306/mjon_agent?serverTimezone=Asia/Seoul +spring.mjagent.client.one.datasource.username=mjonUr_agent +spring.mjagent.client.one.datasource.password=mjagent123$ # agent client 2 -spring.mjagent.client.two.userid=dlwnsgh +spring.mjagent.client.two.userid=006star spring.mjagent.client.two.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy -spring.mjagent.client.two.datasource.jdbc-url=jdbc:log4jdbc:mysql://192.168.0.31:3308/mjonUr_agent?serverTimezone=Asia/Seoul +spring.mjagent.client.two.datasource.jdbc-url=jdbc:log4jdbc:mysql://192.168.0.30:3306/mjonUr_agent?serverTimezone=Asia/Seoul spring.mjagent.client.two.datasource.username=mjonAgentUr spring.mjagent.client.two.datasource.password=mjonAgentUr!@#$ + +# agent client 3 +spring.mjagent.client.three.userid=hylee250 +spring.mjagent.client.three.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy +spring.mjagent.client.three.datasource.jdbc-url=jdbc:log4jdbc:mysql://192.168.0.31:3307/mjonUr_agent?serverTimezone=Asia/Seoul +spring.mjagent.client.three.datasource.username=mjonAgentUr +spring.mjagent.client.three.datasource.password=mjonAgentUr!@#$ + +# agent client 4 +spring.mjagent.client.four.userid=dlwnsgh +spring.mjagent.client.four.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy +spring.mjagent.client.four.datasource.jdbc-url=jdbc:log4jdbc:mysql://192.168.0.31:3308/mjonUr_agent?serverTimezone=Asia/Seoul +spring.mjagent.client.four.datasource.username=mjonAgentUr +spring.mjagent.client.four.datasource.password=mjonAgentUr!@#$ + +# agent client 5 +spring.mjagent.client.five.userid=dlwldn +spring.mjagent.client.five.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy +spring.mjagent.client.five.datasource.jdbc-url=jdbc:log4jdbc:mysql://192.168.0.31:3309/mjonUr_agent?serverTimezone=Asia/Seoul +spring.mjagent.client.five.datasource.username=mjonAgentUr +spring.mjagent.client.five.datasource.password=mjonAgentUr!@#$ + # agent server spring.mjagent.server.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy spring.mjagent.server.datasource.jdbc-url=jdbc:log4jdbc:mysql://119.193.215.98:3306/mjon_agent_back?serverTimezone=Asia/Seoul diff --git a/src/main/resources/logback.properties b/src/main/resources/logback.properties index edf7e3e..6392ca9 100644 --- a/src/main/resources/logback.properties +++ b/src/main/resources/logback.properties @@ -1,5 +1,5 @@ #???? ?? -log.config.path=/home/itn_admin_02/logs +log.config.path=/data/tomcat/tomcat_api_9100_2023_0711/logs #???? ?? log.config.filename=mjonApi_log diff --git a/src/main/resources/mapper/agent/client/one/AgentCOneMapper.xml b/src/main/resources/mapper/agent/client/one/AgentCOneMapper.xml index 596e416..c05bdeb 100644 --- a/src/main/resources/mapper/agent/client/one/AgentCOneMapper.xml +++ b/src/main/resources/mapper/agent/client/one/AgentCOneMapper.xml @@ -59,7 +59,9 @@ FROM MUNJAON_MSG WHERE SEND_STATUS != 1000 - and MSG_TYPE = #{msgType} + + and MSG_TYPE = #{msgType} + and MESSAGE LIKE CONCAT(#{message}, '%') diff --git a/src/main/resources/mapper/agent/client/two/AgentCTwoMapper.xml b/src/main/resources/mapper/agent/client/two/AgentCTwoMapper.xml index 2bf5419..f5bd782 100644 --- a/src/main/resources/mapper/agent/client/two/AgentCTwoMapper.xml +++ b/src/main/resources/mapper/agent/client/two/AgentCTwoMapper.xml @@ -59,7 +59,9 @@ FROM MUNJAON_MSG WHERE SEND_STATUS != 1000 - and MSG_TYPE = #{msgType} + + and MSG_TYPE = #{msgType} + and MESSAGE LIKE CONCAT(#{message}, '%') diff --git a/src/main/resources/mybatis-config.xml b/src/main/resources/mybatis-config.xml index c011c05..a4b2404 100644 --- a/src/main/resources/mybatis-config.xml +++ b/src/main/resources/mybatis-config.xml @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/src/main/resources/templates/agent/result.html b/src/main/resources/templates/agent/result.html new file mode 100644 index 0000000..a0bbe3c --- /dev/null +++ b/src/main/resources/templates/agent/result.html @@ -0,0 +1,344 @@ + + + + + + agent 발송 테스트 + + + + + + + + + + +
+
+ + + + + +
+ +
+
+
+
+

AGENT 결과

+
+
+ +
+
+
+
+ + +
+
+
+
+
+
+

+
+ +
+
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
C 번호사용자명[C]DB 등록시간이관 시작시간이관 완료시간이관 갯수[C]리포트 시작시간[C]리포트 완료시간[C]리포트 갯수전송사 에이전트 리포트 시작시간전송사 에이전트 리포트 종료시간전송사 에이전트 리포트 남은 갯수
1daltex
2006star
3hylee250
4dlwnsgh
5dlwldn
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ + +
+
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/agent/view.html b/src/main/resources/templates/agent/view.html index 4fa494f..6e6fae2 100644 --- a/src/main/resources/templates/agent/view.html +++ b/src/main/resources/templates/agent/view.html @@ -116,7 +116,7 @@
-

+

DB정보

-

- 192.168.0.31:3307

+

- 192.168.0.31:3308

msg 발송 TB

@@ -147,8 +147,8 @@

서버위치

-

- 192.168.0.78

-

- /home/mjon_client_agent_3

+

- 192.168.0.31 (윈도우)

+

- /dev/mjon_agent/agent_client_05

@@ -221,117 +221,6 @@
-
-
-
- -

-
- - -
-

- - - -
-
- - -
- -
- -
-
-
- -
- -
-
-
- -
- -
-
- - -
- -
- -
-
0 bytes
-
-
- -
- -
-
-
- - - - - -
- -
- -
- -
@@ -382,50 +271,6 @@ -
-
-
-

Client 2 현재현황

- -
-
-
- -
-
- -
- MSG 건 - 0 -
-
-
- -
-
- -
- MSG_LOG 건 - 0 -
-
-
- -
-
- -
- report(X) 건 - 0 -
-
-
-
-
-
-
@@ -525,96 +370,6 @@ -
-
-
-
-

클라이언트2 현황확인

- - -
-
-
-
-
-
- -
- 클라이언트 insert -
- 0 - 건수 -
-
-
-
- - 0초 - -
-
-
- -
-
- -
- 데이터 이관 시간 (C -> S) -
- 0 - 건수 -
-
-
-
- - 0초 - -
-
-
- -
-
- -
- 클라이언트 report (S -> C) -
- 0 - - - 건수 -
-
-
-
- - 0초 - -
-
-
- - -
- - - - - - - - - - - - - -
-
-
- - diff --git a/src/main/resources/templates/fragments/mainsidebar.html b/src/main/resources/templates/fragments/mainsidebar.html index 1e60690..b15f65c 100644 --- a/src/main/resources/templates/fragments/mainsidebar.html +++ b/src/main/resources/templates/fragments/mainsidebar.html @@ -96,6 +96,14 @@ +