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) {
|
||||
try {
|
||||
if (!signalService.isPackageExists(username, packageName)) {
|
||||
if (!signalService.hasActivePackages(username, 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 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);
|
||||
|
||||
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> findAllPackagesByStatus(@Param("status") String status);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -290,6 +290,10 @@ public class SignalService {
|
|||
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) {
|
||||
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());
|
||||
}
|
||||
|
||||
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) {
|
||||
mapper.deletePackage(userId.substring(0, 6), packageName, newStatus.name(), previousStatus.name(), deactivatedAt);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,6 +31,18 @@
|
|||
AND status = #{status}
|
||||
</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 signals_user_packages
|
||||
SET status = #{status}, deactivated_at = #{deactivatedAt}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue