http://jira.mfd.msk:8088/browse/BKI-3210 Added find all packages logic; Updated version to 1.12
This commit is contained in:
parent
5ec5c407ab
commit
a1a602d9e8
11 changed files with 76 additions and 7 deletions
|
|
@ -1,5 +1,5 @@
|
|||
#commons
|
||||
APP_VERSION=1.11
|
||||
APP_VERSION=1.12
|
||||
REGISTRY_URL=rh8-vm3.nbki.msk:5000
|
||||
JMX_PORT=
|
||||
JMX_HOSTNAME=
|
||||
|
|
|
|||
2
pom.xml
2
pom.xml
|
|
@ -10,7 +10,7 @@
|
|||
</parent>
|
||||
<groupId>ru.nbch</groupId>
|
||||
<artifactId>credit-tracker</artifactId>
|
||||
<version>1.11</version>
|
||||
<version>1.12</version>
|
||||
<name>credit_tracker</name>
|
||||
<description>Credit Tracker Application</description>
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,11 @@ public class SignalController {
|
|||
return signalFacade.findActivePackages(activePackagesRequest);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/all_packages", consumes = MediaType.APPLICATION_XML_VALUE, produces = MediaType.APPLICATION_XML_VALUE)
|
||||
public ResponseEntity<MonitoringActivePackagesResponse> findAllPackages(@RequestBody MonitoringActivePackagesRequest activePackagesRequest) {
|
||||
return signalFacade.findAllPackages(activePackagesRequest);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/delete", params = {"username", "packageName"}, produces = MediaType.APPLICATION_XML_VALUE)
|
||||
public ResponseEntity<MonitoringPackageDeleteResponse> deletePackage(@RequestParam("username") String username, @RequestParam("packageName") String packageName) {
|
||||
return signalFacade.deletePackage(username, packageName);
|
||||
|
|
|
|||
|
|
@ -15,5 +15,6 @@ public class UserPackage {
|
|||
private String packageName;
|
||||
private LocalDateTime createdAt;
|
||||
private String status;
|
||||
private LocalDateTime deactivatedAt;
|
||||
private String lastDownloadedReport;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,9 @@ import lombok.Setter;
|
|||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "", propOrder = {
|
||||
"packageName",
|
||||
"createdAt"
|
||||
"createdAt",
|
||||
"status",
|
||||
"deactivatedAt"
|
||||
})
|
||||
public class Package {
|
||||
|
||||
|
|
@ -20,4 +22,8 @@ public class Package {
|
|||
protected String packageName;
|
||||
@XmlElement(name = "CreatedAt", required = true)
|
||||
protected String createdAt;
|
||||
@XmlElement(name = "Status", required = false)
|
||||
protected String status;
|
||||
@XmlElement(name = "DeactivatedAt", required = false)
|
||||
protected String deactivatedAt;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,8 @@ public enum SignalError implements IEnumKeyCode {
|
|||
ERROR_014("014", "Файл не найден"),
|
||||
ERROR_015("015", "У данного пользователя не найдено активных пакетов"),
|
||||
ERROR_016("016", "Нет активного пакета с именем "),
|
||||
ERROR_017("017", "При обработке запроса произошла ошибка. Повторите запрос позже или обратитесь в службу технической поддержки"); // TODO get rid of duplicate?
|
||||
ERROR_017("017", "При обработке запроса произошла ошибка. Повторите запрос позже или обратитесь в службу технической поддержки"), // TODO get rid of duplicate?
|
||||
ERROR_019("019", "У данного пользователя не найдено ни одного пакета");
|
||||
|
||||
private final String code;
|
||||
private final String message;
|
||||
|
|
|
|||
|
|
@ -281,6 +281,43 @@ public class SignalFacade {
|
|||
}
|
||||
}
|
||||
|
||||
public ResponseEntity<MonitoringActivePackagesResponse> findAllPackages(MonitoringActivePackagesRequest activePackagesRequest) {
|
||||
try {
|
||||
AuthorizationService.AuthResult authResult = authorizationService.findAuthInfo(activePackagesRequest.getUserId(), activePackagesRequest.getPassword());
|
||||
if (!authResult.isSuccess()) {
|
||||
throw clientExcp(authResult.getError(), XmlErrorFormat.MonitoringActivePackagesError);
|
||||
}
|
||||
List<UserPackage> activePackages = signalService.findAllPackages(activePackagesRequest.getUserId());
|
||||
|
||||
if (!activePackages.isEmpty()) {
|
||||
MonitoringActivePackagesResponse response = new MonitoringActivePackagesResponse();
|
||||
response.setStatus("OK");
|
||||
response.setMembercode(activePackagesRequest.getUserId().substring(0, 6));
|
||||
Packages packages = new Packages();
|
||||
activePackages.forEach(data -> {
|
||||
Package pack = new Package();
|
||||
pack.setPackageName(data.getPackageName());
|
||||
pack.setCreatedAt(data.getCreatedAt() != null ? data.getCreatedAt().toString() : null);
|
||||
pack.setStatus(data.getStatus());
|
||||
if (data.getStatus().equals(Status.DELETED.name())) {
|
||||
pack.setDeactivatedAt(data.getDeactivatedAt() != null ? data.getDeactivatedAt().toString() : null);
|
||||
}
|
||||
packages.getPackages().add(pack);
|
||||
});
|
||||
response.setPackages(packages);
|
||||
return ResponseEntity.ok(response);
|
||||
} else {
|
||||
throw clientExcp(SignalError.ERROR_019, XmlErrorFormat.MonitoringActivePackagesError);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
if (e instanceof SignalClientException) {
|
||||
throw (SignalClientException) e;
|
||||
}
|
||||
log.error(e.getMessage(), e);
|
||||
throw serverExcp(SignalError.ERROR_013, XmlErrorFormat.MonitoringActivePackagesError);
|
||||
}
|
||||
}
|
||||
|
||||
public ResponseEntity<MonitoringPackageDeleteResponse> deletePackage(String username, String packageName) {
|
||||
try {
|
||||
if (!signalService.isPackageExists(username, packageName)) {
|
||||
|
|
|
|||
|
|
@ -29,4 +29,6 @@ public interface UserPackageMapper {
|
|||
List<UserPackage> findUserPackages(@Param("userId") String userId, @Param("statuses") List<String> status);
|
||||
|
||||
List<UserPackage> findAllPackagesByStatus(@Param("status") String status);
|
||||
|
||||
List<UserPackage> findAllPackagesByUserId(@Param("userId") String userId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -310,6 +310,10 @@ public class SignalService {
|
|||
return userPackageService.findUserPackages(userId, Status.ON_MONITORING, Status.PROCESSING);
|
||||
}
|
||||
|
||||
public List<UserPackage> findAllPackages(String userId) {
|
||||
return userPackageService.findAllPackagesByUserId(userId);
|
||||
}
|
||||
|
||||
public boolean isPackageExists(String username, String packageName) {
|
||||
return userPackageService.isPackageExists(username, packageName, Status.ON_MONITORING);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,6 +54,10 @@ public class UserPackageService {
|
|||
return mapper.findUserPackages(userId.substring(0, 6), Arrays.stream(status).map(Enum::name).toList());
|
||||
}
|
||||
|
||||
public List<UserPackage> findAllPackagesByUserId(String userId) {
|
||||
return mapper.findAllPackagesByUserId(userId.substring(0, 6));
|
||||
}
|
||||
|
||||
public List<UserPackage> findAllPackagesByStatus(Status status) {
|
||||
return mapper.findAllPackagesByStatus(status.name());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
<result property="packageName" column="package_name"/>
|
||||
<result property="createdAt" column="created_at"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="deactivatedAt" column="deactivated_at"/>
|
||||
<result property="lastDownloadedReport" column="last_downloaded_report"/>
|
||||
</resultMap>
|
||||
|
||||
|
|
@ -70,7 +71,7 @@
|
|||
|
||||
<select id="findPackage" resultMap="packageDataResultMap"
|
||||
resultType="ru.nbch.credit_tracker.entities.dto.UserPackage">
|
||||
SELECT id, membercode, package_name, created_at, status, last_downloaded_report
|
||||
SELECT id, membercode, package_name, created_at, status, deactivated_at, last_downloaded_report
|
||||
FROM signals_user_packages
|
||||
WHERE id = #{id}
|
||||
LIMIT 1
|
||||
|
|
@ -78,7 +79,7 @@
|
|||
|
||||
<select id="findUserPackages" resultMap="packageDataResultMap"
|
||||
resultType="ru.nbch.credit_tracker.entities.dto.UserPackage">
|
||||
SELECT id, membercode, package_name, created_at, status, last_downloaded_report
|
||||
SELECT id, membercode, package_name, created_at, status, deactivated_at, last_downloaded_report
|
||||
FROM signals_user_packages
|
||||
WHERE membercode IS NOT NULL
|
||||
AND LEFT(membercode, 6) = #{userId}
|
||||
|
|
@ -88,9 +89,17 @@
|
|||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="findAllPackagesByUserId" resultMap="packageDataResultMap"
|
||||
resultType="ru.nbch.credit_tracker.entities.dto.UserPackage">
|
||||
SELECT id, membercode, package_name, created_at, status, deactivated_at, last_downloaded_report
|
||||
FROM signals_user_packages
|
||||
WHERE membercode IS NOT NULL
|
||||
AND LEFT(membercode, 6) = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="findAllPackagesByStatus" resultMap="packageDataResultMap"
|
||||
resultType="ru.nbch.credit_tracker.entities.dto.UserPackage">
|
||||
SELECT id, membercode, package_name, created_at, status, last_downloaded_report
|
||||
SELECT id, membercode, package_name, created_at, status, deactivated_at, last_downloaded_report
|
||||
FROM signals_user_packages
|
||||
WHERE status = #{status}
|
||||
</select>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue