feat : queryDsl 추가, 신문고 Send 작업 시작
parent
d54096b1b4
commit
dfdf78268c
@ -1,11 +1,10 @@
|
||||
package com.worker.domain.repo.cp;
|
||||
|
||||
import com.worker.domain.entity.CpAnswer;
|
||||
import com.worker.dto.SinmungoDto;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface CpAnswerRepository extends JpaRepository<CpAnswer,Integer> {
|
||||
List<SinmungoDto.Answer> findAllByAsState(String number);
|
||||
List<CpAnswer> findAllByAsState(String number);
|
||||
}
|
||||
|
||||
@ -0,0 +1,41 @@
|
||||
package com.worker.dto;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Id;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
|
||||
|
||||
public class UserInfoDto {
|
||||
|
||||
@Getter
|
||||
@Builder
|
||||
public static class UserInfo {
|
||||
|
||||
private Integer umCode;
|
||||
private String umSggcode;
|
||||
private String umLevelcd;
|
||||
private String umLevel;
|
||||
private String umName;
|
||||
private String umTelno;
|
||||
private String umEmail;
|
||||
private String umHwpdirc;
|
||||
private String umPass;
|
||||
private String umPermision;
|
||||
private String umSeallUser;
|
||||
private String umTaxeUser;
|
||||
private String umIndt;
|
||||
private String umEnable;
|
||||
private String umJobGroup;
|
||||
private String umDeldt;
|
||||
private String umIp;
|
||||
private String umPassUpdt;
|
||||
private String umCarUser;
|
||||
|
||||
private String sgSggCode;
|
||||
private String sgSggName;
|
||||
private String sgEnable;
|
||||
private String sgDepCode;
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package com.worker.framework.JPAConf;
|
||||
|
||||
import com.querydsl.jpa.impl.JPAQueryFactory;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
public class JPAConfig {
|
||||
|
||||
@PersistenceContext
|
||||
private EntityManager em;
|
||||
|
||||
@Bean
|
||||
public JPAQueryFactory jpaQueryFactory() {
|
||||
return new JPAQueryFactory(em);
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,40 @@
|
||||
package com.worker.scheduler.smg.repository;
|
||||
|
||||
import com.querydsl.core.types.Projections;
|
||||
import com.querydsl.jpa.impl.JPAQueryFactory;
|
||||
import com.worker.dto.UserInfoDto;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static com.worker.domain.entity.QCpSgg.cpSgg;
|
||||
import static com.worker.domain.entity.QCpUser.cpUser;
|
||||
|
||||
@Repository
|
||||
@RequiredArgsConstructor
|
||||
public class DbPollingQueryDslRepository {
|
||||
|
||||
private final JPAQueryFactory queryFactory;
|
||||
|
||||
public List<UserInfoDto.UserInfo> findCpUser(int umCode) {
|
||||
|
||||
return queryFactory
|
||||
.select(
|
||||
Projections.fields(
|
||||
UserInfoDto.UserInfo.class,
|
||||
cpUser.umCode,
|
||||
cpUser.umName,
|
||||
cpUser.umTelno,
|
||||
cpUser.umEmail,
|
||||
cpSgg.sgDepCode
|
||||
)
|
||||
)
|
||||
.from(cpUser)
|
||||
.leftJoin(cpSgg).on(cpSgg.sgSggCode.eq(cpUser.umSggcode))
|
||||
.where(cpUser.umCode.eq(umCode))
|
||||
.fetch();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
package com.worker.scheduler.smg.service;
|
||||
|
||||
import com.worker.domain.repo.cp.CpAnswerRepository;
|
||||
import com.worker.domain.repo.ep.EpAnswerRepository;
|
||||
import com.worker.dto.SinmungoDto;
|
||||
import com.worker.util.common.commEnum.StateEnum;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class XmlSend {
|
||||
|
||||
private final CpAnswerRepository cpAnswerRepository;
|
||||
private final EpAnswerRepository epAnswerRepository;
|
||||
|
||||
// 실행 대상 답변 찾기
|
||||
public SinmungoDto.Send.Answers findAnswersByStatus(String status) {
|
||||
|
||||
// 디비에서 as_state 1번인것 찾기
|
||||
return SinmungoDto.Send.Answers.builder()
|
||||
.cpAnswer(cpAnswerRepository.findAllByAsState(status))
|
||||
.epAnswer(epAnswerRepository.findAllByAsState(status))
|
||||
.build();
|
||||
}
|
||||
|
||||
//send 디렉토리에 xml 생성
|
||||
public void send(SinmungoDto.SetInfo setInfo, SinmungoDto.Send.Answers answers) {
|
||||
// answers 에서 as_reuser 추출
|
||||
List<String> reuser;
|
||||
|
||||
// 추출한 reuser에서 user정보 조회
|
||||
|
||||
|
||||
// main테이블 조회
|
||||
|
||||
|
||||
// mm_state 별로 im_civil_abstract_l 값 업데이트
|
||||
|
||||
|
||||
//awsers 만큼
|
||||
// 위에서 조회한 정보들 조합해서 xml 생성
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue