-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAndroidAppVersionService.java
More file actions
44 lines (35 loc) · 1.58 KB
/
AndroidAppVersionService.java
File metadata and controls
44 lines (35 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package bitnagil.bitnagil_backend.appVersion.service;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import bitnagil.bitnagil_backend.appVersion.Repository.AndroidAppVersionRepository;
import bitnagil.bitnagil_backend.appVersion.domain.AndroidAppVersion;
import bitnagil.bitnagil_backend.appVersion.response.ForceUpdateResponse;
import lombok.RequiredArgsConstructor;
@Service
@RequiredArgsConstructor
public class AndroidAppVersionService {
private final AndroidAppVersionRepository androidAppVersionRepository;
@Transactional(readOnly = true)
public ForceUpdateResponse validateForceUpdateRequired(Integer clientMajor, Integer clientMinor) {
AndroidAppVersion latestVersion = androidAppVersionRepository.findFirstByOrderByMajorDescMinorDesc();
// major 비교
if (clientMajor < latestVersion.getMajor()) {
// major 버전이 최소 요구 major 버전보다 낮으면 강제 업데이트 필요
return ForceUpdateResponse.builder()
.forceUpdateYn(true)
.build();
}
if (clientMajor.equals(latestVersion.getMajor())) {
// major 같으면 minor 비교
if (clientMinor < latestVersion.getMinor()) {
return ForceUpdateResponse.builder()
.forceUpdateYn(true)
.build();
}
}
// 강제 업데이트 필요하지 않은 경우
return ForceUpdateResponse.builder()
.forceUpdateYn(false)
.build();
}
}