feat : queryDsl 추가, 신문고 Send 작업 시작
parent
d54096b1b4
commit
dfdf78268c
@ -1,11 +1,10 @@
|
|||||||
package com.worker.domain.repo.cp;
|
package com.worker.domain.repo.cp;
|
||||||
|
|
||||||
import com.worker.domain.entity.CpAnswer;
|
import com.worker.domain.entity.CpAnswer;
|
||||||
import com.worker.dto.SinmungoDto;
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface CpAnswerRepository extends JpaRepository<CpAnswer,Integer> {
|
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;
|
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 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
|
@Repository
|
||||||
|
@RequiredArgsConstructor
|
||||||
public class DbPollingQueryDslRepository {
|
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