Procházet zdrojové kódy

接口新增参数 mac地址

guozhaoshun před 6 roky
rodič
revize
9cf82fc6fa

+ 17 - 39
rankin-api-web/src/main/java/cn/rankin/apiweb/controller/CallbackController.java

@@ -78,17 +78,6 @@ public class CallbackController {
         /**
          * 1.获得客户机信息
          */
-        String requestUrl = request.getRequestURL().toString();//得到请求的URL地址
-        String requestUri = request.getRequestURI();//得到请求的资源
-        String queryString = request.getQueryString();//得到请求的URL地址中附带的参数
-        String remoteAddr = request.getRemoteAddr();//得到来访者的IP地址
-        String remoteHost = request.getRemoteHost();
-        int remotePort = request.getRemotePort();
-        String remoteUser = request.getRemoteUser();
-        String method = request.getMethod();//得到请求URL地址时使用的方法
-        String pathInfo = request.getPathInfo();
-        String localAddr = request.getLocalAddr();//获取WEB服务器的IP地址
-        String localName = request.getLocalName();//获取WEB服务器的主机名
         String device = request.getHeader("User-Agent");
 
         log.info("device={}",device);
@@ -108,9 +97,6 @@ public class CallbackController {
             dto.setLessonName(lesson.getTitle());
         }
 
-
-
-
         if(StringUtils.isBlank(courseId)){
             return APIResult.error(ApiWebCode.PARAMETER_ERROR);
         }else{
@@ -124,8 +110,6 @@ public class CallbackController {
             dto.setCourseName(course.getTitle());
         }
 
-
-
         dto.setMac(mac);
         dto.setIp(ip);
         dto.setMerchantId(user.getMerchantId());
@@ -156,8 +140,10 @@ public class CallbackController {
     }
 
     @RequestMapping(value = "/download/find", method = RequestMethod.GET)
-    public APIResult<DownloadInfo> findByLessonUserId(@NeedUser DeviceUserVo user,@RequestParam("lessonId") String lessonId) {
-        DownloadInfo downloadInfo = downloadInfoService.findByLessonUserId(user.getUid(),lessonId);
+    public APIResult<DownloadInfo> findByLessonUserId(@NeedUser DeviceUserVo user,
+                                                      @RequestParam("lessonId") String lessonId,
+                                                      @RequestParam("mac") String mac) {
+        DownloadInfo downloadInfo = downloadInfoService.findByLessonUserId(user.getUid(),lessonId, mac);
         if(downloadInfo != null){
             return APIResult.ok(downloadInfo);
         }else{
@@ -166,8 +152,10 @@ public class CallbackController {
     }
 
     @RequestMapping(value = "/download/delete", method = RequestMethod.DELETE)
-    public APIResult<Boolean> deleteByLessonUserId(@NeedUser DeviceUserVo user,@RequestParam("lessonId") String lessonId) {
-        DownloadInfo downloadInfo = downloadInfoService.deleteByLessonUserId(user.getUid(),lessonId);
+    public APIResult<Boolean> deleteByLessonUserId(@NeedUser DeviceUserVo user,
+                                                   @RequestParam("lessonId") String lessonId,
+                                                   @RequestParam("mac") String mac) {
+        DownloadInfo downloadInfo = downloadInfoService.deleteByLessonUserId(user.getUid(),lessonId,mac);
         if(downloadInfo == null){
             APIResult.error(APICode.OPERATE_ERROR);
         }
@@ -175,8 +163,10 @@ public class CallbackController {
     }
 
     @RequestMapping(value = "/download/update", method = RequestMethod.PUT)
-    public APIResult<Boolean> updateByLessonUserId(@NeedUser DeviceUserVo user,@RequestParam("lessonId") String lessonId) {
-        DownloadInfo downloadInfo = downloadInfoService.updateByLessonUserId(user.getUid(),lessonId);
+    public APIResult<Boolean> updateByLessonUserId(@NeedUser DeviceUserVo user,
+                                                   @RequestParam("lessonId") String lessonId,
+                                                   @RequestParam("mac") String mac) {
+        DownloadInfo downloadInfo = downloadInfoService.updateByLessonUserId(user.getUid(),lessonId,mac);
         if(downloadInfo == null){
             APIResult.error(APICode.OPERATE_ERROR);
         }
@@ -185,26 +175,16 @@ public class CallbackController {
 
     @RequestMapping(value = "/download/update/resource/size", method = RequestMethod.PUT)
     public APIResult<Boolean> updateResourceByLessonUserId(@NeedUser DeviceUserVo user,
-                                                           @RequestParam("lessonId") String lessonId) {
-
-
-        return sync(user,lessonId);
-
-
+                                                           @RequestParam("lessonId") String lessonId,
+                                                           @RequestParam("mac") String mac) {
+        return sync(user,lessonId, mac);
     }
 
-    private synchronized APIResult<Boolean> sync(DeviceUserVo user, String lessonId) {
+    private synchronized APIResult<Boolean> sync(DeviceUserVo user, String lessonId, String mac) {
 
-        Thread thread = Thread.currentThread();
         log.info("Thread.currentThread(),name = {}",Thread.currentThread().getName());
-        /*try
-        {
-            log.info("Thread.currentThread(),name = {}",Thread.currentThread().getName());
-            Thread.currentThread().sleep(3000);//毫秒
-        }
-        catch(Exception e){}*/
 
-        DownloadInfo downloadInfo = downloadInfoService.findByLessonUserId(user.getUid(),lessonId);
+        DownloadInfo downloadInfo = downloadInfoService.findByLessonUserId(user.getUid(),lessonId, mac);
         if(downloadInfo == null){
             APIResult.error(APICode.OPERATE_ERROR);
         }else{
@@ -216,8 +196,6 @@ public class CallbackController {
             downloadInfo.setResSize(resSize);
         }
 
-
-
         DownloadInfo update = downloadInfoService.update(downloadInfo);
         if(update == null){
             APIResult.error(APICode.OPERATE_ERROR);

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

@@ -53,7 +53,8 @@ public class CourseController {
         List<LessonVo> data = new ArrayList<>();
         List<LessonVo> lessonVos = courseVo.getList();
         lessonVos.forEach( vo -> {
-            DownloadInfo downloadInfo = downloadInfoService.findByLessonUserId(userId, vo.getId());
+            //TODO
+            DownloadInfo downloadInfo = downloadInfoService.findByLessonUserId(userId, vo.getId(),"");
             if(null != downloadInfo && DownloadStatus.FINISH_DOWNLOAD == downloadInfo.getDownloadStatus()){
                 vo.setDownloadStatus(DownloadStatus.FINISH_DOWNLOAD);
             }else if(null != downloadInfo && DownloadStatus.PROCESS_DOWNLOAD == downloadInfo.getDownloadStatus()){

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

@@ -17,13 +17,13 @@ public interface DownloadInfoClient {
     List<DownloadInfo> findByUserId(@RequestParam("uid") String uid);
 
     @RequestMapping(value = "/download/{uid}", method = RequestMethod.GET)
-    DownloadInfo findByLessonUserId(@RequestParam("uid") String uid, @RequestParam("lessonId") String lessonId);
+    DownloadInfo findByLessonUserId(@RequestParam("uid") String uid, @RequestParam("lessonId") String lessonId, @RequestParam("mac") String mac);
 
     @RequestMapping(value = "/download/delete/{uid}", method = RequestMethod.DELETE)
-    DownloadInfo deleteByLessonUserId(@RequestParam("uid") String uid, @RequestParam("lessonId") String lessonId);
+    DownloadInfo deleteByLessonUserId(@RequestParam("uid") String uid, @RequestParam("lessonId") String lessonId, @RequestParam("mac") String mac);
 
     @RequestMapping(value = "/download/update/{uid}", method = RequestMethod.PUT)
-    DownloadInfo updateByLessonUserId(@RequestParam("uid") String uid, @RequestParam("lessonId") String lessonId);
+    DownloadInfo updateByLessonUserId(@RequestParam("uid") String uid, @RequestParam("lessonId") String lessonId, @RequestParam("mac") String mac);
 
     @RequestMapping(value = "/download/update", method = RequestMethod.PUT)
     DownloadInfo update(@RequestBody DownloadInfo downloadInfo);

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

@@ -24,19 +24,19 @@ public class DownloadInfoService {
         return downloadInfoClient.findByUserId(uid);
     }
 
-    public DownloadInfo findByLessonUserId(String uid,String lessonId) {
-        return downloadInfoClient.findByLessonUserId(uid,lessonId);
+    public DownloadInfo findByLessonUserId(String uid,String lessonId, String mac) {
+        return downloadInfoClient.findByLessonUserId(uid,lessonId,mac);
     }
 
-    public DownloadInfo deleteByLessonUserId(String uid, String lessonId) {
-        return downloadInfoClient.deleteByLessonUserId(uid,lessonId);
+    public DownloadInfo deleteByLessonUserId(String uid, String lessonId, String mac) {
+        return downloadInfoClient.deleteByLessonUserId(uid,lessonId,mac);
     }
 
-    public DownloadInfo updateByLessonUserId(String uid, String lessonId) {
-        return downloadInfoClient.updateByLessonUserId(uid,lessonId);
+    public DownloadInfo updateByLessonUserId(String uid, String lessonId, String mac) {
+        return downloadInfoClient.updateByLessonUserId(uid,lessonId,mac);
     }
 
-    public DownloadInfo update(DownloadInfo downloadInfo) {
+    public synchronized DownloadInfo update(DownloadInfo downloadInfo) {
         return downloadInfoClient.update(downloadInfo);
     }
 }

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

@@ -35,18 +35,23 @@ public class DownloadInfoController {
 
     @RequestMapping(value = "/{uid}", method = RequestMethod.GET)
     public DownloadInfo findByLessonUserId(@PathVariable("uid") String uid,
-                                           @RequestParam("lessonId") String lessonId){
-        return downloadInfoService.findByLessonUserId(uid,lessonId,EventTypeEnum.DOWNLOAD,BaseStatusEnum.NORMAL);
+                                           @RequestParam("lessonId") String lessonId,
+                                           @RequestParam("mac") String mac){
+        return downloadInfoService.findByLessonUserId(uid, lessonId, mac, EventTypeEnum.DOWNLOAD, BaseStatusEnum.NORMAL);
     }
 
     @RequestMapping(value = "/delete/{uid}", method = RequestMethod.DELETE)
-    public DownloadInfo deleteByLessonUserId(@PathVariable("uid") String uid, @RequestParam("lessonId") String lessonId){
-        return downloadInfoService.deleteByLessonUserId(uid,lessonId);
+    public DownloadInfo deleteByLessonUserId(@PathVariable("uid") String uid,
+                                             @RequestParam("lessonId") String lessonId,
+                                             @RequestParam("mac") String mac){
+        return downloadInfoService.deleteByLessonUserId(uid, lessonId, mac);
     }
 
     @RequestMapping(value = "/update/{uid}", method = RequestMethod.PUT)
-    public DownloadInfo updateByLessonUserId(@PathVariable("uid") String uid, @RequestParam("lessonId") String lessonId){
-        return downloadInfoService.updateByLessonUserId(uid,lessonId);
+    public DownloadInfo updateByLessonUserId(@PathVariable("uid") String uid,
+                                             @RequestParam("lessonId") String lessonId,
+                                             @RequestParam("mac") String mac){
+        return downloadInfoService.updateByLessonUserId(uid, lessonId, mac);
     }
 
     @RequestMapping(value = "/update", method = RequestMethod.PUT)

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

@@ -14,15 +14,15 @@ public interface DownloadInfoRepository extends BasicJpaRepository<DownloadInfo,
     @Query(value = "select info from DownloadInfo info where info.userId = ?1 AND info.eventType= ?2 AND info.status = ?3 ORDER BY info.gmtCreated DESC ")
     List<DownloadInfo> findByUserId(String uid, EventTypeEnum eventType, BaseStatusEnum status);
 
-    @Query(value = "select info from DownloadInfo info where info.userId = ?1 AND info.lessonId = ?2 AND info.eventType = ?3  AND info.status = ?4 ORDER BY info.gmtCreated DESC ")
-    DownloadInfo findByLessonUserId(String uid, String lessonId, EventTypeEnum eventType, BaseStatusEnum status);
+    @Query(value = "select info from DownloadInfo info where info.userId = ?1 AND info.lessonId = ?2 AND info.mac = ?3 AND info.eventType = ?4  AND info.status = ?5 ORDER BY info.gmtCreated DESC ")
+    DownloadInfo findByLessonUserId(String uid, String lessonId, String mac, EventTypeEnum eventType, BaseStatusEnum status);
 
-    @Query(value = "select info from DownloadInfo info where info.userId = ?1 AND info.lessonId = ?2 ORDER BY info.gmtCreated DESC ")
-    DownloadInfo findByLessonUserId(String uid, String lessonId);
+    @Query(value = "select info from DownloadInfo info where info.userId = ?1 AND info.lessonId = ?2  AND info.mac = ?3 ORDER BY info.gmtCreated DESC ")
+    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")
-    int updateByLessonUserId(String uid, String lessonId, BaseStatusEnum status);
+    @Query(value = "update DownloadInfo info set info.status = ?3 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")

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

@@ -25,7 +25,7 @@ public class DownloadInfoService {
      * @return
      */
     public DownloadInfo add(DownloadInfoDTO dto) {
-        DownloadInfo entity = downloadInfoRepository.findByLessonUserId(dto.getUserId(), dto.getLessonId());
+        DownloadInfo entity = downloadInfoRepository.findByLessonUserId(dto.getUserId(), dto.getLessonId(), dto.getMac());
         if(entity != null){
             DownloadInfo downloadInfo = convert(dto);
             downloadInfo.setId(entity.getId());
@@ -57,8 +57,8 @@ public class DownloadInfoService {
      * @param status
      * @return
      */
-    public DownloadInfo findByLessonUserId(String uid, String lessonId, EventTypeEnum eventType, BaseStatusEnum status) {
-        return downloadInfoRepository.findByLessonUserId(uid, lessonId, eventType, status);
+    public DownloadInfo findByLessonUserId(String uid, String lessonId, String mac, EventTypeEnum eventType, BaseStatusEnum status) {
+        return downloadInfoRepository.findByLessonUserId(uid, lessonId, mac, eventType, status);
     }
 
     /**
@@ -67,8 +67,8 @@ public class DownloadInfoService {
      * @param lessonId
      * @return
      */
-    public DownloadInfo deleteByLessonUserId(String uid, String lessonId) {
-        DownloadInfo entity = downloadInfoRepository.findByLessonUserId(uid, lessonId);
+    public DownloadInfo deleteByLessonUserId(String uid, String lessonId, String mac) {
+        DownloadInfo entity = downloadInfoRepository.findByLessonUserId(uid, lessonId, mac);
         if(entity != null){
             entity.setStatus(BaseStatusEnum.DEL);
             return downloadInfoRepository.update(entity);
@@ -83,8 +83,8 @@ public class DownloadInfoService {
      * @param lessonId
      * @return
      */
-    public DownloadInfo updateByLessonUserId(String uid, String lessonId) {
-        DownloadInfo entity = downloadInfoRepository.findByLessonUserId(uid, lessonId);
+    public DownloadInfo updateByLessonUserId(String uid, String lessonId, String mac) {
+        DownloadInfo entity = downloadInfoRepository.findByLessonUserId(uid, lessonId, mac);
         if(entity != null){
             entity.setNeedUpdate(0);
             return downloadInfoRepository.update(entity);