판매점/사용자 동기화 파라메터 추가 ,
판매점/사용자 전체 동기화 API 추가 , Qsp Interface 시간 증가, get인 경우 파라메터 넘기도록 수정
This commit is contained in:
parent
5993c28e55
commit
b73796a672
@ -7,6 +7,7 @@ import com.interplug.qcast.biz.storeFavorite.dto.StoreFavoriteRequest;
|
||||
import com.interplug.qcast.biz.user.UserService;
|
||||
import com.interplug.qcast.biz.user.dto.StoreRequest;
|
||||
import com.interplug.qcast.biz.user.dto.StoreSyncResponse;
|
||||
import com.interplug.qcast.biz.user.dto.StoreSyncResquest;
|
||||
import com.interplug.qcast.biz.user.dto.UserRequest;
|
||||
import com.interplug.qcast.util.InterfaceQsp;
|
||||
import java.util.Collections;
|
||||
@ -56,9 +57,12 @@ public class StoreJobConfiguration implements JobExecutionListener {
|
||||
public void beforeJob(JobExecution jobExecution) {
|
||||
log.info("Job 시작: 초기화 메서드 호출 중...");
|
||||
try {
|
||||
StoreSyncResquest storeSyncResquest = new StoreSyncResquest();
|
||||
storeSyncResquest.setAllYn("N"); // 전체가 아닌 날짜조건으로 조회
|
||||
|
||||
this.storeSyncResponse =
|
||||
interfaceQsp.callApiData(
|
||||
HttpMethod.GET, qspMasterStoreBatchUrl, null, StoreSyncResponse.class);
|
||||
HttpMethod.GET, qspMasterStoreBatchUrl, storeSyncResquest, StoreSyncResponse.class);
|
||||
log.info("API 호출 완료, 항목 수: {}", this.storeSyncResponse.getStoreList().size());
|
||||
} catch (Exception e) {
|
||||
log.error("storeSyncResponse 갱신 중 오류: {}", e.getMessage());
|
||||
|
||||
@ -1,17 +1,17 @@
|
||||
package com.interplug.qcast.biz.user;
|
||||
|
||||
import com.interplug.qcast.biz.user.dto.StoreRequest;
|
||||
import com.interplug.qcast.biz.user.dto.StoreSyncResquest;
|
||||
import com.interplug.qcast.biz.user.dto.UserRequest;
|
||||
import com.interplug.qcast.biz.user.dto.UserResponse;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import java.util.List;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/api/user")
|
||||
@ -20,6 +20,21 @@ import java.util.List;
|
||||
public class UserController {
|
||||
private final UserService userService;
|
||||
|
||||
@Operation(description = "전체 판매점/사용자 정보를 동기화 한다.")
|
||||
@GetMapping("/all-store-additional")
|
||||
@ResponseStatus(HttpStatus.OK)
|
||||
public UserResponse SetAllStoreAdditional(StoreSyncResquest storeSyncResquest) throws Exception {
|
||||
UserResponse userResponse = new UserResponse();
|
||||
try {
|
||||
userService.setAllStoreAdditional(storeSyncResquest);
|
||||
userResponse.setCode("200");
|
||||
} catch (Exception e) {
|
||||
userResponse.setCode("500");
|
||||
userResponse.setMessage(e.getMessage());
|
||||
}
|
||||
return userResponse;
|
||||
}
|
||||
|
||||
@Operation(description = "판매점 정보를 등록/수정 한다.(동기화)")
|
||||
@PutMapping("/store-save")
|
||||
@ResponseStatus(HttpStatus.OK)
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package com.interplug.qcast.biz.user;
|
||||
|
||||
import com.interplug.qcast.biz.user.dto.AdminUserSyncResponse;
|
||||
import com.interplug.qcast.biz.user.dto.BusinessChargerSyncResponse;
|
||||
import com.interplug.qcast.biz.user.dto.StoreRequest;
|
||||
import com.interplug.qcast.biz.user.dto.UserRequest;
|
||||
import com.interplug.qcast.biz.user.dto.*;
|
||||
import com.interplug.qcast.util.InterfaceQsp;
|
||||
import java.util.List;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Slf4j
|
||||
@ -14,6 +14,10 @@ import org.springframework.stereotype.Service;
|
||||
@RequiredArgsConstructor
|
||||
public class UserService {
|
||||
private final UserMapper userMapper;
|
||||
private final InterfaceQsp interfaceQsp;
|
||||
|
||||
@Value("${qsp.master-store-batch-url}")
|
||||
private String qspMasterStoreBatchUrl;
|
||||
|
||||
/**
|
||||
* 판매점 정보 저장
|
||||
@ -120,4 +124,29 @@ public class UserService {
|
||||
}
|
||||
return cnt;
|
||||
}
|
||||
|
||||
/**
|
||||
* 전체 판매점,사용자 정보 동기화
|
||||
*
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public void setAllStoreAdditional(StoreSyncResquest storeSyncResquest) throws Exception {
|
||||
|
||||
StoreSyncResponse storeSyncResponse =
|
||||
interfaceQsp.callApiData(
|
||||
HttpMethod.GET, qspMasterStoreBatchUrl, storeSyncResquest, StoreSyncResponse.class);
|
||||
|
||||
List<StoreRequest> storeList = storeSyncResponse.getStoreList();
|
||||
for (StoreRequest storeRequest : storeList) {
|
||||
userMapper.setStoreSave(storeRequest);
|
||||
userMapper.setStoreSapCdSave(storeRequest);
|
||||
userMapper.setStoreNorthModuleSave(storeRequest);
|
||||
}
|
||||
|
||||
List<UserRequest> userList = storeSyncResponse.getUserList();
|
||||
for (UserRequest userRequest : userList) {
|
||||
userMapper.setUserSave(userRequest);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,13 @@
|
||||
package com.interplug.qcast.biz.user.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class StoreSyncResquest {
|
||||
|
||||
@Schema(description = "전체여부")
|
||||
private String allYn;
|
||||
}
|
||||
@ -44,10 +44,23 @@ public class InterfaceQsp {
|
||||
StringBuilder sb = null;
|
||||
|
||||
try {
|
||||
|
||||
// GET 요청 시 requestObject를 쿼리 스트링으로 변환
|
||||
if (HttpMethod.GET.equals(httpMethod) && requestObject != null) {
|
||||
ObjectMapper om = new ObjectMapper();
|
||||
Map<String, Object> params = om.convertValue(requestObject, Map.class); // Object -> Map 변환
|
||||
String queryString =
|
||||
params.entrySet().stream()
|
||||
.map(entry -> entry.getKey() + "=" + entry.getValue())
|
||||
.reduce((p1, p2) -> p1 + "&" + p2)
|
||||
.orElse("");
|
||||
apiPath += "?" + queryString; // 쿼리 스트링 추가
|
||||
}
|
||||
|
||||
url = new URL(apiPath);
|
||||
con = (HttpURLConnection) url.openConnection();
|
||||
con.setConnectTimeout(30000); // 서버에 연결되는 Timeout 시간 설정
|
||||
con.setReadTimeout(30000); // InputStream 읽어 오는 Timeout 시간 설정
|
||||
con.setConnectTimeout(120000); // 서버에 연결되는 Timeout 시간 설정
|
||||
con.setReadTimeout(120000); // InputStream 읽어 오는 Timeout 시간 설정
|
||||
con.setRequestMethod(httpMethod.toString());
|
||||
con.setRequestProperty("Content-Type", "application/json");
|
||||
con.setDoInput(true);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user