Browse Source

refactor: domainService 메소드 명 변경

pull/9/head
lkd9125(이경도) 7 months ago
parent
commit
4fbdf7ac9a
  1. 15
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/query/FltPlanBasJoinAreaModel.java
  2. 30
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanQueryRepository.java
  3. 5
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/service/FltPlanDomainService.java
  4. 12
      data/pty/src/main/java/kr/co/palnet/kac/data/pty/service/PtyGroupDomainService.java
  5. 2
      web/api-flight/src/main/java/kr/co/palnet/kac/api/v1/flight/laanc/service/FlightLaancService.java
  6. 17
      web/api-flight/src/main/java/kr/co/palnet/kac/api/v1/flight/plan/controller/FlightPlanController.java
  7. 23
      web/api-flight/src/main/java/kr/co/palnet/kac/api/v1/flight/plan/model/schedule/SearchPlanScheduleRS.java
  8. 38
      web/api-flight/src/main/java/kr/co/palnet/kac/api/v1/flight/plan/service/FlightPlanService.java
  9. 10
      web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/service/UserAccountService.java

15
data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/query/FltPlanBasJoinAreaModel.java

@ -0,0 +1,15 @@
package kr.co.palnet.kac.data.flt.model.query;
import lombok.Data;
@Data
public class FltPlanBasJoinAreaModel {
private Long planSno;
private String groupId;
private String ownerNm;
private String idntfNum;
}

30
data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanQueryRepository.java

@ -1,12 +1,14 @@
package kr.co.palnet.kac.data.flt.repository;
import com.querydsl.core.BooleanBuilder;
import com.querydsl.core.types.Projections;
import com.querydsl.jpa.impl.JPAQuery;
import com.querydsl.jpa.impl.JPAQueryFactory;
import kr.co.palnet.kac.data.flt.model.FltPlanBas;
import kr.co.palnet.kac.data.flt.model.QFltPlanArcrft;
import kr.co.palnet.kac.data.flt.model.QFltPlanArea;
import kr.co.palnet.kac.data.flt.model.QFltPlanBas;
import kr.co.palnet.kac.data.flt.model.query.FltPlanBasJoinAreaModel;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository;
@ -50,4 +52,32 @@ public class FltPlanQueryRepository {
.orderBy(bas.createDt.desc())
.fetch());
}
public Optional<List<FltPlanBasJoinAreaModel>> findAllBySearch(String serachDate){
QFltPlanBas fltPlanBas = QFltPlanBas.fltPlanBas;
QFltPlanArcrft fltPlanArcrft = QFltPlanArcrft.fltPlanArcrft;
LocalDateTime searchDateParam = LocalDate.parse(serachDate).atStartOfDay();
BooleanBuilder builder = new BooleanBuilder();
builder.and(fltPlanBas.schFltStDt.loe(searchDateParam))
.and(fltPlanBas.schFltEndDt.goe(searchDateParam))
.and(fltPlanBas.aprvlYn.eq("Y"));
return Optional.ofNullable(query.
select(Projections.bean(
FltPlanBasJoinAreaModel.class,
fltPlanBas.planSno,
fltPlanBas.groupId,
fltPlanArcrft.ownerNm,
fltPlanArcrft.idntfNum
))
.from(fltPlanBas)
.leftJoin(fltPlanArcrft)
.on(fltPlanBas.planSno.eq(fltPlanArcrft.planSno))
.where(builder)
.fetch());
}
}

5
data/flt/src/main/java/kr/co/palnet/kac/data/flt/service/FltPlanDomainService.java

@ -1,6 +1,7 @@
package kr.co.palnet.kac.data.flt.service;
import kr.co.palnet.kac.data.flt.model.*;
import kr.co.palnet.kac.data.flt.model.query.FltPlanBasJoinAreaModel;
import kr.co.palnet.kac.data.flt.repository.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -32,6 +33,10 @@ public class FltPlanDomainService {
return fltPlanQueryRepository.findAllBySearch(memberName, createStDate, createEndDate);
}
public Optional<List<FltPlanBasJoinAreaModel>> findAllFltPlanBasBySearch(String searchDate){
return fltPlanQueryRepository.findAllBySearch(searchDate);
}
public Optional<FltPlanBas> findById(Long planSno){
return fltPlanBasRepository.findById(planSno);
}

12
data/pty/src/main/java/kr/co/palnet/kac/data/pty/service/PtyGroupDomainService.java

@ -20,23 +20,23 @@ public class PtyGroupDomainService {
private final PtyCstmrGroupRepository ptyCstmrGroupRepository;
public Optional<List<PtyCstmrGroup>> findJoinGroupByCstmrSno(Long cstmrSno){
public Optional<List<PtyCstmrGroup>> findPtyCstmrGroupJoinGroupByCstmrSno(Long cstmrSno){
return ptyCstmrGroupRepository.findByCstmrSnoAndJoinYn(cstmrSno, "Y");
}
public Optional<List<PtyCstmrGroup>> findByGroupId(String groupId){
public Optional<List<PtyCstmrGroup>> findPtyCstmrGroupByGroupId(String groupId){
return ptyCstmrGroupRepository.findByGroupId(groupId);
}
public Optional<List<PtyGroupBas>> findByGroupNm(String groupNm){
public Optional<List<PtyGroupBas>> findPtyGroupBasByGroupNm(String groupNm){
return ptyGroupBasRepository.findByGroupNm(groupNm);
}
public Optional<List<PtyCstmrGroup>> findByCstmrSno(Long cstmrSno){
public Optional<List<PtyCstmrGroup>> findPtyCstmrGroupByCstmrSno(Long cstmrSno){
return ptyCstmrGroupRepository.findByCstmrSno(cstmrSno);
}
public Optional<PtyCstmrGroup> findByGroupIdAndCstmrSno(String groupId, Long cstmrSno){
public Optional<PtyCstmrGroup> findPtyCstmrGroupByGroupIdAndCstmrSno(String groupId, Long cstmrSno){
return ptyCstmrGroupRepository.findByGroupIdAndCstmrSno(groupId, cstmrSno);
}
@ -44,7 +44,7 @@ public class PtyGroupDomainService {
return ptyCstmrGroupRepository.save(entity);
}
public PtyGroupBas findById(String id){
public PtyGroupBas findPtyGroupBasById(String id){
return ptyGroupBasRepository.findById(id).orElse(null);
}

2
web/api-flight/src/main/java/kr/co/palnet/kac/api/v1/flight/laanc/service/FlightLaancService.java

@ -119,7 +119,7 @@ public class FlightLaancService {
String groupId = "";
String groupNm = "";
Optional<List<PtyGroupBas>> kacData = ptyGroupDomainService.findByGroupNm("KAC");
Optional<List<PtyGroupBas>> kacData = ptyGroupDomainService.findPtyGroupBasByGroupNm("KAC");
if (kacData.isPresent() && !kacData.get().isEmpty()) {
List<PtyGroupBas> kac = kacData.get();

17
web/api-flight/src/main/java/kr/co/palnet/kac/api/v1/flight/plan/controller/FlightPlanController.java

@ -1,15 +1,15 @@
package kr.co.palnet.kac.api.v1.flight.plan.controller;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.enums.ParameterIn;
import kr.co.palnet.kac.api.v1.flight.plan.model.buffer.CreateBufferModel;
import kr.co.palnet.kac.api.v1.flight.plan.model.schedule.SearchPlanScheduleRS;
import kr.co.palnet.kac.api.v1.flight.plan.service.FlightPlanService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
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.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -30,4 +30,13 @@ public class FlightPlanController {
return ResponseEntity.ok().body(result);
}
@GetMapping("/schedule")
@Operation(summary = "비행 운항 스케줄 조회", description = "비행 현황 스케줄 정보를 조회하는 API 입니다.")
public ResponseEntity<Object> getPlanSchedule(@Parameter(name="searchDate", description = "검색 날짜", in = ParameterIn.QUERY, example = "2023-11-15") @RequestParam("searchDate") String searchDate){
List<SearchPlanScheduleRS> result = flightPlanService.getPlanSchedule(searchDate);
return ResponseEntity.ok().body(result);
}
}

23
web/api-flight/src/main/java/kr/co/palnet/kac/api/v1/flight/plan/model/schedule/SearchPlanScheduleRS.java

@ -0,0 +1,23 @@
package kr.co.palnet.kac.api.v1.flight.plan.model.schedule;
import lombok.Data;
import java.time.Instant;
@Data
public class SearchPlanScheduleRS {
private String groupId;
private String groupNm;
private String ownerNm;
private String idntfNum;
private String startAddress;
private String endAddress;
private Instant schFltStDt;
private Instant schFltEndDt;
private String cntrlId;
private Instant cntrlStDt;
private Instant cntrlEndDt;
// BEFORE (B) : 비행 전, FLYING (F) : 비행 중, SUCCESS (S) : 비행 완료
private String statusCd;
}

38
web/api-flight/src/main/java/kr/co/palnet/kac/api/v1/flight/plan/service/FlightPlanService.java

@ -5,18 +5,30 @@ import kr.co.palnet.kac.api.util.model.FlightPlanAreaCoordModel;
import kr.co.palnet.kac.api.v1.flight.laanc.model.create.BasLaancAreaCoordModel;
import kr.co.palnet.kac.api.v1.flight.plan.model.buffer.BufferAreaCoordModel;
import kr.co.palnet.kac.api.v1.flight.plan.model.buffer.CreateBufferModel;
import kr.co.palnet.kac.api.v1.flight.plan.model.schedule.SearchPlanScheduleRS;
import kr.co.palnet.kac.data.flt.model.FltPlanBas;
import kr.co.palnet.kac.data.flt.model.query.FltPlanBasJoinAreaModel;
import kr.co.palnet.kac.data.flt.service.FltPlanDomainService;
import kr.co.palnet.kac.data.pty.service.PtyGroupDomainService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.locationtech.jts.geom.Coordinate;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@Service
@Slf4j
@RequiredArgsConstructor
public class FlightPlanService {
private final FltPlanDomainService fltPlanDomainService;
private final PtyGroupDomainService ptyGroupDomainService;
private final AreaUtils areaUtils;
public List<CreateBufferModel> createBuffer(List<CreateBufferModel> rq) {
@ -40,4 +52,30 @@ public class FlightPlanService {
return rq;
}
public List<SearchPlanScheduleRS> getPlanSchedule(String searchDate) {
Optional<List<FltPlanBasJoinAreaModel>> fltPlanBasJoinAreaData = fltPlanDomainService.findAllFltPlanBasBySearch(searchDate);
List<SearchPlanScheduleRS> result = new ArrayList<>();
if(fltPlanBasJoinAreaData.isPresent()){
List<FltPlanBasJoinAreaModel> planJoinArea = fltPlanBasJoinAreaData.get();
for(FltPlanBasJoinAreaModel model : planJoinArea){
SearchPlanScheduleRS node = new SearchPlanScheduleRS();
ptyGroupDomainService.
result.add(node);
}
}
return result;
}
}

10
web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/service/UserAccountService.java

@ -90,7 +90,7 @@ public class UserAccountService {
if(cstmrSno == null) return;
Optional<List<PtyCstmrGroup>> groupData = ptyGroupDomainService.findJoinGroupByCstmrSno(cstmrSno);
Optional<List<PtyCstmrGroup>> groupData = ptyGroupDomainService.findPtyCstmrGroupJoinGroupByCstmrSno(cstmrSno);
if(groupData.isPresent() && !groupData.get().isEmpty()){
@ -99,7 +99,7 @@ public class UserAccountService {
for(PtyCstmrGroup group : groupInfo) {
// 회원의 그룹 권한이 MASTER 일 경우
if(group.getGroupAuthCd().equals("MASTER")) {
PtyGroupBas groupEntity = ptyGroupDomainService.findById(group.getGroupId());
PtyGroupBas groupEntity = ptyGroupDomainService.findPtyGroupBasById(group.getGroupId());
// 그룹이 있을경우 그룹의 사용여부 "N" 값으로 저장
if(groupEntity != null) {
@ -108,7 +108,7 @@ public class UserAccountService {
}
// 탈퇴하는 회원이 그룹의 MASTER일 경우 그룹 참여자의 Join여부를 N으로 업데이트 함
Optional<List<PtyCstmrGroup>> cstmrEntityData = ptyGroupDomainService.findByGroupId(group.getGroupId());
Optional<List<PtyCstmrGroup>> cstmrEntityData = ptyGroupDomainService.findPtyCstmrGroupByGroupId(group.getGroupId());
// cstmrEntity 값이 있을 경우 참여여부 "N" 값으로 저장
if(cstmrEntityData.isPresent()) {
@ -123,7 +123,7 @@ public class UserAccountService {
}
// 회원 고유번호로 데이터베이스에서 그룹참여정보 가져옴
Optional<List<PtyCstmrGroup>> aprvlEntityData = ptyGroupDomainService.findByCstmrSno(cstmrSno);
Optional<List<PtyCstmrGroup>> aprvlEntityData = ptyGroupDomainService.findPtyCstmrGroupByCstmrSno(cstmrSno);
// AprvlEntity[그룹참여 정보가] 있을경우
if(aprvlEntityData.isPresent()) {
@ -138,7 +138,7 @@ public class UserAccountService {
}
// 그룹 참여여부를 "N"값으로 저장
Optional<PtyCstmrGroup> cstmrEntityData = ptyGroupDomainService.findByGroupIdAndCstmrSno(group.getGroupId(), cstmrSno);
Optional<PtyCstmrGroup> cstmrEntityData = ptyGroupDomainService.findPtyCstmrGroupByGroupIdAndCstmrSno(group.getGroupId(), cstmrSno);
if(cstmrEntityData.isPresent()) {
PtyCstmrGroup cstmrEntity = cstmrEntityData.get();

Loading…
Cancel
Save