Kaynağa Gözat

定义 下载状态

guozhaoshun 6 yıl önce
ebeveyn
işleme
fefc190773

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

@@ -7,6 +7,7 @@ import cn.rankin.apiweb.service.event.EventService;
 import cn.rankin.apiweb.service.product.ProductService;
 import cn.rankin.common.utils.api.model.APICode;
 import cn.rankin.common.utils.api.model.APIResult;
+import cn.rankin.common.utils.constant.DownloadStatus;
 import cn.rankin.data.api.app.vo.DeviceUserVo;
 import cn.rankin.data.api.product.entity.Course;
 import cn.rankin.data.api.product.entity.Lesson;
@@ -116,6 +117,7 @@ public class CallbackController {
         dto.setMerchantId(user.getMerchantId());
         dto.setUserId(user.getUid());
         dto.setDeviceType(device);
+        dto.setDownloadStatus(DownloadStatus.PROCESS_DOWNLOAD);
 
         DownloadInfo downloadInfo = downloadInfoService.add(dto);
         if(downloadInfo != null){

+ 7 - 2
rankin-api-web/src/main/java/cn/rankin/apiweb/controller/CourseController.java

@@ -7,6 +7,7 @@ import cn.rankin.apiweb.service.download.DownloadInfoService;
 import cn.rankin.apiweb.service.product.ProductService;
 import cn.rankin.apiweb.service.shopcart.ShopCartService;
 import cn.rankin.common.utils.api.model.APIResult;
+import cn.rankin.common.utils.constant.DownloadStatus;
 import cn.rankin.data.api.app.vo.*;
 import cn.rankin.data.api.auth.vo.AuthResult;
 import cn.rankin.data.api.user.entity.DownloadInfo;
@@ -53,8 +54,12 @@ public class CourseController {
         List<LessonVo> lessonVos = courseVo.getList();
         lessonVos.forEach( vo -> {
             DownloadInfo downloadInfo = downloadInfoService.findByLessonUserId(userId, vo.getId());
-            if(null != downloadInfo){
-                vo.setDownloadStatus(1);
+            if(null != downloadInfo && DownloadStatus.FINISH_DOWNLOAD == downloadInfo.getDownloadStatus()){
+                vo.setDownloadStatus(DownloadStatus.FINISH_DOWNLOAD);
+            }else if(null != downloadInfo && DownloadStatus.PROCESS_DOWNLOAD == downloadInfo.getDownloadStatus()){
+                vo.setDownloadStatus(DownloadStatus.PROCESS_DOWNLOAD);
+            }else if(null != downloadInfo && DownloadStatus.FAIL_DOWNLOAD == downloadInfo.getDownloadStatus()){
+                vo.setDownloadStatus(DownloadStatus.FAIL_DOWNLOAD);
             }
             data.add(vo);
         });

+ 25 - 0
rankin-common-utils/src/main/java/cn/rankin/common/utils/constant/DownloadStatus.java

@@ -0,0 +1,25 @@
+package cn.rankin.common.utils.constant;
+
+public class DownloadStatus {
+
+    /**
+     * 未下载
+     */
+    public final static int UN_DOWNLOAD = 0;
+
+    /**
+     * 已下载
+     */
+    public final static int FINISH_DOWNLOAD = 1;
+
+    /**
+     * 下载中
+     */
+    public final static int PROCESS_DOWNLOAD = 2;
+
+    /**
+     * 下载失败
+     */
+    public final static int FAIL_DOWNLOAD = 3;
+
+}

+ 3 - 0
rankin-data-api/src/main/java/cn/rankin/data/api/user/dto/DownloadInfoDTO.java

@@ -6,6 +6,7 @@ import cn.rankin.common.utils.enums.PlatformTypeEnum;
 import lombok.Data;
 import lombok.ToString;
 
+import javax.persistence.Column;
 import java.io.Serializable;
 import java.util.Date;
 
@@ -38,6 +39,8 @@ public class DownloadInfoDTO implements Serializable {
 
     private Integer needUpdate;
 
+    private int downloadStatus;
+
     private PlatformTypeEnum platformType;
 
     private BaseStatusEnum status;

+ 2 - 2
rankin-data-api/src/main/java/cn/rankin/data/api/user/entity/DownloadInfo.java

@@ -39,8 +39,8 @@ public class DownloadInfo implements Serializable {
     @Column(name="course_id")
     private String courseId;
 
-    @Column(name="course_name")
-    private String courseName;
+    @Column(name="download_status")
+    private int downloadStatus;
 
     @Enumerated(EnumType.ORDINAL)
     @Column(name="event_type", nullable = false)

+ 2 - 1
rankin-user-service/src/main/java/cn/rankin/userservice/controller/DownloadInfoController.java

@@ -36,7 +36,8 @@ public class DownloadInfoController {
     }
 
     @RequestMapping(value = "/{uid}", method = RequestMethod.GET)
-    public DownloadInfo findByLessonUserId(@PathVariable("uid") String uid, @RequestParam("lessonId") String lessonId){
+    public DownloadInfo findByLessonUserId(@PathVariable("uid") String uid,
+                                           @RequestParam("lessonId") String lessonId){
         return downloadInfoService.findByLessonUserId(uid,lessonId,EventTypeEnum.DOWNLOAD,BaseStatusEnum.NORMAL);
     }
 

+ 2 - 2
rankin-user-service/src/main/java/cn/rankin/userservice/proxy/RemoteAuthFeign.java

@@ -9,8 +9,8 @@ import org.springframework.cloud.netflix.feign.FeignClient;
 import org.springframework.web.bind.annotation.*;
 
 
-@FeignClient(name = "auth-remote", url = "${remote.auth.url}")
-//@FeignClient(name = "${iaas.auth.url}")
+//@FeignClient(name = "auth-remote", url = "${remote.auth.url}")
+@FeignClient(name = "${iaas.auth.url}")
 public interface RemoteAuthFeign {
 
     @RequestMapping(value = "/acenter/v1/auth/list/v2", method = RequestMethod.POST)

+ 2 - 1
rankin-user-service/src/main/java/cn/rankin/userservice/proxy/RemoteUserFeign.java

@@ -10,7 +10,8 @@ import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
-@FeignClient(name = "user-remote", url = "${remote.user.url}")
+//@FeignClient(name = "user-remote", url = "${remote.user.url}")
+@FeignClient(name = "${iaas.user.url}")
 public interface RemoteUserFeign {
 
     @RequestMapping(value = "/ucenter/v1/users", method = RequestMethod.POST)