소스 검색

downloadStatus

guozhaoshun 6 년 전
부모
커밋
beaf8d7e4d

+ 8 - 0
rankin-api-web/src/main/java/cn/rankin/apiweb/controller/CallbackController.java

@@ -152,6 +152,14 @@ public class CallbackController {
         }
     }
 
+    @RequestMapping(value = "/download/status", method = RequestMethod.GET)
+    public APIResult<DownloadInfo> findDownloadStatus(@NeedUser DeviceUserVo user,
+                                                      @RequestParam("lessonId") String lessonId,
+                                                      @RequestParam("mac") String mac) {
+        DownloadInfo downloadInfo = downloadInfoService.findDownloadStatus(user.getUid(),lessonId, mac);
+        return APIResult.ok(downloadInfo);
+    }
+
     @RequestMapping(value = "/download/delete", method = RequestMethod.DELETE)
     public APIResult<Boolean> deleteByLessonUserId(@NeedUser DeviceUserVo user,
                                                    @RequestParam("lessonId") String lessonId,

+ 3 - 0
rankin-api-web/src/main/java/cn/rankin/apiweb/service/download/DownloadInfoClient.java

@@ -30,4 +30,7 @@ public interface DownloadInfoClient {
 
     @RequestMapping(value = "/download/fail", method = RequestMethod.PUT)
     boolean downloadFail(@RequestParam("uid") String uid, @RequestParam("mac") String mac);
+
+    @RequestMapping(value = "/download/status", method = RequestMethod.GET)
+    DownloadInfo findDownloadStatus(String uid, String lessonId, String mac);
 }

+ 4 - 0
rankin-api-web/src/main/java/cn/rankin/apiweb/service/download/DownloadInfoService.java

@@ -43,4 +43,8 @@ public class DownloadInfoService {
     public boolean downloadFail(String uid, String mac) {
         return downloadInfoClient.downloadFail(uid, mac);
     }
+
+    public DownloadInfo findDownloadStatus(String uid, String lessonId, String mac) {
+        return downloadInfoClient.findDownloadStatus(uid,lessonId,mac);
+    }
 }

+ 14 - 0
rankin-user-service/src/main/java/cn/rankin/userservice/controller/DownloadInfoController.java

@@ -101,4 +101,18 @@ public class DownloadInfoController {
         return downloadInfoService.setUpdateByLessonId(lessonId);
     }
 
+    /**
+     * 查询下载进度
+     * @param uid
+     * @param lessonId
+     * @param mac
+     * @return
+     */
+    @RequestMapping(value = "/status", method = RequestMethod.GET)
+    public DownloadInfo findDownloadStatus(@RequestParam("uid") String uid,
+                                           @RequestParam("lessonId") String lessonId,
+                                           @RequestParam("mac") String mac){
+        return downloadInfoService.findDownloadStatus(uid, lessonId, mac);
+    }
+
 }

+ 3 - 0
rankin-user-service/src/main/java/cn/rankin/userservice/repository/DownloadInfoRepository.java

@@ -31,4 +31,7 @@ public interface DownloadInfoRepository extends BasicJpaRepository<DownloadInfo,
     @Modifying
     @Query(value = "update DownloadInfo info set info.downloadStatus = ?3 where info.userId = ?1 AND info.mac = ?2")
     int updateDownloadFail(String uid, String mac, int failDownload);
+
+    @Query(value = "select info from DownloadInfo info where info.userId = ?1 AND info.lessonId = ?2  AND info.mac = ?3 AND info.downloadStatus = 2 ORDER BY info.gmtCreated DESC ")
+    DownloadInfo findDownloadStatus(String uid, String lessonId, String mac);
 }

+ 4 - 0
rankin-user-service/src/main/java/cn/rankin/userservice/service/DownloadInfoService.java

@@ -108,4 +108,8 @@ public class DownloadInfoService {
         downloadInfoRepository.updateDownloadFail(uid, mac, DownloadStatus.FAIL_DOWNLOAD);
         return true;
     }
+
+    public DownloadInfo findDownloadStatus(String uid, String lessonId, String mac) {
+        return downloadInfoRepository.findDownloadStatus(uid, lessonId, mac);
+    }
 }