yangdamao 2 gadi atpakaļ
vecāks
revīzija
2b5f3534d1

+ 1 - 1
zhongzheng-api/src/main/resources/application-dev.yml

@@ -174,4 +174,4 @@ oldSys:
 invoice:
     host: http://192.168.1.222:7077/sys/common/openMplatform/log
 
-liveHost: http://192.168.1.20:81
+liveHost: http://192.168.1.222:6009

+ 54 - 18
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java

@@ -1257,19 +1257,40 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         }
 
         Map<String, String> split = Splitter.on("&").withKeyValueSeparator("=").split(param);
+        //商品ID
         Long goodsId = Long.valueOf(split.get("gid"));
+        //观看权限
+        String per = split.get("watchPer");
+        //课程ID
+        String cid = split.get("cid");
+        //节ID
+        String sid = split.get("sid");
 
         //获取对应商品
         Goods goods = iGoodsService.getGoodsByIdNotTenant(goodsId);
+        User user = new User();
+        if (StringUtils.isNotBlank(per) && Integer.valueOf(per) == 2){
+            //所有人都可以看
+            user = userList.stream().filter(item -> {
+                Long tenantId = item.getTenantId();
+                Course course = iCourseService.getCourseByNotTenant(Long.valueOf(cid));
+                Long courseId = iCourseService.getCourseByTenantTwo(course.getCourseName(),course.getCode(),tenantId);
+                CourseSection section = iCourseSectionService.getSectionByNotTenant(Long.valueOf(sid));
+                CourseSection courseSection = iCourseSectionService.getSectionByTenantTwo(section.getName(),section.getCode(),tenantId);
+                Goods goodsTwo = iGoodsService.getGoodsByTenantTwo(goods.getGoodsName(),goods.getCode(),tenantId);
+                return ObjectUtils.isNotNull(courseId) && ObjectUtils.isNotNull(courseSection) && ObjectUtils.isNotNull(goodsTwo);
+            }).findFirst().orElse(null);
 
-        User user = userList.stream().filter(item -> {
-            //判断用户是否购买商品
-            Long count = baseMapper.getUserOrderCount(item.getUserId(), item.getTenantId(), goods.getCode(), goods.getGoodsName());
-            return count > 0;
-        }).findFirst().orElse(null);
+        }else {
+            user = userList.stream().filter(item -> {
+                //判断用户是否购买商品
+                Long count = baseMapper.getUserOrderCount(item.getUserId(), item.getTenantId(), goods.getCode(), goods.getGoodsName());
+                return count > 0;
+            }).findFirst().orElse(null);
+        }
 
         if(Validator.isEmpty(user)){
-            throw new CustomException("登录信息错误");
+            throw new CustomException("账号未注册,请联系管理员!");
         }
         else if (UserStatus.DISABLE.getCode().equals(user.getStatus()))
         {
@@ -1310,8 +1331,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
                 break;
         }
 
-        String cid = split.get("cid");
-        String sid = split.get("sid");
         Course course = iCourseService.getCourseByNotTenant(Long.valueOf(cid));
         Long courseId = iCourseService.getCourseByTenantTwo(course.getCourseName(),course.getCode(),tenantId);
         CourseSection section = iCourseSectionService.getSectionByNotTenant(Long.valueOf(sid));
@@ -1388,19 +1407,39 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         }
 
         Map<String, String> split = Splitter.on("&").withKeyValueSeparator("=").split(param);
+        //商品ID
         Long goodsId = Long.valueOf(split.get("gid"));
-
+        //观看权限
+        String per = split.get("watchPer");
+        //课程ID
+        String cid = split.get("cid");
+        //节ID
+        String sid = split.get("sid");
         //获取对应商品
         Goods goods = iGoodsService.getGoodsByIdNotTenant(goodsId);
+        User user = new User();
+        if (StringUtils.isNotBlank(per) && Integer.valueOf(per) == 2){
+            //所有人都可以看
+            user = userList.stream().filter(item -> {
+                Long tenantId = item.getTenantId();
+                Course course = iCourseService.getCourseByNotTenant(Long.valueOf(cid));
+                Long courseId = iCourseService.getCourseByTenantTwo(course.getCourseName(),course.getCode(),tenantId);
+                CourseSection section = iCourseSectionService.getSectionByNotTenant(Long.valueOf(sid));
+                CourseSection courseSection = iCourseSectionService.getSectionByTenantTwo(section.getName(),section.getCode(),tenantId);
+                Goods goodsTwo = iGoodsService.getGoodsByTenantTwo(goods.getGoodsName(),goods.getCode(),tenantId);
+                return ObjectUtils.isNotNull(courseId) && ObjectUtils.isNotNull(courseSection) && ObjectUtils.isNotNull(goodsTwo);
+            }).findFirst().orElse(null);
 
-        User user = userList.stream().filter(item -> {
-            //判断用户是否购买商品
-            Long count = baseMapper.getUserOrderCount(item.getUserId(), item.getTenantId(), goods.getCode(), goods.getGoodsName());
-            return count > 0;
-        }).findFirst().orElse(null);
+        }else {
+            user = userList.stream().filter(item -> {
+                //判断用户是否购买商品
+                Long count = baseMapper.getUserOrderCount(item.getUserId(), item.getTenantId(), goods.getCode(), goods.getGoodsName());
+                return count > 0;
+            }).findFirst().orElse(null);
+        }
 
         if(Validator.isEmpty(user)){
-            throw new CustomException("登录信息错误");
+            throw new CustomException("账号未注册,请联系管理员!");
         }
         else if (UserStatus.DISABLE.getCode().equals(user.getStatus()))
         {
@@ -1422,9 +1461,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
                 path = "living-room";
                 break;
         }
-
-        String cid = split.get("cid");
-        String sid = split.get("sid");
         Course course = iCourseService.getCourseByNotTenant(Long.valueOf(cid));
         Long courseId = iCourseService.getCourseByTenantTwo(course.getCourseName(),course.getCode(),tenantId);
         CourseSection section = iCourseSectionService.getSectionByNotTenant(Long.valueOf(sid));

+ 9 - 5
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseSectionWatchPerServiceImpl.java

@@ -66,11 +66,6 @@ public class CourseSectionWatchPerServiceImpl extends ServiceImpl<CourseSectionW
 //        String url = String.format("%s%s/%s%s?a=1&%s",liveGotoURL, domainPc,live,section.getLiveUrl(), s);
 //        vo.setEnCodePC(url);
 
-        String format = String.format("cid=%s&gid=%s&sid=%s", bo.getCourseId(), bo.getGoodsId(), bo.getSectionId());
-        String s = Base64.encode(format);
-        String url = String.format("%s?param=%s",liveHost,s);
-        vo.setEnCodePC(url);
-        vo.setEnCode(url);
         CourseSectionWatchPer watchPer = getOne(new LambdaQueryWrapper<CourseSectionWatchPer>()
                 .eq(ObjectUtils.isNotNull(bo.getCourseId()), CourseSectionWatchPer::getCourseId, bo.getCourseId())
                 .eq(ObjectUtils.isNotNull(bo.getChapterId()), CourseSectionWatchPer::getChapterId, bo.getChapterId())
@@ -79,6 +74,15 @@ public class CourseSectionWatchPerServiceImpl extends ServiceImpl<CourseSectionW
                 .eq(ObjectUtils.isNotNull(bo.getGoodsId()), CourseSectionWatchPer::getGoodsId, bo.getGoodsId())
                 .eq(CourseSectionWatchPer::getStatus, 1)
                 .last("LIMIT 1"));
+
+        String format = String.format("cid=%s&gid=%s&sid=%s", bo.getCourseId(), bo.getGoodsId(), bo.getSectionId());
+        if (ObjectUtils.isNotNull(watchPer)){
+            format = format + "&watchPer="+watchPer.getWatchPer();
+        }
+        String s = Base64.encode(format);
+        String url = String.format("%s?param=%s",liveHost,s);
+        vo.setEnCodePC(url);
+        vo.setEnCode(url);
         if (ObjectUtils.isNull(watchPer)){
             return vo;
         }