he2802 преди 3 години
родител
ревизия
3436a24e17
променени са 22 файла, в които са добавени 771 реда и са изтрити 134 реда
  1. 41 60
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/polyv/PolyvVideoController.java
  2. 8 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamApplyServiceImpl.java
  3. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamBeforeServiceImpl.java
  4. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamKnowledgeServiceImpl.java
  5. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/UserPeriodEditBo.java
  6. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java
  7. 66 70
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/UserPeriodServiceImpl.java
  8. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassPeriodSectionVo.java
  9. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassPeriodVo.java
  10. 42 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/bo/PolyvCataAddBo.java
  11. 49 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/bo/PolyvCataEditBo.java
  12. 54 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/bo/PolyvCataQueryBo.java
  13. 45 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/domain/PolyvCata.java
  14. 14 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/mapper/PolyvCataMapper.java
  15. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/service/IPolyvCataService.java
  16. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/service/IPolyvVideoService.java
  17. 103 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/service/impl/PolyvCataServiceImpl.java
  18. 144 3
      zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/service/impl/PolyvVideoServiceImpl.java
  19. 28 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/vo/Nodes.java
  20. 29 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/vo/PolyvCataData.java
  21. 47 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/vo/PolyvCataVo.java
  22. 19 0
      zhongzheng-system/src/main/resources/mapper/modules/polyv/PolyvCataMapper.xml

+ 41 - 60
zhongzheng-admin/src/main/java/com/zhongzheng/controller/polyv/PolyvVideoController.java

@@ -1,23 +1,27 @@
 package com.zhongzheng.controller.polyv;
 
 import com.zhongzheng.common.core.domain.model.LoginUser;
+import com.zhongzheng.common.core.page.TableDataInfo;
 import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.framework.web.service.TokenService;
-import com.zhongzheng.modules.polyv.vo.PolyvVideoQuerVo;
-import com.zhongzheng.modules.polyv.vo.PolyvVo;
+import com.zhongzheng.modules.exam.bo.ExamApplyQueryBo;
+import com.zhongzheng.modules.exam.vo.ExamApplyVo;
+import com.zhongzheng.modules.polyv.bo.PolyvCataQueryBo;
+import com.zhongzheng.modules.polyv.bo.PolyvVideoQueryBo;
+import com.zhongzheng.modules.polyv.service.IPolyvCataService;
+import com.zhongzheng.modules.polyv.vo.*;
 import lombok.RequiredArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
 import com.zhongzheng.modules.polyv.service.IPolyvVideoService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
+import java.util.List;
+
 /**
  * 保利威视频信息Controller
  *
@@ -31,6 +35,7 @@ import io.swagger.annotations.ApiOperation;
 public class PolyvVideoController extends BaseController {
 
     private final IPolyvVideoService iPolyvVideoService;
+    private final IPolyvCataService iPolyvCataService;
 
     @Autowired
     private TokenService tokenService;
@@ -62,64 +67,40 @@ public class PolyvVideoController extends BaseController {
         return AjaxResult.success(iPolyvVideoService.getPolyvUpload());
     }
 
-
-   /* *//**
-     * 查询保利威视频信息列表
-     *//*
-    @ApiOperation("查询保利威视频信息列表")
-    @PreAuthorize("@ss.hasPermi('modules.polyv:video:list')")
-    @GetMapping("/list")
-    public TableDataInfo<PolyvVideoVo> list(PolyvVideoQueryBo bo) {
+    /**
+     * 查询保利威分类列表
+     */
+    @ApiOperation("查询保利威分类列表")
+    @PreAuthorize("@ss.hasPermi('system:cata:list')")
+    @GetMapping("/listCata")
+    public TableDataInfo<PolyvCataVo> list(PolyvCataQueryBo bo) {
         startPage();
-        List<PolyvVideoVo> list = iPolyvVideoService.queryList(bo);
+        List<PolyvCataVo> list = iPolyvCataService.queryList(bo);
         return getDataTable(list);
     }
 
-    *//**
-     * 导出保利威视频信息列表
-     *//*
-    @ApiOperation("导出保利威视频信息列表")
-    @PreAuthorize("@ss.hasPermi('modules.polyv:video:export')")
-    @Log(title = "保利威视频信息", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult<PolyvVideoVo> export(PolyvVideoQueryBo bo) {
-        List<PolyvVideoVo> list = iPolyvVideoService.queryList(bo);
-        ExcelUtil<PolyvVideoVo> util = new ExcelUtil<PolyvVideoVo>(PolyvVideoVo.class);
-        return util.exportExcel(list, "保利威视频信息");
-    }*/
-
-
-/*
-    *//**
-     * 新增保利威视频信息
-     *//*
-    @ApiOperation("新增保利威视频信息")
-    @PreAuthorize("@ss.hasPermi('modules.polyv:video:add')")
-    @Log(title = "保利威视频信息", businessType = BusinessType.INSERT)
-    @PostMapping()
-    public AjaxResult<Void> add(@RequestBody PolyvVideoAddBo bo) {
-        return toAjax(iPolyvVideoService.insertByAddBo(bo) ? 1 : 0);
+    /**
+     * 查询保利威视频分类
+     */
+    @ApiOperation("更新视频分类")
+    @PreAuthorize("@ss.hasPermi('modules.polyv:video:list')")
+    @PostMapping("/cata")
+    public  AjaxResult<List<PolyvCataData>> list(PolyvVideoQueryBo bo) throws Exception {
+        List<PolyvCataData> list = iPolyvVideoService.queryCataList(bo);
+        return AjaxResult.success(list);
+    }
+    /**
+     * 查询考试安排列表
+     */
+    @ApiOperation("查询考试安排列表")
+    @PreAuthorize("@ss.hasPermi('polyv:video:list')")
+    @GetMapping("/list")
+    public AjaxResult<List<PolyvVideoVo>> listPolyv(PolyvVideoQueryBo bo) throws Exception {
+        if (bo.getPageSize() == null || bo.getPageNum() == null){
+            throw new IllegalArgumentException("分页不能为空");
+        }
+        List<PolyvVideoVo> list = iPolyvVideoService.queryPolyv(bo);
+        return AjaxResult.success(list);
     }
 
-    *//**
-     * 修改保利威视频信息
-     *//*
-    @ApiOperation("修改保利威视频信息")
-    @PreAuthorize("@ss.hasPermi('modules.polyv:video:edit')")
-    @Log(title = "保利威视频信息", businessType = BusinessType.UPDATE)
-    @PutMapping()
-    public AjaxResult<Void> edit(@RequestBody PolyvVideoEditBo bo) {
-        return toAjax(iPolyvVideoService.updateByEditBo(bo) ? 1 : 0);
-    }*/
-
- /*   *//**
-     * 删除保利威视频信息
-     *//*
-    @ApiOperation("删除保利威视频信息")
-    @PreAuthorize("@ss.hasPermi('modules.polyv:video:remove')")
-    @Log(title = "保利威视频信息" , businessType = BusinessType.DELETE)
-    @DeleteMapping("/{polyvIds}")
-    public AjaxResult<Void> remove(@PathVariable Long[] polyvIds) {
-        return toAjax(iPolyvVideoService.deleteWithValidByIds(Arrays.asList(polyvIds), true) ? 1 : 0);
-    }*/
 }

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamApplyServiceImpl.java

@@ -56,6 +56,7 @@ public class ExamApplyServiceImpl extends ServiceImpl<ExamApplyMapper, ExamApply
     @Override
     public List<ExamApplyVo> queryList(ExamApplyQueryBo bo) {
         List<ExamApplyVo> examApplyVos = baseMapper.queryExam(bo);
+        //过期修改状态
         for (ExamApplyVo examApplyVo : examApplyVos) {
             Calendar calendar = Calendar.getInstance();
             calendar.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
@@ -106,14 +107,17 @@ public class ExamApplyServiceImpl extends ServiceImpl<ExamApplyMapper, ExamApply
     public Boolean updateByEditBo(ExamApplyEditBo bo) {
         ExamApply update = BeanUtil.toBean(bo, ExamApply.class);
         if (bo.getStatus() == 1){
+            //判断是否有设置商品
             Long contGoodsId = baseMapper.countGoods(bo.getApplyId());
             if (contGoodsId < 1){
                 throw new RuntimeException("请先设置适用商品");
             }
+            //判断是否有设置考试地点和时间
             List<ExamApplySiteVo> examApplySite = baseMapper.addressExam(bo.getApplyId(),1L);
             if (CollectionUtils.isEmpty(examApplySite)){
                 throw new RuntimeException("请先设置考试地点和时间");
             }
+            //考试计划内的商品是否被其他计划使用
             List<Long> contGoods = baseMapper.countGoodsHold(bo.getApplyId());
             if (CollectionUtils.isNotEmpty(contGoods)){
                 String goodsName ="";
@@ -183,18 +187,22 @@ public class ExamApplyServiceImpl extends ServiceImpl<ExamApplyMapper, ExamApply
 
     @Override
     public ExamUserApplyVo subscribe(ExamApplyQueryBo bo) {
+        //查询学时通过情况
         Integer countGradePeriod = baseMapper.countGradePeriod(bo);
         if (countGradePeriod < 1){
             throw new IllegalArgumentException("学时审核未通过,不可以报名参加考试");
         }
+        //查询考试通过情况
         Integer countSubscribe = baseMapper.countSubscribe(bo);
         if (countSubscribe > 0){
             throw new IllegalArgumentException("考试已通过,不需要重考");
         }
+        //查询是否已预约考试
         Integer countHaveSubscribe = baseMapper.countHaveSubscribe(bo);
         if (countHaveSubscribe > 0){
             throw new IllegalArgumentException("您所报考的专业,已经预约成功,您可在“我的-我的考试预约”中查询详情");
         }
+        //查询是否有考试计划
         ExamUserApplyVo examUserApplyVo = baseMapper.selectExamUserApplyVo(bo);
         if (examUserApplyVo == null){
             throw new IllegalArgumentException("商品无考试计划,无需预约考试");

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamBeforeServiceImpl.java

@@ -96,14 +96,17 @@ public class ExamBeforeServiceImpl extends ServiceImpl<ExamBeforeMapper, ExamBef
     public Boolean updateByEditBo(ExamBeforeEditBo bo) {
         ExamBefore update = BeanUtil.toBean(bo, ExamBefore.class);
         if (bo.getStatus() == 1) {
+            //是否已经设置商品
             if (baseMapper.countBeforeGoods(bo.getBeforeId()) < 1) {
                 throw new IllegalArgumentException("请先设置适用商品");
             }
+            //是否商品被启用考培
             if (baseMapper.beforeGoods(bo.getBeforeId()) > 0){
                 throw new IllegalArgumentException("该商品已启用考培,请重新创建");
             }
         }
         if (bo.getStatus() != -1){
+            //标题是否重复
             List<ExamBefore> list = this.list(new LambdaQueryWrapper<ExamBefore>()
                     .eq(ExamBefore::getBeforeName, bo.getBeforeName())
                     .eq(ExamBefore::getBeforeId, update.getBeforeId()));

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamKnowledgeServiceImpl.java

@@ -82,6 +82,7 @@ public class ExamKnowledgeServiceImpl extends ServiceImpl<ExamKnowledgeMapper, E
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean insertByAddBo(ExamKnowledgeAddBo bo) {
+        //批量添加知识点
         for (String s : bo.getKnowledgeName()) {
 
             LambdaQueryWrapper<ExamKnowledge> lqw = Wrappers.lambdaQuery();
@@ -98,6 +99,7 @@ public class ExamKnowledgeServiceImpl extends ServiceImpl<ExamKnowledgeMapper, E
             examKnowledge.setCreateTime(DateUtils.getNowTime());
             examKnowledge.setUpdateTime(DateUtils.getNowTime());
             boolean save = this.save(examKnowledge);
+            //知识点绑定业务
             for (ExamKnowledgeBusinessAddBo examKnowledgeBusinessAddBo : bo.getExamKnowledgeBusinessAddBoList()) {
                 examKnowledgeBusinessAddBo.setKnowledgeId(examKnowledge.getKnowledgeId());
                 examKnowledgeBusinessAddBo.setUpdateTime(DateUtils.getNowTime());
@@ -112,6 +114,7 @@ public class ExamKnowledgeServiceImpl extends ServiceImpl<ExamKnowledgeMapper, E
     public Boolean updateByEditBo(ExamKnowledgeEditBo bo) {
         ExamKnowledge update = BeanUtil.toBean(bo, ExamKnowledge.class);
 
+        //去重
         LambdaQueryWrapper<ExamKnowledge> lqwExam = Wrappers.lambdaQuery();
         lqwExam.eq(ExamKnowledge::getKnowledgeName, bo.getKnowledgeName());
         lqwExam.eq(ExamKnowledge::getKnowledgeId, bo.getKnowledgeId());

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/UserPeriodEditBo.java

@@ -19,7 +19,7 @@ public class UserPeriodEditBo {
 
     /** $column.columnComment */
     @ApiModelProperty("$column.columnComment")
-    private Long[] id;
+    private Long id;
 
     /** $column.columnComment */
     @ApiModelProperty("$column.columnComment")

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java

@@ -269,6 +269,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
                                     classPeriodSectionVo.setStudyStartTime(userPeriodStatusVo.getRecordStartTime());
                                     classPeriodSectionVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
                                     classPeriodSectionVo.setPeriodId(userPeriodStatusVo.getPeriodId());
+                                    classPeriodSectionVo.setPeriodStatusId(userPeriodStatusVo.getId());
                                     classPeriodSectionVo.setAuditTime(userPeriodStatusVo.getAuditTime());
                                 }
                                 classPeriodSectionVo.setModuleId(classPeriodVo.getId());
@@ -299,6 +300,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
                                     classPeriodSectionVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
                                     classPeriodSectionVo.setPeriodId(userPeriodStatusVo.getPeriodId());
                                     classPeriodSectionVo.setAuditTime(userPeriodStatusVo.getAuditTime());
+                                    classPeriodSectionVo.setPeriodStatusId(userPeriodStatusVo.getId());
                                     classPeriodChapterVo.setPerformance(Convert.toBigDecimal(userPeriodStatusVo.getPerformance()));
                                 }
                                 classPeriodSectionVo.setModuleId(classPeriodVo.getId());
@@ -338,6 +340,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
                         classPeriodSectionVo.setStudyStartTime(userPeriodStatusVo.getRecordStartTime());
                         classPeriodSectionVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
                         classPeriodSectionVo.setPeriodId(userPeriodStatusVo.getPeriodId());
+                        classPeriodSectionVo.setPeriodStatusId(userPeriodStatusVo.getId());
                         classPeriodSectionVo.setAuditTime(userPeriodStatusVo.getAuditTime());
                     }
                     classPeriodSectionVo.setModuleId(0L);
@@ -369,6 +372,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
                         classPeriodSectionVo.setStudyStartTime(userPeriodStatusVo.getRecordStartTime());
                         classPeriodSectionVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
                         classPeriodSectionVo.setPeriodId(userPeriodStatusVo.getPeriodId());
+                        classPeriodSectionVo.setPeriodStatusId(userPeriodStatusVo.getId());
                         classPeriodSectionVo.setAuditTime(userPeriodStatusVo.getAuditTime());
                         classPeriodVo.setPerformance(Convert.toBigDecimal(userPeriodStatusVo.getPerformance()));
                     }
@@ -403,6 +407,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
                     classPeriodVo.setStudyStartTime(userPeriodStatusVo.getRecordStartTime());
                     classPeriodVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
                     classPeriodVo.setPeriodId(userPeriodStatusVo.getPeriodId());
+                    classPeriodVo.setPeriodStatusId(userPeriodStatusVo.getId());
                     classPeriodVo.setAuditTime(userPeriodStatusVo.getAuditTime());
                 }
                 classPeriodVo.setModuleId(0L);
@@ -457,6 +462,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         classPeriodSectionVo.setUserStudyRecordPhotoList(userPeriodStatusVo.getUserStudyRecordPhotoList());
         classPeriodSectionVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
         classPeriodSectionVo.setPeriodId(userPeriodStatusVo.getPeriodId());
+        classPeriodSectionVo.setPeriodStatusId(userPeriodStatusVo.getId());
         if (bo.getSectionId() != null) {
             classPeriodSectionVo.setId(bo.getSectionId());
             classPeriodSectionVo.setType(3L);

+ 66 - 70
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/UserPeriodServiceImpl.java

@@ -11,6 +11,7 @@ import com.zhongzheng.modules.grade.domain.ClassGradeUser;
 import com.zhongzheng.modules.grade.domain.UserPeriodStatus;
 import com.zhongzheng.modules.grade.service.IClassGradeUserService;
 import com.zhongzheng.modules.grade.service.IUserPeriodStatusService;
+import com.zhongzheng.modules.grade.vo.UserPeriodStatusVo;
 import com.zhongzheng.modules.inform.bo.InformUserAddBo;
 import com.zhongzheng.modules.inform.service.IInformRemindService;
 import com.zhongzheng.modules.inform.service.IInformUserService;
@@ -131,82 +132,77 @@ public class UserPeriodServiceImpl extends ServiceImpl<UserPeriodMapper, UserPer
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean updateByEditBo(UserPeriodEditBo bo) {
-        List<UserPeriodStatus> list = new ArrayList<>();
-        for (Long aLong : bo.getId()) {
-            UserPeriodStatus userPeriodStatus = new UserPeriodStatus();
-            userPeriodStatus.setPeriodStatus(1);
-            userPeriodStatus.setStatus(bo.getStatus());
-            userPeriodStatus.setUpdateTime(DateUtils.getNowTime());
-            LambdaQueryWrapper<UserPeriodStatus> lqw = Wrappers.lambdaQuery();
-            lqw.eq(UserPeriodStatus::getPeriodId, aLong);
-            lqw.eq(UserPeriodStatus::getPeriodStatus, 1);
-            userPeriodStatusService.update(userPeriodStatus, lqw);
-            list = userPeriodStatusService.list(lqw);
-        }
-        if (!CollectionUtils.isEmpty(list)) {
-            UserPeriodStatus userPeriodStatus = list.get(0);
-            UserPeriodVo userPeriodVo = this.queryById(userPeriodStatus.getPeriodId());
-            LambdaQueryWrapper<UserPeriod> lqw = Wrappers.lambdaQuery();
-            lqw.eq(userPeriodVo.getUserId() != null, UserPeriod::getUserId, userPeriodVo.getUserId());
-            lqw.eq(userPeriodVo.getGoodsId() != null, UserPeriod::getGoodsId, userPeriodVo.getGoodsId());
-            lqw.eq(userPeriodVo.getGradeId() != null, UserPeriod::getGradeId, userPeriodVo.getGradeId());
-            List<UserPeriod> listPeriodVo = this.list(lqw);
-            if (bo.getStatus().equals(1)) {
 
-                for (UserPeriod userPeriod : listPeriodVo) {
-                    LambdaQueryWrapper<UserPeriodStatus> userPeriods = Wrappers.lambdaQuery();
-                    userPeriods.eq(UserPeriodStatus::getPeriodId, userPeriod.getId());
-                    userPeriods.eq(UserPeriodStatus::getPeriodStatus, 1);
-                    userPeriods.eq(UserPeriodStatus::getStatus, 1);
-                    List<UserPeriodStatus> list1 = userPeriodStatusService.list(userPeriods);
-                    if (CollectionUtils.isEmpty(list1)) {
-                        return true;
-                    }
+        UserPeriodStatus userUp = new UserPeriodStatus();
+        userUp.setPeriodStatus(1);
+        userUp.setId(bo.getId());
+        userUp.setStatus(bo.getStatus());
+        userUp.setUpdateTime(DateUtils.getNowTime());
+        userPeriodStatusService.updateById(userUp);
+
+        //判断是否已全部审核结束
+        UserPeriodStatusVo userPeriodStatus = userPeriodStatusService.queryById(bo.getId());
+        UserPeriodVo userPeriodVo = this.queryById(userPeriodStatus.getPeriodId());
+        LambdaQueryWrapper<UserPeriod> lqw = Wrappers.lambdaQuery();
+        lqw.eq(userPeriodVo.getUserId() != null, UserPeriod::getUserId, userPeriodVo.getUserId());
+        lqw.eq(userPeriodVo.getGoodsId() != null, UserPeriod::getGoodsId, userPeriodVo.getGoodsId());
+        lqw.eq(userPeriodVo.getGradeId() != null, UserPeriod::getGradeId, userPeriodVo.getGradeId());
+        List<UserPeriod> listPeriodVo = this.list(lqw);
+        if (bo.getStatus().equals(1)) {
+            for (UserPeriod userPeriod : listPeriodVo) {
+                LambdaQueryWrapper<UserPeriodStatus> userPeriods = Wrappers.lambdaQuery();
+                userPeriods.eq(UserPeriodStatus::getPeriodId, userPeriod.getId());
+                userPeriods.eq(UserPeriodStatus::getPeriodStatus, 1);
+                userPeriods.eq(UserPeriodStatus::getStatus, 1);
+                List<UserPeriodStatus> list1 = userPeriodStatusService.list(userPeriods);
+                if (CollectionUtils.isEmpty(list1)) {
+                    return true;
                 }
-                UserPeriodEditBo userPeriodEditBo = new UserPeriodEditBo();
-                userPeriodEditBo.setUserId(userPeriodVo.getUserId());
-                userPeriodEditBo.setGoodsId(userPeriodVo.getGoodsId());
-                userPeriodEditBo.setGradeId(userPeriodVo.getGradeId());
-                userPeriodEditBo.setStatus(bo.getStatus());
-                sendPeriodSMS(userPeriodEditBo);
-                sendPeriodSevenSMS(userPeriodEditBo);
+            }
+            UserPeriodEditBo userPeriodEditBo = new UserPeriodEditBo();
+            userPeriodEditBo.setUserId(userPeriodVo.getUserId());
+            userPeriodEditBo.setGoodsId(userPeriodVo.getGoodsId());
+            userPeriodEditBo.setGradeId(userPeriodVo.getGradeId());
+            userPeriodEditBo.setStatus(bo.getStatus());
+            sendPeriodSMS(userPeriodEditBo);
+            sendPeriodSevenSMS(userPeriodEditBo);
 
-                LambdaQueryWrapper<ClassGradeUser> classGradeUser = Wrappers.lambdaQuery();
-                classGradeUser.eq(ClassGradeUser::getUserId, userPeriodVo.getUserId());
-                classGradeUser.eq(ClassGradeUser::getGradeId, userPeriodVo.getGradeId());
-                ClassGradeUser classGradeUser1 = new ClassGradeUser();
-                classGradeUser1.setPeriodStatus(1);
-                classGradeUser1.setUpdateTime(DateUtils.getNowTime());
-                List<ClassGradeUser> list1 = iClassGradeUserService.list(classGradeUser);
-                iClassGradeUserService.update(classGradeUser1, classGradeUser);
-            } else {
-                for (UserPeriod userPeriod : listPeriodVo) {
-                    LambdaQueryWrapper<UserPeriodStatus> userPeriods = Wrappers.lambdaQuery();
-                    userPeriods.eq(UserPeriodStatus::getPeriodId, userPeriod.getId());
-                    userPeriods.eq(UserPeriodStatus::getPeriodStatus, 1);
-                    userPeriods.notIn(UserPeriodStatus::getStatus, 1);
-                    List<UserPeriodStatus> list1 = userPeriodStatusService.list(userPeriods);
-                    if (CollectionUtils.isEmpty(list1)) {
-                        return true;
-                    }
+            LambdaQueryWrapper<ClassGradeUser> classGradeUser = Wrappers.lambdaQuery();
+            classGradeUser.eq(ClassGradeUser::getUserId, userPeriodVo.getUserId());
+            classGradeUser.eq(ClassGradeUser::getGradeId, userPeriodVo.getGradeId());
+            ClassGradeUser classGradeUser1 = new ClassGradeUser();
+            classGradeUser1.setPeriodStatus(1);
+            classGradeUser1.setUpdateTime(DateUtils.getNowTime());
+            List<ClassGradeUser> list1 = iClassGradeUserService.list(classGradeUser);
+            iClassGradeUserService.update(classGradeUser1, classGradeUser);
+        } else {
+            for (UserPeriod userPeriod : listPeriodVo) {
+                LambdaQueryWrapper<UserPeriodStatus> userPeriods = Wrappers.lambdaQuery();
+                userPeriods.eq(UserPeriodStatus::getPeriodId, userPeriod.getId());
+                userPeriods.eq(UserPeriodStatus::getPeriodStatus, 1);
+                userPeriods.notIn(UserPeriodStatus::getStatus, 1);
+                List<UserPeriodStatus> list1 = userPeriodStatusService.list(userPeriods);
+                if (CollectionUtils.isEmpty(list1)) {
+                    return true;
                 }
-                UserPeriodEditBo userPeriodEditBo = new UserPeriodEditBo();
-                userPeriodEditBo.setUserId(userPeriodVo.getUserId());
-                userPeriodEditBo.setGoodsId(userPeriodVo.getGoodsId());
-                userPeriodEditBo.setGradeId(userPeriodVo.getGradeId());
-                userPeriodEditBo.setStatus(bo.getStatus());
-                sendPeriodSMS(userPeriodEditBo);
-                sendPeriodSevenSMS(userPeriodEditBo);
-                LambdaQueryWrapper<ClassGradeUser> classGradeUser = Wrappers.lambdaQuery();
-                classGradeUser.eq(ClassGradeUser::getUserId, userPeriodVo.getUserId());
-                classGradeUser.eq(ClassGradeUser::getGradeId, userPeriodVo.getGradeId());
-                ClassGradeUser classGradeUser1 = new ClassGradeUser();
-                classGradeUser1.setPeriodStatus(0);
-                classGradeUser1.setUpdateTime(DateUtils.getNowTime());
-                List<ClassGradeUser> list1 = iClassGradeUserService.list(classGradeUser);
-                iClassGradeUserService.update(classGradeUser1, classGradeUser);
             }
+            UserPeriodEditBo userPeriodEditBo = new UserPeriodEditBo();
+            userPeriodEditBo.setUserId(userPeriodVo.getUserId());
+            userPeriodEditBo.setGoodsId(userPeriodVo.getGoodsId());
+            userPeriodEditBo.setGradeId(userPeriodVo.getGradeId());
+            userPeriodEditBo.setStatus(bo.getStatus());
+            sendPeriodSMS(userPeriodEditBo);
+            sendPeriodSevenSMS(userPeriodEditBo);
+            LambdaQueryWrapper<ClassGradeUser> classGradeUser = Wrappers.lambdaQuery();
+            classGradeUser.eq(ClassGradeUser::getUserId, userPeriodVo.getUserId());
+            classGradeUser.eq(ClassGradeUser::getGradeId, userPeriodVo.getGradeId());
+            ClassGradeUser classGradeUser1 = new ClassGradeUser();
+            classGradeUser1.setPeriodStatus(0);
+            classGradeUser1.setUpdateTime(DateUtils.getNowTime());
+            List<ClassGradeUser> list1 = iClassGradeUserService.list(classGradeUser);
+            iClassGradeUserService.update(classGradeUser1, classGradeUser);
         }
+
         return true;
     }
 

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassPeriodSectionVo.java

@@ -121,6 +121,12 @@ public class ClassPeriodSectionVo {
 	@ApiModelProperty("當前審核ID")
 	private Long periodId;
 
+	/** 当前节状态 1 当前状态 0过往状态 */
+	/** 审核时间 */
+	@Excel(name = "當前審核状态ID")
+	@ApiModelProperty("當前審核状态ID")
+	private Long periodStatusId;
+
 	/** 审核时间 */
 	@Excel(name = "审核照片")
 	@ApiModelProperty("审核照片")

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassPeriodVo.java

@@ -51,6 +51,12 @@ public class ClassPeriodVo {
 	@ApiModelProperty("班級ID")
 	private Long gradeId;
 
+	/** 当前节状态 1 当前状态 0过往状态 */
+	/** 审核时间 */
+	@Excel(name = "當前審核状态ID")
+	@ApiModelProperty("當前審核状态ID")
+	private Long periodStatusId;
+
 	/** 標題 */
 	@Excel(name = "標題")
 	@ApiModelProperty("標題")

+ 42 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/bo/PolyvCataAddBo.java

@@ -0,0 +1,42 @@
+package com.zhongzheng.modules.polyv.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 保利威分类添加对象 polyv_cata
+ *
+ * @author ruoyi
+ * @date 2022-01-11
+ */
+@Data
+@ApiModel("保利威分类添加对象")
+public class PolyvCataAddBo {
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private String text;
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private String cataname;
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long cataid;
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long parentid;
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private String videos;
+    /** 添加时间 */
+    @ApiModelProperty("添加时间")
+    private Long createTime;
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+}

+ 49 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/bo/PolyvCataEditBo.java

@@ -0,0 +1,49 @@
+package com.zhongzheng.modules.polyv.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 保利威分类编辑对象 polyv_cata
+ *
+ * @author ruoyi
+ * @date 2022-01-11
+ */
+@Data
+@ApiModel("保利威分类编辑对象")
+public class PolyvCataEditBo {
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long id;
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private String text;
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private String cataname;
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long cataid;
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long parentid;
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private String videos;
+
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+
+
+}

+ 54 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/bo/PolyvCataQueryBo.java

@@ -0,0 +1,54 @@
+package com.zhongzheng.modules.polyv.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 保利威分类分页查询对象 polyv_cata
+ *
+ * @author ruoyi
+ * @date 2022-01-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("保利威分类分页查询对象")
+public class PolyvCataQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+
+	/** $column.columnComment */
+	@ApiModelProperty("$column.columnComment")
+	private String text;
+	/** $column.columnComment */
+	@ApiModelProperty("$column.columnComment")
+	private String cataname;
+	/** $column.columnComment */
+	@ApiModelProperty("$column.columnComment")
+	private Long cataid;
+	/** $column.columnComment */
+	@ApiModelProperty("$column.columnComment")
+	private Long parentid;
+	/** $column.columnComment */
+	@ApiModelProperty("$column.columnComment")
+	private String videos;
+}

+ 45 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/domain/PolyvCata.java

@@ -0,0 +1,45 @@
+package com.zhongzheng.modules.polyv.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.zhongzheng.common.annotation.Excel;
+
+/**
+ * 保利威分类对象 polyv_cata
+ *
+ * @author ruoyi
+ * @date 2022-01-11
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("polyv_cata")
+public class PolyvCata implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    /** $column.columnComment */
+    @TableId(value = "id")
+    private Long id;
+    /** $column.columnComment */
+    private String text;
+    /** $column.columnComment */
+    private String cataname;
+    /** $column.columnComment */
+    private Long cataid;
+    /** $column.columnComment */
+    private Long parentid;
+    /** $column.columnComment */
+    private String videos;
+    /** 添加时间 */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+    /** 修改时间 */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+}

+ 14 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/mapper/PolyvCataMapper.java

@@ -0,0 +1,14 @@
+package com.zhongzheng.modules.polyv.mapper;
+
+import com.zhongzheng.modules.polyv.domain.PolyvCata;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 保利威分类Mapper接口
+ *
+ * @author ruoyi
+ * @date 2022-01-11
+ */
+public interface PolyvCataMapper extends BaseMapper<PolyvCata> {
+
+}

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/service/IPolyvCataService.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.polyv.service;
+
+import com.zhongzheng.modules.polyv.domain.PolyvCata;
+import com.zhongzheng.modules.polyv.vo.PolyvCataVo;
+import com.zhongzheng.modules.polyv.bo.PolyvCataQueryBo;
+import com.zhongzheng.modules.polyv.bo.PolyvCataAddBo;
+import com.zhongzheng.modules.polyv.bo.PolyvCataEditBo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 保利威分类Service接口
+ *
+ * @author ruoyi
+ * @date 2022-01-11
+ */
+public interface IPolyvCataService extends IService<PolyvCata> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	PolyvCataVo queryById(Long id);
+
+	/**
+	 * 查询列表
+	 */
+	List<PolyvCataVo> queryList(PolyvCataQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入保利威分类
+	 * @param bo 保利威分类新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(PolyvCataAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改保利威分类
+	 * @param bo 保利威分类编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(PolyvCataEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/service/IPolyvVideoService.java

@@ -1,6 +1,7 @@
 package com.zhongzheng.modules.polyv.service;
 
 import com.zhongzheng.modules.polyv.domain.PolyvVideo;
+import com.zhongzheng.modules.polyv.vo.PolyvCataData;
 import com.zhongzheng.modules.polyv.vo.PolyvVideoQuerVo;
 import com.zhongzheng.modules.polyv.vo.PolyvVideoVo;
 import com.zhongzheng.modules.polyv.bo.PolyvVideoQueryBo;
@@ -58,4 +59,8 @@ public interface IPolyvVideoService extends IService<PolyvVideo> {
 	Map<String,Object> polyvbMobileSignRequest(String VId, String viewerId) throws Exception;
 
 	PolyvVo getPolyvUpload();
+
+    List<PolyvCataData> queryCataList(PolyvVideoQueryBo bo) throws Exception;
+
+	List<PolyvVideoVo> queryPolyv(PolyvVideoQueryBo bo) throws Exception;
 }

+ 103 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/service/impl/PolyvCataServiceImpl.java

@@ -0,0 +1,103 @@
+package com.zhongzheng.modules.polyv.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.utils.DateUtils;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.Page;
+import com.zhongzheng.modules.polyv.bo.PolyvCataAddBo;
+import com.zhongzheng.modules.polyv.bo.PolyvCataQueryBo;
+import com.zhongzheng.modules.polyv.bo.PolyvCataEditBo;
+import com.zhongzheng.modules.polyv.domain.PolyvCata;
+import com.zhongzheng.modules.polyv.mapper.PolyvCataMapper;
+import com.zhongzheng.modules.polyv.vo.PolyvCataVo;
+import com.zhongzheng.modules.polyv.service.IPolyvCataService;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 保利威分类Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2022-01-11
+ */
+@Service
+public class PolyvCataServiceImpl extends ServiceImpl<PolyvCataMapper, PolyvCata> implements IPolyvCataService {
+
+    @Override
+    public PolyvCataVo queryById(Long id){
+        PolyvCata db = this.baseMapper.selectById(id);
+        return BeanUtil.toBean(db, PolyvCataVo.class);
+    }
+
+    @Override
+    public List<PolyvCataVo> queryList(PolyvCataQueryBo bo) {
+        LambdaQueryWrapper<PolyvCata> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StrUtil.isNotBlank(bo.getText()), PolyvCata::getText, bo.getText());
+        lqw.like(StrUtil.isNotBlank(bo.getCataname()), PolyvCata::getCataname, bo.getCataname());
+        lqw.eq(bo.getCataid() != null, PolyvCata::getCataid, bo.getCataid());
+        lqw.eq(bo.getParentid() != null, PolyvCata::getParentid, bo.getParentid());
+        lqw.eq(StrUtil.isNotBlank(bo.getVideos()), PolyvCata::getVideos, bo.getVideos());
+        return entity2Vo(this.list(lqw));
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<PolyvCataVo> entity2Vo(Collection<PolyvCata> collection) {
+        List<PolyvCataVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, PolyvCataVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<PolyvCata> page = (Page<PolyvCata>)collection;
+            Page<PolyvCataVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(PolyvCataAddBo bo) {
+        PolyvCata add = BeanUtil.toBean(bo, PolyvCata.class);
+        validEntityBeforeSave(add);
+        add.setCreateTime(DateUtils.getNowTime());
+        add.setUpdateTime(DateUtils.getNowTime());
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(PolyvCataEditBo bo) {
+        PolyvCata update = BeanUtil.toBean(bo, PolyvCata.class);
+        validEntityBeforeSave(update);
+        update.setUpdateTime(DateUtils.getNowTime());
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(PolyvCata entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+}

+ 144 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/service/impl/PolyvVideoServiceImpl.java

@@ -6,15 +6,21 @@ import cn.hutool.core.util.StrUtil;
 import cn.hutool.http.HttpStatus;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.zhongzheng.common.core.redis.RedisCache;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.http.HttpUtils;
 import com.zhongzheng.common.utils.polyv.PolyvUtils;
+import com.zhongzheng.modules.inform.bo.InformClassifyEditBo;
+import com.zhongzheng.modules.inform.domain.InformClassify;
+import com.zhongzheng.modules.polyv.bo.PolyvCataQueryBo;
+import com.zhongzheng.modules.polyv.domain.PolyvCata;
 import com.zhongzheng.modules.polyv.domain.PolyvVideDo;
-import com.zhongzheng.modules.polyv.vo.PolyvVideoQuerVo;
+import com.zhongzheng.modules.polyv.service.IPolyvCataService;
+import com.zhongzheng.modules.polyv.vo.*;
 import com.zhongzheng.modules.polyv.domain.TokenResponse;
-import com.zhongzheng.modules.polyv.vo.PolyvVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -27,7 +33,6 @@ import com.zhongzheng.modules.polyv.bo.PolyvVideoQueryBo;
 import com.zhongzheng.modules.polyv.bo.PolyvVideoEditBo;
 import com.zhongzheng.modules.polyv.domain.PolyvVideo;
 import com.zhongzheng.modules.polyv.mapper.PolyvVideoMapper;
-import com.zhongzheng.modules.polyv.vo.PolyvVideoVo;
 import com.zhongzheng.modules.polyv.service.IPolyvVideoService;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -62,6 +67,9 @@ public class PolyvVideoServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVi
     @Autowired
     private RedisCache redisCache;
 
+    @Autowired
+    private IPolyvCataService iPolyvCataService;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public PolyvVideoQuerVo queryById(String VId) throws Exception {
@@ -207,6 +215,139 @@ public class PolyvVideoServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVi
         return polyvVo;
     }
 
+    @Override
+    public List<PolyvCataData> queryCataList(PolyvVideoQueryBo bo) throws Exception {
+        //获得保利威sign
+        Long ptime = System.currentTimeMillis();
+        Map<String,String> map = new HashMap<>();
+        map.put("ptime",ptime.toString());
+        map.put("userid",poliv_token_userid);
+        String sign = PolyvUtils.getSign(map, poliv_token_secretkey);
+
+        //发送请求
+        String param = "ptime="+ptime+"&userid="+poliv_token_userid+"&sign="+sign;
+        String polyvVide = HttpUtils.sendGet("http://api.polyv.net/v2/video/" + poliv_token_userid + "/cataJson", param);
+        JSONObject jsonObject = JSONObject.parseObject(polyvVide);
+        //非200抛出异常
+        if (HttpStatus.HTTP_OK != Convert.toInt(jsonObject.get("code"))){
+            throw new RuntimeException(Convert.toStr(jsonObject.get("message")));
+        }
+        //将数据加入数据库
+        JSONArray jsonArray=jsonObject.getJSONArray("data");
+        List<PolyvCataData> list=jsonArray.toJavaList(PolyvCataData.class);
+        for (PolyvCataData polyvCataData : list) {
+            PolyvCataQueryBo polyvCataQueryBo = new PolyvCataQueryBo();
+            polyvCataQueryBo.setCataid(polyvCataData.getCataid());
+            List<PolyvCataVo> polyvCataVos = iPolyvCataService.queryList(polyvCataQueryBo);
+            if (CollectionUtils.isNotEmpty(polyvCataVos)){
+                PolyvCata polyvCata = BeanUtil.toBean(polyvCataData, PolyvCata.class);
+                LambdaQueryWrapper<PolyvCata> lqw = Wrappers.lambdaQuery();
+                lqw.eq( PolyvCata::getCataid, polyvCataData.getCataid());
+                polyvCata.setUpdateTime(DateUtils.getNowTime());
+                iPolyvCataService.update(polyvCata,lqw);
+                List<Nodes> listOne=polyvCataData.getNodes();
+                if (CollectionUtils.isNotEmpty(listOne)){
+                    for (Nodes cata : listOne) {
+                        PolyvCata polyvCataOne = BeanUtil.toBean(cata, PolyvCata.class);
+                        LambdaQueryWrapper<PolyvCata> lqwOne = Wrappers.lambdaQuery();
+                        lqw.eq( PolyvCata::getCataid, polyvCataData.getCataid());
+                        polyvCataOne.setUpdateTime(DateUtils.getNowTime());
+                        iPolyvCataService.update(polyvCataOne,lqwOne);
+                        List<Nodes> listTwo=cata.getNodes();
+                        if (CollectionUtils.isNotEmpty(listTwo)){
+                            for (Nodes cataTwo : listTwo) {
+                                PolyvCata polyvCataTwo = BeanUtil.toBean(cataTwo, PolyvCata.class);
+                                LambdaQueryWrapper<PolyvCata> lqwTwo = Wrappers.lambdaQuery();
+                                lqw.eq( PolyvCata::getCataid, polyvCataData.getCataid());
+                                polyvCataTwo.setUpdateTime(DateUtils.getNowTime());
+                                iPolyvCataService.update(polyvCataTwo,lqwTwo);
+                                List<Nodes> listThree=cataTwo.getNodes();
+                                if (CollectionUtils.isNotEmpty(listThree)){
+                                    for (Nodes cataThree : listThree) {
+                                        PolyvCata polyvCataThree = BeanUtil.toBean(cataThree, PolyvCata.class);
+                                        LambdaQueryWrapper<PolyvCata> lqwThree = Wrappers.lambdaQuery();
+                                        lqw.eq( PolyvCata::getCataid, polyvCataData.getCataid());
+                                        polyvCataThree.setUpdateTime(DateUtils.getNowTime());
+                                        iPolyvCataService.update(polyvCataThree,lqwThree);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+
+
+            }else {
+                PolyvCata polyvCata = BeanUtil.toBean(polyvCataData, PolyvCata.class);
+                polyvCata.setCreateTime(DateUtils.getNowTime());
+                polyvCata.setUpdateTime(DateUtils.getNowTime());
+                iPolyvCataService.save(polyvCata);
+
+                List<Nodes> listOne=polyvCataData.getNodes();
+                if (CollectionUtils.isNotEmpty(listOne)){
+                    for (Nodes cata : listOne) {
+                        PolyvCata polyvCataOne = BeanUtil.toBean(cata, PolyvCata.class);
+                        polyvCataOne.setCreateTime(DateUtils.getNowTime());
+                        polyvCataOne.setUpdateTime(DateUtils.getNowTime());
+                        iPolyvCataService.save(polyvCataOne);
+                        List<Nodes> listTwo=cata.getNodes();
+                        if (CollectionUtils.isNotEmpty(listTwo)){
+                            for (Nodes cataTwo : listTwo) {
+                                PolyvCata polyvCataTwo = BeanUtil.toBean(cataTwo, PolyvCata.class);
+                                polyvCataTwo.setCreateTime(DateUtils.getNowTime());
+                                polyvCataTwo.setUpdateTime(DateUtils.getNowTime());
+                                iPolyvCataService.save(polyvCataTwo);
+                                List<Nodes> listThree=cataTwo.getNodes();
+                                if (CollectionUtils.isNotEmpty(listThree)){
+                                    for (Nodes cataThree : listThree) {
+                                        PolyvCata polyvCataThree = BeanUtil.toBean(cataThree, PolyvCata.class);
+                                        polyvCataThree.setCreateTime(DateUtils.getNowTime());
+                                        polyvCataThree.setUpdateTime(DateUtils.getNowTime());
+                                        iPolyvCataService.save(polyvCataThree);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        return list;
+    }
+
+
+    @Override
+    public List<PolyvVideoVo> queryPolyv(PolyvVideoQueryBo bo) throws Exception {
+        //获得保利威sign
+        Long ptime = System.currentTimeMillis();
+        Map<String,String> map = new HashMap<>();
+        map.put("ptime",ptime.toString());
+        map.put("userid",poliv_token_userid);
+        String sign = PolyvUtils.getSign(map, poliv_token_secretkey);
+
+        //发送请求
+        String param = "userid="+poliv_token_userid+"&ptime="+ptime+"&sign="+sign;
+        if (StringUtils.isNotBlank(bo.getCataid())){
+            param.concat("&cataid="+bo.getCataid());
+        }
+        if (StringUtils.isNotBlank(bo.getTag())){
+            param.concat("&tag="+bo.getTag());
+        }
+       /* if (StringUtils.isNotBlank(bo.getKe())){
+            param.concat("&tag="+bo.getTag());
+        }*/
+        String polyvVide = HttpUtils.sendGet("http://api.polyv.net/v2/video/" + poliv_token_userid + "/search", param);
+        JSONObject jsonObject = JSONObject.parseObject(polyvVide);
+        //非200抛出异常
+        if (HttpStatus.HTTP_OK != Convert.toInt(jsonObject.get("code"))){
+            throw new RuntimeException(Convert.toStr(jsonObject.get("message")));
+        }
+        //将数据展示
+        JSONArray jsonArray=jsonObject.getJSONArray("data");
+        List<PolyvVideoVo> list=jsonArray.toJavaList(PolyvVideoVo.class);
+        return list;
+    }
+
 
     public void polyvbRequest(String VId) throws Exception {
         //获得保利威sign

+ 28 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/vo/Nodes.java

@@ -0,0 +1,28 @@
+/**
+  * Copyright 2022 json.cn 
+  */
+package com.zhongzheng.modules.polyv.vo;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 保利威视频信息视图对象 mall_package
+ *
+ * @author change
+ * @date 2022-06-11
+ */
+@Data
+@ApiModel("保利威视频信息视图Quer对象")
+public class Nodes {
+
+    private String text;
+    private String cataname;
+    private String catatree;
+    private Long cataid;
+    private Long parentid;
+    private Long videos;
+    private List<Nodes> nodes;
+
+}

+ 29 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/vo/PolyvCataData.java

@@ -0,0 +1,29 @@
+/**
+  * Copyright 2022 json.cn 
+  */
+package com.zhongzheng.modules.polyv.vo;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 保利威视频信息视图对象 mall_package
+ *
+ * @author change
+ * @date 2021-06-11
+ */
+@Data
+@ApiModel("保利威视频信息视图Quer对象")
+public class PolyvCataData {
+
+    private String text;
+    private String cataname;
+    private String catatree;
+    private Long cataid;
+    private Long parentid;
+    private Long videos;
+    private List<Nodes> nodes;
+
+
+}

+ 47 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/polyv/vo/PolyvCataVo.java

@@ -0,0 +1,47 @@
+package com.zhongzheng.modules.polyv.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 保利威分类视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2022-01-11
+ */
+@Data
+@ApiModel("保利威分类视图对象")
+public class PolyvCataVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long id;
+
+	/** $column.columnComment */
+	@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
+	@ApiModelProperty("$column.columnComment")
+	private String text;
+	/** $column.columnComment */
+	@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
+	@ApiModelProperty("$column.columnComment")
+	private String cataname;
+	/** $column.columnComment */
+	@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
+	@ApiModelProperty("$column.columnComment")
+	private Long cataid;
+	/** $column.columnComment */
+	@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
+	@ApiModelProperty("$column.columnComment")
+	private Long parentid;
+	/** $column.columnComment */
+	@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
+	@ApiModelProperty("$column.columnComment")
+	private String videos;
+}

+ 19 - 0
zhongzheng-system/src/main/resources/mapper/modules/polyv/PolyvCataMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhongzheng.modules.polyv.mapper.PolyvCataMapper">
+
+    <resultMap type="com.zhongzheng.modules.polyv.domain.PolyvCata" id="PolyvCataResult">
+        <result property="id" column="id"/>
+        <result property="text" column="text"/>
+        <result property="cataname" column="cataname"/>
+        <result property="cataid" column="cataid"/>
+        <result property="parentid" column="parentid"/>
+        <result property="videos" column="videos"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
+
+</mapper>