Sfoglia il codice sorgente

Merge branch 'dev'

yangdamao 1 anno fa
parent
commit
42e256abb5
17 ha cambiato i file con 362 aggiunte e 88 eliminazioni
  1. 1 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/grade/ClassGradeController.java
  2. 7 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/order/OrderController.java
  3. BIN
      zhongzheng-common/src/main/resources/static/779352047136603/003.jpg
  4. BIN
      zhongzheng-common/src/main/resources/static/779352047136603/006.jpg
  5. 161 80
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/impl/CertificateTpServiceImpl.java
  6. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java
  7. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassPeriodSectionVo.java
  8. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassPeriodVo.java
  9. 23 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderExportNewBo.java
  10. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderMapper.java
  11. 3 4
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderService.java
  12. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java
  13. 92 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderExportNewVo.java
  14. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java
  15. 10 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserSubscribeServiceImpl.java
  16. 2 2
      zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml
  17. 45 0
      zhongzheng-system/src/main/resources/mapper/modules/order/OrderMapper.xml

+ 1 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/grade/ClassGradeController.java

@@ -528,6 +528,7 @@ public class ClassGradeController extends BaseController {
     public TableDataInfo<ClassPeriodVo> listPeriodAudit(ClassGradeUserQueryBo bo) {
         startPage();
         List<ClassPeriodVo> list = iClassGradeUserService.listPeriodAudit(bo);
+
         return getDataTable(list);
     }
 

+ 7 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/order/OrderController.java

@@ -250,4 +250,11 @@ public class OrderController extends BaseController {
         return toAjax(iOrderGoodsService.mailOrderHandle(bo)?1:0);
     }
 
+    @ApiOperation("订单导出")
+    @PostMapping("/export/new")
+    public AjaxResult<Void> exportNew(@RequestBody OrderExportNewBo bo) {
+        List<OrderExportNewVo> list = iOrderService.exportNew(bo);
+        ExcelUtil<OrderExportNewVo> util = new ExcelUtil<>(OrderExportNewVo.class);
+        return util.exportExcel(list,"订单记录");
+    }
 }

BIN
zhongzheng-common/src/main/resources/static/779352047136603/003.jpg


BIN
zhongzheng-common/src/main/resources/static/779352047136603/006.jpg


+ 161 - 80
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/impl/CertificateTpServiceImpl.java

@@ -306,6 +306,7 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
     }
 
     private void  drawCertificate(CertificateTpVo tpVo,GoodsVo goodsVo,ClassGradeUserQueryBo bo,UserVo userVo,UserStudyRecordVo studyRecordVo,ClassGradeUser classGradeUser,List<CourseChapterVo> chapterList,Long moduleId){
+        String tenantId = ServletUtils.getRequest().getHeader("TenantId");
         String nowDate = DateUtils.getDate();
         if("certificate01".equals(tpVo.getKeyValue())){
             CertificatePhotoVo vo = new CertificatePhotoVo();
@@ -378,8 +379,12 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
             vo.setDateM(nowDate.substring(5, 7));
             vo.setDateD(nowDate.substring(8, 10));
             vo.setMajor("一级建造师继续教育培训");
-            vo.setRemark1("其中必修");
-            vo.setRemark2("课 "+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            if (tenantId.equals("779352047136603")){
+                vo.setRemark1("其中必修课"+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            }else {
+                vo.setRemark1("其中必修");
+                vo.setRemark2("课 "+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            }
             vo.setTrainStartTime(studyRecordVo.getFirstStartTime()); //培训开始时间
             vo.setTrainEndTime(classGradeUser.getPeriodWaitTime());//学时变为待审核时间,也是学习完成时间
             List<String> chapterListTxt = changeChapterList(chapterList);
@@ -413,8 +418,12 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
             vo.setDateM(nowDate.substring(5, 7));
             vo.setDateD(nowDate.substring(8, 10));
             vo.setMajor("一级建造师继续教育培训");
-            vo.setRemark1("其中建");
-            vo.setRemark2("筑工程课 "+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            if (tenantId.equals("779352047136603")){
+                vo.setRemark1("其中建筑工程课"+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            }else {
+                vo.setRemark1("其中建");
+                vo.setRemark2("筑工程课 "+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            }
             vo.setTrainStartTime(studyRecordVo.getFirstStartTime()); //培训开始时间
             vo.setTrainEndTime(classGradeUser.getPeriodWaitTime());//学时变为待审核时间,也是学习完成时间
             List<String> chapterListTxt = changeChapterList(chapterList);
@@ -448,8 +457,12 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
             vo.setDateM(nowDate.substring(5, 7));
             vo.setDateD(nowDate.substring(8, 10));
             vo.setMajor("一级建造师继续教育培训");
-            vo.setRemark1("其中机");
-            vo.setRemark2("电工程课 "+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            if (tenantId.equals("779352047136603")){
+                vo.setRemark1("其中机电工程课"+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            }else {
+                vo.setRemark1("其中机");
+                vo.setRemark2("电工程课 "+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            }
             vo.setTrainStartTime(studyRecordVo.getFirstStartTime()); //培训开始时间
             vo.setTrainEndTime(classGradeUser.getPeriodWaitTime());//学时变为待审核时间,也是学习完成时间
             List<String> chapterListTxt = changeChapterList(chapterList);
@@ -483,8 +496,12 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
             vo.setDateM(nowDate.substring(5, 7));
             vo.setDateD(nowDate.substring(8, 10));
             vo.setMajor("一级建造师继续教育培训");
-            vo.setRemark1("其中市");
-            vo.setRemark2("政公用工程课 "+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            if (tenantId.equals("779352047136603")){
+                vo.setRemark1("其中市政公用工程课"+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            }else {
+                vo.setRemark1("其中市");
+                vo.setRemark2("政公用工程课 "+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            }
             vo.setTrainStartTime(studyRecordVo.getFirstStartTime()); //培训开始时间
             vo.setTrainEndTime(classGradeUser.getPeriodWaitTime());//学时变为待审核时间,也是学习完成时间
             List<String> chapterListTxt = changeChapterList(chapterList);
@@ -518,8 +535,12 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
             vo.setDateM(nowDate.substring(5, 7));
             vo.setDateD(nowDate.substring(8, 10));
             vo.setMajor("一级建造师继续教育培训");
-            vo.setRemark1("其中公");
-            vo.setRemark2("路工程课 "+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            if (tenantId.equals("779352047136603")){
+                vo.setRemark1("其中公路工程课"+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            }else {
+                vo.setRemark1("其中公");
+                vo.setRemark2("路工程课 "+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            }
             vo.setTrainStartTime(studyRecordVo.getFirstStartTime()); //培训开始时间
             vo.setTrainEndTime(classGradeUser.getPeriodWaitTime());//学时变为待审核时间,也是学习完成时间
             List<String> chapterListTxt = changeChapterList(chapterList);
@@ -554,8 +575,12 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
             vo.setDateM(nowDate.substring(5, 7));
             vo.setDateD(nowDate.substring(8, 10));
             vo.setMajor("一级建造师继续教育培训");
-            vo.setRemark1("其中水");
-            vo.setRemark2("利水电课 "+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            if (tenantId.equals("779352047136603")){
+                vo.setRemark1("其中水利水电课"+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            }else {
+                vo.setRemark1("其中水");
+                vo.setRemark2("利水电课 "+goodsVo.getClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP )+" 学时,测试成绩合格。");
+            }
             vo.setTrainStartTime(studyRecordVo.getFirstStartTime()); //培训开始时间
             vo.setTrainEndTime(classGradeUser.getPeriodWaitTime());//学时变为待审核时间,也是学习完成时间
             List<String> chapterListTxt = changeChapterList(chapterList);
@@ -788,7 +813,10 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
         String tenantId = ToolsUtils.getTenantId();
         if(tenantId.equals("694515817698614")){
             return tenantId;
-        }else {
+        }else if(tenantId.equals("779352047136603")){
+            return tenantId;
+        }
+        else {
             return "867735392558919680";
         }
     }
@@ -797,7 +825,9 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
         String tenantId = ToolsUtils.getTenantId();
         if(tenantId.equals("694515817698614")){
             return false;
-        }else {
+        }else if(tenantId.equals("779352047136603")){
+            return false;
+        } else {
             return true;
         }
     }
@@ -874,7 +904,7 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
     }
 
     private  String drawPicOneBuild(CertificatePhotoVo entity){
-        Font font = new Font("宋体", Font.BOLD, 20);// 添加字体的属性设置 微软雅黑
+        Font font = new Font("宋体", Font.BOLD, 60);// 添加字体的属性设置 微软雅黑
         String imgName = null;
         try {
             // 加载本地图片
@@ -888,22 +918,34 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
             // 设置文本样式
             g.setFont(font);
             g.setColor(Color.BLACK);
+            String tenantId = ToolsUtils.getTenantId();
+            if ("779352047136603".equals(tenantId)){
+                g.drawString(entity.getCode(), 570, 1850);
+                g.drawString(entity.getRealname(), 680, 1020);
+                g.drawString(entity.getSex(), 1457, 1020);
+                g.drawString(entity.getIdCard(), 2278, 1020);
+                g.drawString(entity.getDateY(), 491, 1265);
+                g.drawString(entity.getDateM(), 962, 1265);
+                g.drawString(entity.getMajor(), 2080, 1265);
+                g.drawString(entity.getRemark1(), 405, 1470);
+                g.drawString(entity.getDateY(), 2450, 2000);
+                g.drawString(entity.getDateM(), 2720, 2000);
+                g.drawString(entity.getDateD(), 2850, 2000);
+            }else {
+                g.drawString(entity.getCode(), 273, 635);
+                g.drawString(entity.getRealname(), 828, 265);
+                g.drawString(entity.getSex(), 1015, 265);
+                g.drawString(entity.getIdCard(), 833, 315);
+                g.drawString(entity.getDateY(), 780, 365);
+                g.drawString(entity.getDateM(), 905, 365);
+                g.drawString(entity.getMajor(), 728, 408);
+                g.drawString(entity.getRemark1(), 1035, 408);
+                g.drawString(entity.getRemark2(), 728, 460);
+                g.drawString(entity.getDateY(), 945, 677);
+                g.drawString(entity.getDateM(), 1019, 677);
+                g.drawString(entity.getDateD(), 1071, 677);
+            }
 
-            g.drawString(entity.getCode(), 273, 635);
-            g.drawString(entity.getRealname(), 828, 265);
-            g.drawString(entity.getSex(), 1015, 265);
-            g.drawString(entity.getIdCard(), 833, 315);
-            g.drawString(entity.getDateY(), 780, 365);
-            g.drawString(entity.getDateM(), 905, 365);
-            g.drawString(entity.getMajor(), 728, 408);
-            g.drawString(entity.getRemark1(), 1035, 408);
-            g.drawString(entity.getRemark2(), 728, 460);
-
-
-
-            g.drawString(entity.getDateY(), 945, 677);
-            g.drawString(entity.getDateM(), 1019, 677);
-            g.drawString(entity.getDateD(), 1071, 677);
 
             //二维码
             String qrTxt = CERTIFICATE_HOST+"pages/certificate/index?code="+entity.getCode();
@@ -911,7 +953,11 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
             BitMatrix bitMatrix = qrCodeWriter.encode(qrTxt, BarcodeFormat.QR_CODE, 120, 120);
             BufferedImage qrImage = toBufferedImage(bitMatrix);
             // 在模板上添加用户二维码(地址,左边距,上边距,图片宽度,图片高度,未知)
-            g.drawImage(qrImage, 128, 660, 120, 120, null);
+            if ("779352047136603".equals(tenantId)){
+                g.drawImage(qrImage, 395, 1914, 300, 300    , null);
+            }else {
+                g.drawImage(qrImage, 128, 660, 120, 120, null);
+            }
             // 完成模板修改
             g.dispose();
             // 获取新文件的地址
@@ -1119,6 +1165,7 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
         Font font = new Font("微软雅黑", Font.PLAIN, 31);// 添加字体的属性设置 微软雅黑
         Font font2 = new Font("微软雅黑", Font.BOLD, 38);
         String imgName = null;
+        String tenantId = ToolsUtils.getTenantId();
         try {
             // 加载本地图片
             InputStream imgStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("static/"+getImgDir()+"/006.jpg");
@@ -1131,67 +1178,101 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
             // 设置文本样式
             g.setFont(font2);
             g.setColor(Color.BLACK);
-            g.drawString(entity.getRealname(), 165, 486);
-
-            g.setFont(font);
-
-            g.drawString(entity.getCode(), 169, 236 );
-
-            g.drawString(entity.getRealname(), 126, 696);
-
-            g.drawString(entity.getIdCard(), 298, 696);
-
-            g.drawString("二级注册建造师", 677, 668);
-            if("必修".equals(entity.getMajor())){
-                g.drawString(entity.getMajor(), 768, 718);
-            }else{
-                g.drawString("选修("+entity.getMajor()+")", 677, 718);
+            if ("779352047136603".equals(tenantId)){
+                g.drawString(entity.getRealname(), 353, 430);
+            }else {
+                g.drawString(entity.getRealname(), 165, 486);
             }
 
-
-            if("必修".equals(entity.getMajor())){
-                g.drawString(entity.getClassHours(), 980, 696);
-                g.drawString("0", 1105, 696);
-            }else{
-                g.drawString("0", 980, 696);
-                g.drawString(entity.getClassHours(), 1105, 696);
-            }
-            Integer startY = 810;
-            Integer j = 0;
-            for(String name : entity.getChapterList()){
-                if(j<14){
-                    g.drawString(name, 300, startY);
-                    startY+=50;
+            g.setFont(font);
+            if ("779352047136603".equals(tenantId)){
+                g.drawString(entity.getCode(), 316, 175 );
+                g.drawString(entity.getRealname(), 256, 652);
+                g.drawString(entity.getIdCard(), 430, 657);
+                g.drawString("二级注册建造师", 762, 640);
+                if("必修".equals(entity.getMajor())){
+                    g.drawString(entity.getMajor(), 762, 695);
                 }else{
-                    g.drawString("....", 300, startY);
-                    break;
+                    g.drawString("选修("+entity.getMajor()+")", 762, 695);
+                }
+                if("必修".equals(entity.getMajor())){
+                    g.drawString(entity.getClassHours(), 1000, 681);
+                    g.drawString("0", 1120, 681);
+                }else{
+                    g.drawString("0", 1000, 681);
+                    g.drawString(entity.getClassHours(), 1120, 681);
+                }
+                Integer startY = 810;
+                Integer j = 0;
+                for(String name : entity.getChapterList()){
+                    if(j<14){
+                        g.drawString(name, 470, startY);
+                        startY+=50;
+                    }else{
+                        g.drawString("....", 470, startY);
+                        break;
+                    }
+                    j++;
+                }
+                g.drawString(DateUtils.timestampToDateFormat(entity.getTrainStartTime(),"yyyy.MM.dd"), 1200, 640);
+                g.drawString("至", 1260, 678);
+                g.drawString(DateUtils.timestampToDateFormat(entity.getTrainEndTime(),"yyyy.MM.dd"), 1200, 710);
+                g.drawString(entity.getDateY(), 1000, 1960);
+                g.drawString(entity.getDateM(), 1128, 1960);
+                g.drawString(entity.getDateD(), 1218, 1960);
+            }else {
+                g.drawString(entity.getCode(), 169, 236 );
+                g.drawString(entity.getRealname(), 126, 696);
+                g.drawString(entity.getIdCard(), 298, 696);
+                g.drawString("二级注册建造师", 677, 668);
+                if("必修".equals(entity.getMajor())){
+                    g.drawString(entity.getMajor(), 768, 718);
+                }else{
+                    g.drawString("选修("+entity.getMajor()+")", 677, 718);
+                }
+                if("必修".equals(entity.getMajor())){
+                    g.drawString(entity.getClassHours(), 980, 696);
+                    g.drawString("0", 1105, 696);
+                }else{
+                    g.drawString("0", 980, 696);
+                    g.drawString(entity.getClassHours(), 1105, 696);
+                }
+                Integer startY = 810;
+                Integer j = 0;
+                for(String name : entity.getChapterList()){
+                    if(j<14){
+                        g.drawString(name, 300, startY);
+                        startY+=50;
+                    }else{
+                        g.drawString("....", 300, startY);
+                        break;
+                    }
+                    j++;
+                }
+                g.drawString(DateUtils.timestampToDateFormat(entity.getTrainStartTime(),"yyyy.MM.dd"), 1214, 666);
+                g.drawString("至", 1279, 705);
+                g.drawString(DateUtils.timestampToDateFormat(entity.getTrainEndTime(),"yyyy.MM.dd"), 1214, 739);
+                g.drawString(entity.getDateY(), 842, 1967);
+                g.drawString(entity.getDateM(), 979, 1967);
+                g.drawString(entity.getDateD(), 1069, 1967);
+                InputStream logoStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("static/001.png");
+                BufferedImage logoBuffered = ImageIO.read(logoStream);
+                if(haveStamp()){
+                    g.drawImage(logoBuffered, 1012, 1666, 330, 330, null);
                 }
-                j++;
-            }
-
-            g.drawString(DateUtils.timestampToDateFormat(entity.getTrainStartTime(),"yyyy.MM.dd"), 1214, 666);
-            g.drawString("至", 1279, 705);
-            g.drawString(DateUtils.timestampToDateFormat(entity.getTrainEndTime(),"yyyy.MM.dd"), 1214, 739);
-
-
-            g.drawString(entity.getDateY(), 842, 1967);
-            g.drawString(entity.getDateM(), 979, 1967);
-            g.drawString(entity.getDateD(), 1069, 1967);
-
-            InputStream logoStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("static/001.png");
-            BufferedImage logoBuffered = ImageIO.read(logoStream);
-            if(haveStamp()){
-                g.drawImage(logoBuffered, 1012, 1666, 330, 330, null);
             }
 
-
             //二维码
             String qrTxt = CERTIFICATE_HOST+"pages/certificate/index?code="+entity.getCode();
             QRCodeWriter qrCodeWriter = new QRCodeWriter();
             BitMatrix bitMatrix = qrCodeWriter.encode(qrTxt, BarcodeFormat.QR_CODE, 150, 150);
             BufferedImage qrImage = toBufferedImage(bitMatrix);
             // 在模板上添加用户二维码(地址,左边距,上边距,图片宽度,图片高度,未知)
-            g.drawImage(qrImage, 1233, 175, 150, 150, null);
+            if ("779352047136603".equals(tenantId)){
+                g.drawImage(qrImage, 1149, 45, 150, 150, null);
+            }else {
+                g.drawImage(qrImage, 1233, 175, 150, 150, null);
+            }
             // 完成模板修改
             g.dispose();
             // 获取新文件的地址

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

@@ -3425,6 +3425,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
                                         .eq(UserStudyVideo::getStatus,1));
                                 if (ObjectUtils.isNotNull(studyVideo)){
                                     classPeriodSectionVo.setVideoUrl(studyVideo.getVideoUrl());
+                                    classPeriodSectionVo.setVideoTime(DateUtils.timestampToDateFormat(studyVideo.getCreateTime(),"yyyy-MM-dd HH:mm:ss"));
                                     classPeriodSectionVo.setVideoCurrentTime(studyVideo.getVideoCurrentTime());
                                 }
                                 sectionTotal++;
@@ -3604,6 +3605,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
                             .eq(UserStudyVideo::getStatus,1));
                     if (ObjectUtils.isNotNull(studyVideo)){
                         classPeriodSectionVo.setVideoUrl(studyVideo.getVideoUrl());
+                        classPeriodSectionVo.setVideoTime(DateUtils.timestampToDateFormat(studyVideo.getCreateTime(),"yyyy-MM-dd HH:mm:ss"));
                         classPeriodSectionVo.setVideoCurrentTime(studyVideo.getVideoCurrentTime());
                     }
                     sectionTotal++;
@@ -3740,6 +3742,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
                         .eq(UserStudyVideo::getStatus,1));
                 if (ObjectUtils.isNotNull(studyVideo)){
                     classPeriodVo.setVideoUrl(studyVideo.getVideoUrl());
+                    classPeriodVo.setVideoTime(DateUtils.timestampToDateFormat(studyVideo.getCreateTime(),"yyyy-MM-dd HH:mm:ss"));
                     classPeriodVo.setVideoCurrentTime(studyVideo.getVideoCurrentTime());
                 }
                 sectionTotal++;

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

@@ -188,6 +188,9 @@ public class ClassPeriodSectionVo implements Comparable<ClassPeriodSectionVo> {
 	@ApiModelProperty("视频地址")
 	private String videoUrl;
 
+	@ApiModelProperty("视频时间")
+	private String videoTime;
+
 	@ApiModelProperty("视频当前播放时刻")
 	private Long videoCurrentTime;
 

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

@@ -224,6 +224,8 @@ public class ClassPeriodVo implements Comparable<ClassPeriodVo> {
 	private String commonGradeName;
 	@ApiModelProperty("视频地址")
 	private String videoUrl;
+	@ApiModelProperty("视频地址")
+	private String videoTime;
 
 	@ApiModelProperty("视频当前播放时刻")
 	private Long videoCurrentTime;

+ 23 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderExportNewBo.java

@@ -0,0 +1,23 @@
+package com.zhongzheng.modules.order.bo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class OrderExportNewBo implements Serializable {
+
+    @ApiModelProperty("订单号")
+    private String orderSn;
+    @ApiModelProperty("订单开始时间")
+    private Long orderStartTime;
+    @ApiModelProperty("订单结束时间")
+    private Long orderEndTime;
+    @ApiModelProperty("教育类型id")
+    private Long educationTypeId;
+    @ApiModelProperty("业务层次id")
+    private Long businessId;
+    @ApiModelProperty("公司名称")
+    private String companyName;
+}

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderMapper.java

@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
 import com.zhongzheng.modules.grade.bo.ClassGradeListBo;
 import com.zhongzheng.modules.grade.domain.ClassGrade;
+import com.zhongzheng.modules.order.bo.OrderExportNewBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsQueryBo;
 import com.zhongzheng.modules.order.bo.OrderQueryBo;
 import com.zhongzheng.modules.order.domain.Order;
+import com.zhongzheng.modules.order.vo.OrderExportNewVo;
 import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import com.zhongzheng.modules.order.vo.OrderListVo;
 import com.zhongzheng.modules.top.goods.vo.TopOldOrderInvoiceVo;
@@ -72,4 +74,6 @@ public interface OrderMapper extends BaseMapper<Order> {
     Long getOrderGoodsByBo(@Param("goodsId") Long goodsId,@Param("userId") Long userId);
 
     Long getCountByGoods(@Param("goodsIds") List<Long> goodsIds);
+
+    List<OrderExportNewVo> exportNew(OrderExportNewBo bo);
 }

+ 3 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderService.java

@@ -7,10 +7,7 @@ import com.zhongzheng.modules.goods.bo.QuestionOpenImportBo;
 import com.zhongzheng.modules.goods.vo.QuestionOpenImportVo;
 import com.zhongzheng.modules.order.bo.*;
 import com.zhongzheng.modules.order.domain.Order;
-import com.zhongzheng.modules.order.vo.OrderGoodsVo;
-import com.zhongzheng.modules.order.vo.OrderListExportVo;
-import com.zhongzheng.modules.order.vo.OrderListVo;
-import com.zhongzheng.modules.order.vo.OrderVo;
+import com.zhongzheng.modules.order.vo.*;
 import com.zhongzheng.modules.top.goods.vo.TopOldOrderInvoiceVo;
 
 import java.util.Collection;
@@ -135,4 +132,6 @@ public interface IOrderService extends IService<Order> {
     List<TopOldOrderInvoiceVo> getOrderInvoiceList(String orderSn);
 
     List<String> getBusinessNameBySn(String orderSn);
+
+	List<OrderExportNewVo> exportNew(OrderExportNewBo bo);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -3420,6 +3420,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         return baseMapper.getBusinessNameBySn(orderSn);
     }
 
+    @Override
+    public List<OrderExportNewVo> exportNew(OrderExportNewBo bo) {
+        return baseMapper.exportNew(bo);
+    }
+
     private void questionOpen(User user, QuestionMerchant merchant,UserSubscribe userSubscribe,Long loginId,String loginName) {
         //商家商品
         Goods merGoods = iGoodsService.getOne(new LambdaQueryWrapper<Goods>()

+ 92 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderExportNewVo.java

@@ -0,0 +1,92 @@
+package com.zhongzheng.modules.order.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+
+/**
+ * 订单视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2021-11-08
+ */
+@Data
+@ApiModel("订单视图对象")
+public class OrderExportNewVo implements Serializable {
+
+    /**
+     * 订单时间
+     */
+    @Excel(name = "订单时间")
+    @ApiModelProperty("订单时间")
+    private String orderTime;
+
+    /**
+     * 学员姓名
+     */
+    @Excel(name = "学员姓名")
+    @ApiModelProperty("学员姓名")
+    private String realname;
+
+    /**
+     * 手机号码
+     */
+    @Excel(name = "手机号码")
+    @ApiModelProperty("手机号码")
+    private String telphone;
+
+    /**
+     * 身份证号
+     */
+    @Excel(name = "身份证号")
+    @ApiModelProperty("身份证号")
+    private String idCard;
+
+    @Excel(name = "公司名称")
+    @ApiModelProperty("公司名称")
+    private String companyName;
+    /**
+     * 订单编号
+     */
+    @Excel(name = "订单编号")
+    @ApiModelProperty("订单编号")
+    private String orderSn;
+
+    /**
+     * 商品名称
+     */
+    @Excel(name = "商品名称")
+    @ApiModelProperty("商品名称")
+    private String goodsName;
+
+    /**
+     * 报名岗位
+     */
+    @Excel(name = "报名岗位")
+    @ApiModelProperty("报名岗位")
+    private String majorName;
+
+    /**
+     * 商品年份
+     */
+    @Excel(name = "商品年份")
+    @ApiModelProperty("商品年份")
+    private String goodsYear;
+
+    /**
+     * 是否关闭过订单
+     */
+    @Excel(name = "订单是否关闭")
+    @ApiModelProperty("订单是否关闭")
+    private String orderStatus;
+
+    @Excel(name = "是否学时复购冲突")
+    @ApiModelProperty("是否学时复购冲突")
+    private String studyStatus;
+
+}

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java

@@ -5218,7 +5218,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
             TopOldOrderStudyVo studyVo = studyVos.stream().filter(x -> x.getUnderOrdeEnrollItemId().equals(vo.getSignId())
                     && x.getIdNum().equals(vo.getUserCard())).findFirst().orElse(null);
             if (ObjectUtils.isNotNull(studyVo) && ObjectUtils.isNotNull(studyVo.getStudyHours())) {
-                if (ObjectUtils.isNull(studyVo.getStudyHours()) && studyVo.getStudyHours() == 0) {
+                if (studyVo.getStudyHours() == 0) {
                     vo.setStudyStatus("未开始");
                 } else if (studyVo.getStudyHours() < studyVo.getTotalHours()) {
                     vo.setStudyStatus("学习中");

+ 10 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserSubscribeServiceImpl.java

@@ -2903,7 +2903,16 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
 
                 String keyValue = profile.getKeyValue();
                 applyExport.setSex(getUserProfileValue(keyValue, "sex"));
-                applyExport.setEducation(getUserProfileValue(keyValue, "education"));
+                String education = getUserProfileValue(keyValue, "education");
+                if(education.equals("小学")||education.equals("中学")||education.equals("高中")||education.equals("中职(含技工学校)")){
+                    applyExport.setEducation("中职(含技工学校)");
+                }
+                else if(education.equals("本科")||education.equals("硕士研究生")||education.equals("博士研究生")||education.equals("本科及以上")){
+                    applyExport.setEducation("本科及以上");
+                }
+                else{
+                    applyExport.setEducation("专科(含高职和技师学院)");
+                }
                 applyExport.setCompanyName(getUserProfileValue(keyValue, "work_unit"));
                 applyExport.setPostName(getUserProfileValue(keyValue, "apply_post"));
                 applyExport.setMajorName(getUserProfileValue(keyValue, "major"));

+ 2 - 2
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml

@@ -995,7 +995,7 @@
             (SELECT FROM_UNIXTIME( ups.audit_time, '%Y-%m-%d %H:%i:%s' ) FROM user_period up
                         LEFT JOIN user_period_status ups ON up.id = ups.period_id WHERE up.order_goods_id = cgu.order_goods_id LIMIT 1 ) AS noPassTime,
             '是' AS restart,
-	        (SELECT FROM_UNIXTIME( ups.record_start_time , '%Y-%m-%d %H:%i:%s' ) FROM user_period up LEFT JOIN user_period_status ups ON up.id = ups.period_id WHERE up.order_goods_id = cgu.order_goods_id AND ups.`status` = 3
+	        (SELECT FROM_UNIXTIME( ups.record_start_time , '%Y-%m-%d %H:%i:%s' ) FROM user_period up LEFT JOIN user_period_status ups ON up.id = ups.period_id WHERE up.order_goods_id = cgu.order_goods_id AND ups.`status` = 2
 	            AND ups.record_start_time IS NOT NULL ORDER BY ups.record_start_time  LIMIT 1) AS restartTime
         FROM
             class_grade_user cgu
@@ -1006,7 +1006,7 @@
         WHERE
            cgu.`status` = 1
           AND cgu.period_status = -1
-          AND (SELECT COUNT(*) FROM user_period up LEFT JOIN user_period_status ups ON up.id = ups.period_id WHERE up.order_goods_id = cgu.order_goods_id AND ups.`status` = 3 AND ups.record_start_time IS NOT NULL ) > 0
+          AND (SELECT COUNT(*) FROM user_period up LEFT JOIN user_period_status ups ON up.id = ups.period_id WHERE up.order_goods_id = cgu.order_goods_id AND ups.`status` = 3 ) > 0
     </select>
 
     <select id="listUserWeekStudyTime" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"

+ 45 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderMapper.xml

@@ -733,4 +733,49 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach>
     </select>
 
+    <select id="exportNew" resultType="com.zhongzheng.modules.order.vo.OrderExportNewVo"
+            parameterType="com.zhongzheng.modules.order.bo.OrderExportNewBo">
+        SELECT
+            FROM_UNIXTIME( og.create_time, '%Y-%m-%d %H:%i:%s' ) AS orderTime,
+            u.realname AS realname,
+            AES_DECRYPT( UNHEX( u.id_card ), 'base20230213zzkj' ) AS idCard,
+            AES_DECRYPT( UNHEX( u.telphone ), 'base20230213zzkj' ) AS telphone,
+            u.company_name AS companyName,
+            m.category_name AS majorName,
+            g.seven_year AS goodsYear,
+            CASE
+            WHEN og.`status` = 1 THEN
+            '否'
+            WHEN og.`status` = 0 THEN
+            '是' ELSE '其他'
+            END AS orderStatus
+        FROM
+            order_goods og
+        LEFT JOIN `order` o ON og.order_sn = o.order_sn
+        LEFT JOIN `user` u ON o.user_id = u.user_id
+        LEFT JOIN goods g ON og.goods_id = g.goods_id
+        LEFT JOIN major m ON g.major_id = m.id
+        WHERE
+        og.refund_status != 2
+        AND og.pay_status != 1
+        <if test="orderSn != null and orderSn != ''">
+            AND o.order_sn = #{orderSn}
+        </if>
+        <if test="orderStartTime != null and orderStartTime != ''">
+            AND og.create_time <![CDATA[ >= ]]> #{orderStartTime}
+        </if>
+        <if test="orderEndTime != null and orderEndTime != ''">
+            AND og.create_time <![CDATA[ <= ]]> #{orderEndTime}
+        </if>
+        <if test="educationTypeId != null and educationTypeId != ''">
+            AND g.education_type_id = #{educationTypeId}
+        </if>
+        <if test="businessId != null and businessId != ''">
+            AND g.business_id = #{businessId}
+        </if>
+        <if test="companyName != null and companyName != ''">
+            AND u.company_name = #{companyName}
+        </if>
+    </select>
+
 </mapper>