Merge remote-tracking branch 'origin/master'
eapim-admin CI / build (push) Waiting to run

This commit is contained in:
Rinjae(gf63)
2026-09-11 18:38:59 +09:00
6 changed files with 63 additions and 38 deletions
@@ -22,6 +22,9 @@ import com.eactive.eai.rms.common.util.CommonConstants;
import com.eactive.eai.rms.data.entity.onl.bzwkdstcd.UserBusiness;
import com.eactive.eai.rms.data.entity.onl.bzwkdstcd.UserBusinessId;
import com.eactive.eai.rms.data.entity.onl.bzwkdstcd.UserBusinessService;
import com.eactive.eai.rms.data.entity.onl.transaction.TransactionTrackingFilter;
import com.eactive.eai.rms.data.entity.onl.transaction.TransactionTrackingFilterId;
import com.eactive.eai.rms.data.entity.onl.transaction.TransactionTrackingFilterService;
import com.eactive.eai.rms.data.entity.onl.unifbwk.UnifBwkTpService;
@Service
@@ -40,6 +43,9 @@ public class BizManService extends BaseService {
@Autowired
private UserBusinessService userBusinessService;
@Autowired
private TransactionTrackingFilterService transactionTrackingFilterService;
@Autowired
private UserBizUIMapper userBizUIMapper;
@@ -101,7 +107,14 @@ public class BizManService extends BaseService {
}).collect(Collectors.toList());
userBusinessService.deleteOrSave(userId, userBusinesses);
transactionTrackingFilterService.deleteAllByUserId(userId);
List<TransactionTrackingFilter> filters = userBusinesses.stream()
.map(ub -> new TransactionTrackingFilter(
new TransactionTrackingFilterId(userId, ub.getId().getEaiBzwkDstcd())))
.collect(Collectors.toList());
transactionTrackingFilterService.saveAll(filters);
String userBusinessServiceLists = userBusinesses.stream()
.map(e -> e.getId().getEaiBzwkDstcd())
.collect(Collectors.joining(","));
@@ -336,12 +336,12 @@ public class ApiStatsMinuteService
if (StringUtils.isNotBlank(search.getSearchEndDateTime())) {
endDateTime = LocalDateTime.parse(search.getSearchEndDateTime(), DATE_TIME_FORMATTER);
// 1시간(60분) 초과 시 시작시간 기준 1시간로 강제 설정
// 1시간(60분) 초과 시 시작시간 기준 1시간치(정시~59분, statTime 조건이 양끝 포함이므로 -1분)로 강제 설정
if (java.time.Duration.between(startDateTime, endDateTime).toMinutes() > MAX_MINUTES) {
endDateTime = startDateTime.plusMinutes(MAX_MINUTES);
endDateTime = startDateTime.plusMinutes(MAX_MINUTES - 1);
}
} else {
endDateTime = startDateTime.plusMinutes(MAX_MINUTES);
endDateTime = startDateTime.plusMinutes(MAX_MINUTES - 1);
}
search.setParsedStartDateTime(startDateTime);
@@ -20,4 +20,12 @@ public class TransactionTrackingFilterService extends
.fetch();
}
public void deleteAllByUserId(String userId) {
repository.deleteAll(findAllByUserId(userId));
}
public void saveAll(List<TransactionTrackingFilter> filters) {
repository.saveAll(filters);
}
}
@@ -44,11 +44,9 @@ public class UmsService {
private static final Gson gson = new Gson();
private static final String SYS_DVCD = "API"; //시스템코드
private static final String BZWK_DVCD = "95"; //업무구분코드
private static final String BZWK_DCLS_DVCD = "9019"; //세부구분코드
private static final String BZWK_CD = "EBK"; //업무코드
private static final String SUB_BZWK_CD = "EBG"; //서브업무코드
private static final String TEAM_DVCD = "99"; //팀구분코드
private final MonitoringPropertyService propertyService;
@@ -235,7 +233,7 @@ public class UmsService {
stdHeadVO.setChnl_tycd("EAI"); // 채널유형코드
stdHeadVO.setHmab_dvcd("1"); // 내외구분코드 1:내부 2:외부(타발)
stdHeadVO.setIf_id(messageRequest.getEaiInterfaceId()); // 인터페이스ID
stdHeadVO.setTx_id(messageRequest.getServiceId()); // 거래ID
stdHeadVO.setTx_id(messageRequest.getEaiTxId()); // 거래ID
if ("MESSENGER".equals(messageRequest.getMessageType()) ) {
@@ -279,7 +277,7 @@ public class UmsService {
// Sms 데이터
SmsDataVO dataVO = new SmsDataVO();
dataVO.setSnd_dman_dt(jsonData[0]);
dataVO.setSnd_dman_id(this.getSndDmanId(messageRequest.getMessageType()));
dataVO.setSnd_dman_id(this.getSndDmanId(messageRequest));
dataVO.setSnd_dvcd("EAI");
dataVO.setSms_msg_titl(StringUtil.chunkString(messageRequest.getSubject(), 40, false)); // MS949 40byte 초과시 절단
dataVO.setSms_msg_ctnt(messageRequest.getMessage());
@@ -289,18 +287,20 @@ public class UmsService {
dataVO.setSnd_emp_dprm_cd("132"); //요청부서코드
dataVO.setLtrs_snd_tycd("2"); // 1:SMS 2:LMS/MMS
dataVO.setMsg_snd_tycd("1008"); // 알림톡 메세지 종류 0000:SMS, 1000:LMS, 1008:알림톡, ....
//ADMIN으로 시작하면 제주은행 임직원, 나머지는 제주은행 고객용
//ADMIN으로 시작하면 제주은행 내부용, 나머지는 제주은행 고객용
if (messageRequest.getMessageCode().name().startsWith("ADMIN")) {
dataVO.setSms_trnm_bzwk_dvcd("99"); //업무구분코드
dataVO.setSms_bzwk_dcls_dvcd(BZWK_DCLS_DVCD); //업무세분코드
dataVO.setAlmtk_snd_prfl_key(propertyService.getPropertyValue("Monitoring", "djb.ums.sms.almtk_snd_prtl_key.intra", "")); // 제주은행 임직원 플러스친구아이디
} else {
dataVO.setSms_trnm_bzwk_dvcd("95"); //업무구분코드
dataVO.setSms_bzwk_dcls_dvcd(BZWK_DCLS_DVCD); //업무세분코드
dataVO.setAlmtk_snd_prfl_key(propertyService.getPropertyValue("Monitoring", "djb.ums.sms.almtk_snd_prtl_key.public", "")); // 제주은행 플러스친구아이디
}
dataVO.setAlmtk_tmplt_cd("JJB_85959019001"); // 템플릿코드
dataVO.setAlmtk_tmplt_cd(messageRequest.getServiceId()); // 템플릿코드
dataVO.setAlmtk_err_ltrs_snd_yn("Y"); // 오류자문자발송여부
dataVO.setAlmtk_btn_trnm_tycd("2"); // 카카오버튼전송방식 1-format string 2-JSON 3-XML
dataVO.setSms_trnm_bzwk_dvcd(BZWK_DVCD); //업무구분코드
dataVO.setSms_bzwk_dcls_dvcd(BZWK_DCLS_DVCD); //업무세분코드
dataVO.setSms_sys_dvcd("85"); //시스템코드
dataVO.setTx_dt(jsonData[0]); //거래일자
dataVO.setTx_tktm(jsonData[1].substring(0,6)); //거래시간
@@ -325,7 +325,7 @@ public class UmsService {
EmailDataVO dataVO = new EmailDataVO();
dataVO.setUms_evnt_id(propertyService.getPropertyValue("Monitoring", "djb.ums.email.ums_evnt_id", "")); // UMS이벤트ID(필수)
dataVO.setSnd_dman_dt(jsonData[0]);
dataVO.setSnd_dman_id(this.getSndDmanId(messageRequest.getMessageType()));
dataVO.setSnd_dman_id(this.getSndDmanId(messageRequest));
dataVO.setDman_seqno(1); // 발송요청순번
dataVO.setEmail_titl(messageRequest.getSubject()); // 메일제목
dataVO.setCstno(propertyService.getPropertyValue("Monitoring", "djb.ums.email.cstno", "")); // 고객번호(필수)
@@ -431,20 +431,24 @@ public class UmsService {
return buffer.toString();
}
private String getSndDmanId(String messageType) {
private String getSndDmanId(MessageRequest messageRequest) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String yyyymmdd = sdf.format(new Date());
String uuid = "";
if ("EMAIL".equals(messageType)) {
if ("EMAIL".equals(messageRequest.getMessageType())) {
uuid = SYS_DVCD + BZWK_CD + SUB_BZWK_CD + yyyymmdd + "O" + "E" ;
long seq = messageRequestService.countEmailRequestsOnDate(LocalDate.now()) + 1;
uuid += String.format("%013d", seq);
} else if ("SMS".equals(messageType)) { //kakao 알림톡
uuid = SYS_DVCD + BZWK_DVCD + BZWK_DCLS_DVCD + yyyymmdd + "O" + "K";
} else if ("SMS".equals(messageRequest.getMessageType())) { //kakao 알림톡
if (messageRequest.getMessageCode().name().startsWith("ADMIN")) {
uuid = SYS_DVCD + "99" + BZWK_DCLS_DVCD + yyyymmdd + "O" + "K"; //내부용
} else {
uuid = SYS_DVCD + "95" + BZWK_DCLS_DVCD + yyyymmdd + "O" + "K"; //대고객
}
long seq = messageRequestService.countSmsKakaoRequestsOnDate(LocalDate.now()) + 1;
uuid += String.format("%013d", seq);