http://jira.mfd.msk:8088/browse/BKI-3198 Allow users get list of reports for packages in PROCESSING status
This commit is contained in:
parent
53f36a47b0
commit
5acda45438
5 changed files with 23 additions and 2 deletions
|
|
@ -304,7 +304,7 @@ public class SignalFacade {
|
||||||
|
|
||||||
public ResponseEntity<MonitoringReportListResponse> getReportList(String username, String packageName) {
|
public ResponseEntity<MonitoringReportListResponse> getReportList(String username, String packageName) {
|
||||||
try {
|
try {
|
||||||
if (!signalService.isPackageExists(username, packageName)) {
|
if (!signalService.hasActivePackages(username, packageName)) {
|
||||||
throw clientExcp(SignalError.ERROR_012, XmlErrorFormat.MonitoringReportListError, packageName);
|
throw clientExcp(SignalError.ERROR_012, XmlErrorFormat.MonitoringReportListError, packageName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,8 @@ public interface UserPackageMapper {
|
||||||
|
|
||||||
boolean isPackageExists(@Param("userId") String userId, @Param("packageName") String packageName, @Param("status") String status);
|
boolean isPackageExists(@Param("userId") String userId, @Param("packageName") String packageName, @Param("status") String status);
|
||||||
|
|
||||||
|
boolean hasActivePackages(@Param("userId") String userId, @Param("packageName") String packageName, @Param("statuses") List<String> statuses);
|
||||||
|
|
||||||
void deletePackage(@Param("userId") String userId, @Param("packageName") String packageName, @Param("status") String newStatus, @Param("previousStatus") String previousStatus, @Param("deactivatedAt") LocalDateTime deactivatedAt);
|
void deletePackage(@Param("userId") String userId, @Param("packageName") String packageName, @Param("status") String newStatus, @Param("previousStatus") String previousStatus, @Param("deactivatedAt") LocalDateTime deactivatedAt);
|
||||||
|
|
||||||
Integer insertPackage(@Param("userPackage") UserPackage userPackage);
|
Integer insertPackage(@Param("userPackage") UserPackage userPackage);
|
||||||
|
|
@ -27,5 +29,4 @@ public interface UserPackageMapper {
|
||||||
List<UserPackage> findUserPackages(@Param("userId") String userId, @Param("statuses") List<String> status);
|
List<UserPackage> findUserPackages(@Param("userId") String userId, @Param("statuses") List<String> status);
|
||||||
|
|
||||||
List<UserPackage> findAllPackagesByStatus(@Param("status") String status);
|
List<UserPackage> findAllPackagesByStatus(@Param("status") String status);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -290,6 +290,10 @@ public class SignalService {
|
||||||
return userPackageService.isPackageExists(username, packageName, Status.ON_MONITORING);
|
return userPackageService.isPackageExists(username, packageName, Status.ON_MONITORING);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hasActivePackages(String username, String packageName) {
|
||||||
|
return userPackageService.hasActivePackages(username, packageName, Status.ON_MONITORING, Status.PROCESSING);
|
||||||
|
}
|
||||||
|
|
||||||
public void deletePackage(String username, String packageName, LocalDateTime deactivatedAt) {
|
public void deletePackage(String username, String packageName, LocalDateTime deactivatedAt) {
|
||||||
userPackageService.deletePackage(username, packageName, Status.DELETED, Status.ON_MONITORING, deactivatedAt);
|
userPackageService.deletePackage(username, packageName, Status.DELETED, Status.ON_MONITORING, deactivatedAt);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,10 @@ public class UserPackageService {
|
||||||
return mapper.isPackageExists(userId.substring(0, 6), packageName, status.name());
|
return mapper.isPackageExists(userId.substring(0, 6), packageName, status.name());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hasActivePackages(String userId, String packageName, Status... status) {
|
||||||
|
return mapper.hasActivePackages(userId.substring(0, 6), packageName, Arrays.stream(status).map(Enum::name).toList());
|
||||||
|
}
|
||||||
|
|
||||||
public void deletePackage(String userId, String packageName, Status newStatus, Status previousStatus, LocalDateTime deactivatedAt) {
|
public void deletePackage(String userId, String packageName, Status newStatus, Status previousStatus, LocalDateTime deactivatedAt) {
|
||||||
mapper.deletePackage(userId.substring(0, 6), packageName, newStatus.name(), previousStatus.name(), deactivatedAt);
|
mapper.deletePackage(userId.substring(0, 6), packageName, newStatus.name(), previousStatus.name(), deactivatedAt);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,18 @@
|
||||||
AND status = #{status}
|
AND status = #{status}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="hasActivePackages" resultType="boolean">
|
||||||
|
SELECT COUNT(*) > 0
|
||||||
|
FROM signals_user_packages
|
||||||
|
WHERE membercode IS NOT NULL
|
||||||
|
AND LEFT(membercode, 6) = #{userId}
|
||||||
|
AND package_name = #{packageName}
|
||||||
|
AND status IN
|
||||||
|
<foreach item="status" collection="statuses" open="(" separator="," close=")">
|
||||||
|
#{status}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
|
|
||||||
<update id="deletePackage">
|
<update id="deletePackage">
|
||||||
UPDATE signals_user_packages
|
UPDATE signals_user_packages
|
||||||
SET status = #{status}, deactivated_at = #{deactivatedAt}
|
SET status = #{status}, deactivated_at = #{deactivatedAt}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue