lkd9125(이경도)
10 months ago
5 changed files with 0 additions and 213 deletions
@ -1,32 +0,0 @@ |
|||||||
package com.palnet.biz.api.comn.coordinate.controller; |
|
||||||
|
|
||||||
import org.springframework.http.ResponseEntity; |
|
||||||
import org.springframework.web.bind.annotation.GetMapping; |
|
||||||
import org.springframework.web.bind.annotation.RequestMapping; |
|
||||||
import org.springframework.web.bind.annotation.RestController; |
|
||||||
|
|
||||||
import com.palnet.biz.api.comn.coordinate.model.CompotentAuthorityRQ; |
|
||||||
import com.palnet.biz.api.comn.coordinate.model.CompotentAuthorityRS; |
|
||||||
import com.palnet.biz.api.comn.coordinate.service.ComnCoordinateService; |
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor; |
|
||||||
import lombok.extern.slf4j.Slf4j; |
|
||||||
|
|
||||||
@RestController |
|
||||||
@RequiredArgsConstructor |
|
||||||
@RequestMapping("/api/comn/coordinate") |
|
||||||
@Slf4j |
|
||||||
public class ComnCoordinateController { |
|
||||||
|
|
||||||
private final ComnCoordinateService comnCoordinateService; |
|
||||||
|
|
||||||
@GetMapping("/comptent-authority") |
|
||||||
public ResponseEntity<CompotentAuthorityRS> getCompetentAuthority(CompotentAuthorityRQ rq){ |
|
||||||
log.warn("ComnCoordinateController - getCompetentAuthority()"); |
|
||||||
log.warn("RQ => {}", rq); |
|
||||||
|
|
||||||
CompotentAuthorityRS result = comnCoordinateService.getCompetentAuthority(rq); |
|
||||||
|
|
||||||
return ResponseEntity.ok().body(result); |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
package com.palnet.biz.api.comn.coordinate.model; |
|
||||||
|
|
||||||
import lombok.Data; |
|
||||||
|
|
||||||
@Data |
|
||||||
public class CompotentAuthorityRQ { |
|
||||||
|
|
||||||
private Double lat; |
|
||||||
|
|
||||||
private Double lon; |
|
||||||
|
|
||||||
} |
|
@ -1,14 +0,0 @@ |
|||||||
package com.palnet.biz.api.comn.coordinate.model; |
|
||||||
|
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
import com.palnet.biz.jpa.entity.FltCptAuthBas; |
|
||||||
|
|
||||||
import lombok.Data; |
|
||||||
|
|
||||||
@Data |
|
||||||
public class CompotentAuthorityRS { |
|
||||||
|
|
||||||
private List<FltCptAuthBas> fltCptpAuthBasList; |
|
||||||
|
|
||||||
} |
|
@ -1,111 +0,0 @@ |
|||||||
package com.palnet.biz.api.comn.coordinate.service; |
|
||||||
|
|
||||||
import java.io.IOException; |
|
||||||
import java.util.ArrayList; |
|
||||||
import java.util.Arrays; |
|
||||||
import java.util.HashSet; |
|
||||||
import java.util.List; |
|
||||||
import java.util.Set; |
|
||||||
|
|
||||||
import org.json.simple.JSONObject; |
|
||||||
import org.json.simple.parser.ParseException; |
|
||||||
import org.locationtech.jts.geom.Coordinate; |
|
||||||
import org.springframework.stereotype.Service; |
|
||||||
|
|
||||||
import com.palnet.biz.api.comn.coordinate.model.CompotentAuthorityRQ; |
|
||||||
import com.palnet.biz.api.comn.coordinate.model.CompotentAuthorityRS; |
|
||||||
import com.palnet.biz.jpa.entity.FltCptAuthBas; |
|
||||||
import com.palnet.biz.jpa.repository.flt.FltCptAuthAdminDistrictBasQueryRepository; |
|
||||||
import com.palnet.comn.utils.FlightUtils; |
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor; |
|
||||||
import lombok.extern.slf4j.Slf4j; |
|
||||||
|
|
||||||
@Service |
|
||||||
@RequiredArgsConstructor |
|
||||||
@Slf4j |
|
||||||
public class ComnCoordinateService { |
|
||||||
|
|
||||||
private final FltCptAuthAdminDistrictBasQueryRepository ffFltCptAuthAdminDistrictBasQueryRepository; |
|
||||||
|
|
||||||
|
|
||||||
public CompotentAuthorityRS getCompetentAuthority(CompotentAuthorityRQ rq){ |
|
||||||
|
|
||||||
Coordinate coord = new Coordinate(rq.getLon(), rq.getLat()); |
|
||||||
|
|
||||||
JSONObject code = new JSONObject(); |
|
||||||
try { |
|
||||||
code = FlightUtils.getPlace(coord, false); |
|
||||||
} catch (ParseException e) { |
|
||||||
e.printStackTrace(); |
|
||||||
} catch (IOException e){ |
|
||||||
e.printStackTrace(); |
|
||||||
} catch (Exception e){ |
|
||||||
e.printStackTrace(); |
|
||||||
} |
|
||||||
|
|
||||||
String[] scope = {"ctprvn", "sig", "emd", "li"}; |
|
||||||
final String cd = (String) code.get("CD"); |
|
||||||
|
|
||||||
Set<FltCptAuthBas> fltCptAuthBas = new HashSet<FltCptAuthBas>(); |
|
||||||
|
|
||||||
for(int i = 0; i < scope.length; i++){ |
|
||||||
|
|
||||||
String cdParam = this.codeParsing(cd, scope[i]); |
|
||||||
|
|
||||||
log.warn("cdParam => {}", cdParam); |
|
||||||
List<FltCptAuthBas> authList = ffFltCptAuthAdminDistrictBasQueryRepository.geFltCptAuthBas(cdParam); |
|
||||||
|
|
||||||
fltCptAuthBas.addAll(new HashSet<FltCptAuthBas>(authList)); |
|
||||||
} |
|
||||||
|
|
||||||
CompotentAuthorityRS result = new CompotentAuthorityRS(); |
|
||||||
result.setFltCptpAuthBasList(new ArrayList<>(fltCptAuthBas)); |
|
||||||
|
|
||||||
log.warn("result => {}", result); |
|
||||||
|
|
||||||
return result; |
|
||||||
} |
|
||||||
|
|
||||||
private String codeParsing(String cd, String scope){ |
|
||||||
|
|
||||||
switch (scope) { |
|
||||||
case "ctprvn": |
|
||||||
|
|
||||||
if(cd.length() < 2) break; |
|
||||||
|
|
||||||
cd = cd.substring(0, 2); |
|
||||||
break; |
|
||||||
case "sig": |
|
||||||
|
|
||||||
if(cd.length() < 5) break; |
|
||||||
|
|
||||||
cd = cd.substring(0, 5); |
|
||||||
break; |
|
||||||
case "emd": |
|
||||||
|
|
||||||
if(cd.length() < 8) break; |
|
||||||
|
|
||||||
cd = cd.substring(0, 8); |
|
||||||
break; |
|
||||||
case "li": |
|
||||||
|
|
||||||
if(cd.length() < 10) break; |
|
||||||
|
|
||||||
cd = cd.substring(0, 10); |
|
||||||
break; |
|
||||||
} |
|
||||||
|
|
||||||
int length = cd.length(); |
|
||||||
int maxLength = 10; |
|
||||||
|
|
||||||
int difference = maxLength - length; |
|
||||||
|
|
||||||
for(int i = 0; i < difference; i++){ |
|
||||||
cd += "0"; |
|
||||||
} |
|
||||||
|
|
||||||
return cd; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,44 +0,0 @@ |
|||||||
package com.palnet.biz.jpa.repository.flt; |
|
||||||
|
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
import org.springframework.stereotype.Repository; |
|
||||||
|
|
||||||
import com.palnet.biz.jpa.entity.FltCptAuthBas; |
|
||||||
import com.palnet.biz.jpa.entity.QFltCptAuthAdmDistrictRel; |
|
||||||
import com.palnet.biz.jpa.entity.QFltCptAuthBas; |
|
||||||
import com.querydsl.core.BooleanBuilder; |
|
||||||
import com.querydsl.jpa.impl.JPAQueryFactory; |
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor; |
|
||||||
import lombok.extern.slf4j.Slf4j; |
|
||||||
|
|
||||||
@Repository |
|
||||||
@RequiredArgsConstructor |
|
||||||
@Slf4j |
|
||||||
public class FltCptAuthAdminDistrictBasQueryRepository { |
|
||||||
|
|
||||||
private final JPAQueryFactory query; |
|
||||||
|
|
||||||
public List<FltCptAuthBas> geFltCptAuthBas(String cd){ |
|
||||||
|
|
||||||
QFltCptAuthAdmDistrictRel qFltCptAuthAdmDistrictRel = QFltCptAuthAdmDistrictRel.fltCptAuthAdmDistrictRel; |
|
||||||
QFltCptAuthBas qFltCptAuthBas = QFltCptAuthBas.fltCptAuthBas; |
|
||||||
|
|
||||||
BooleanBuilder builder = new BooleanBuilder(); |
|
||||||
builder.and(qFltCptAuthAdmDistrictRel.id.ADM_CD.like(cd+"%")); |
|
||||||
|
|
||||||
List<FltCptAuthBas> result = query |
|
||||||
.selectDistinct( |
|
||||||
qFltCptAuthBas |
|
||||||
) |
|
||||||
.from(qFltCptAuthAdmDistrictRel) |
|
||||||
.leftJoin(qFltCptAuthBas) |
|
||||||
.on(qFltCptAuthAdmDistrictRel.id.CPT_AUTH_CODE.eq(qFltCptAuthBas.cptAuthCode)) |
|
||||||
.where(builder) |
|
||||||
.fetch(); |
|
||||||
|
|
||||||
|
|
||||||
return result; |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue