Selaa lähdekoodia

新增下载失败接口

guozhaoshun 6 vuotta sitten
vanhempi
commit
7b96a75c3b

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

@@ -162,6 +162,13 @@ public class CallbackController {
         return APIResult.ok();
     }
 
+    @RequestMapping(value = "/download/fail", method = RequestMethod.PUT)
+    public APIResult<Boolean> downloadFail(@NeedUser DeviceUserVo user,
+                                                   @RequestParam("mac") String mac) {
+        boolean flag = downloadInfoService.downloadFail(user.getUid(), mac);
+        return APIResult.ok();
+    }
+
     @RequestMapping(value = "/download/update", method = RequestMethod.PUT)
     public APIResult<Boolean> updateByLessonUserId(@NeedUser DeviceUserVo user,
                                                    @RequestParam("lessonId") String lessonId,

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

@@ -27,4 +27,7 @@ public interface DownloadInfoClient {
 
     @RequestMapping(value = "/download/update", method = RequestMethod.PUT)
     DownloadInfo update(@RequestBody DownloadInfo downloadInfo);
+
+    @RequestMapping(value = "/download/fail", method = RequestMethod.PUT)
+    boolean downloadFail(@RequestParam("uid") String uid, @RequestParam("mac") String mac);
 }

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

@@ -1,5 +1,6 @@
 package cn.rankin.apiweb.service.download;
 
+import cn.rankin.common.utils.api.model.APIResult;
 import cn.rankin.data.api.user.dto.DownloadInfoDTO;
 import cn.rankin.data.api.user.entity.DownloadInfo;
 import lombok.extern.slf4j.Slf4j;
@@ -39,4 +40,8 @@ public class DownloadInfoService {
     public synchronized DownloadInfo update(DownloadInfo downloadInfo) {
         return downloadInfoClient.update(downloadInfo);
     }
+
+    public boolean downloadFail(String uid, String mac) {
+        return downloadInfoClient.downloadFail(uid, mac);
+    }
 }

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

@@ -54,6 +54,12 @@ public class DownloadInfoController {
         return downloadInfoService.updateByLessonUserId(uid, lessonId, mac);
     }
 
+    @RequestMapping(value = "/fail", method = RequestMethod.PUT)
+    public boolean downloadFail(@RequestParam("uid") String uid,
+                                             @RequestParam("mac") String mac){
+        return downloadInfoService.downloadFail(uid, mac);
+    }
+
     @RequestMapping(value = "/update", method = RequestMethod.PUT)
     public DownloadInfo update(@RequestBody DownloadInfo downloadInfo){
         return downloadInfoService.update(downloadInfo);

+ 5 - 1
rankin-user-service/src/main/java/cn/rankin/userservice/repository/DownloadInfoRepository.java

@@ -21,10 +21,14 @@ public interface DownloadInfoRepository extends BasicJpaRepository<DownloadInfo,
     DownloadInfo findByLessonUserId(String uid, String lessonId, String mac);
 
     @Modifying
-    @Query(value = "update DownloadInfo info set info.status = ?3 where info.userId = ?1 and info.lessonId = ?2   AND info.mac = ?3 ")
+    @Query(value = "update DownloadInfo info set info.status = ?4 where info.userId = ?1 and info.lessonId = ?2   AND info.mac = ?3 ")
     int updateByLessonUserId(String uid, String lessonId, String mac, BaseStatusEnum status);
 
     @Modifying
     @Query(value = "update DownloadInfo info set info.needUpdate = 1 where info.lessonId = ?1 AND info.status = ?2")
     int setUpdateByLessonId(String lessonId, BaseStatusEnum status);
+
+    @Modifying
+    @Query(value = "update DownloadInfo info set info.downloadStatus = ?3 where info.userId = ?1 AND info.mac = ?2")
+    int downloadFail(String uid, String mac, int failDownload);
 }

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

@@ -1,5 +1,6 @@
 package cn.rankin.userservice.service;
 
+import cn.rankin.common.utils.constant.DownloadStatus;
 import cn.rankin.common.utils.enums.BaseStatusEnum;
 import cn.rankin.common.utils.enums.EventTypeEnum;
 import cn.rankin.data.api.user.dto.DownloadInfoDTO;
@@ -100,4 +101,9 @@ public class DownloadInfoService {
     public DownloadInfo update(DownloadInfo downloadInfo) {
         return downloadInfoRepository.update(downloadInfo);
     }
+
+    public boolean downloadFail(String uid, String mac) {
+        downloadInfoRepository.downloadFail(uid, mac, DownloadStatus.FAIL_DOWNLOAD);
+        return true;
+    }
 }