Browse Source

fix 我的网课

he2802 3 years ago
parent
commit
0beeb1c10d

+ 12 - 5
zhongzheng-common/src/main/java/com/zhongzheng/common/utils/file/FileUtils.java

@@ -8,10 +8,11 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.*;
 import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
+import java.util.UUID;
 
 /**
  * 文件处理工具类
- * 
+ *
  * @author zhongzheng
  */
 public class FileUtils extends org.apache.commons.io.FileUtils
@@ -20,7 +21,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils
 
     /**
      * 输出指定文件的byte数组
-     * 
+     *
      * @param filePath 文件路径
      * @param os 输出流
      * @return
@@ -76,7 +77,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils
 
     /**
      * 删除文件
-     * 
+     *
      * @param filePath 文件
      * @return
      */
@@ -95,7 +96,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils
 
     /**
      * 文件名称验证
-     * 
+     *
      * @param filename 文件名称
      * @return true 正常 false 非法
      */
@@ -130,7 +131,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils
 
     /**
      * 下载文件名重新编码
-     * 
+     *
      * @param request 请求对象
      * @param fileName 文件名
      * @return 编码后的文件名
@@ -196,4 +197,10 @@ public class FileUtils extends org.apache.commons.io.FileUtils
         String encode = URLEncoder.encode(s, StandardCharsets.UTF_8.toString());
         return encode.replaceAll("\\+", "%20");
     }
+
+    public static String encodingZipFilename(String prefix)
+    {
+        String  filename = prefix+"_"+ UUID.randomUUID().toString() + ".zip";
+        return filename;
+    }
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/ClassGradeUserQueryBo.java

@@ -144,4 +144,7 @@ public class ClassGradeUserQueryBo extends BaseEntity {
 
 	@ApiModelProperty("班级名称")
 	private String className;
+
+	@ApiModelProperty("是否学时推送 0未推送 1推送")
+	private Integer periodPlush;
 }

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

@@ -16,6 +16,7 @@ import com.zhongzheng.common.core.redis.RedisLockEntity;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.AES;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.common.utils.file.FileUtils;
 import com.zhongzheng.common.utils.http.HttpUtils;
 import com.zhongzheng.common.utils.polyv.PolyvUtils;
 import com.zhongzheng.modules.alioss.service.OssService;
@@ -747,7 +748,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
     private Map<String,Object> fillList(List<ClassPeriodStudentExportVo> list) {
         List<ClassPeriodStudentExportAllVo> newList = new ArrayList<>();
         Map<String,Object> rs = new HashMap<>();
-        String filename = encodingFilename();
+        String filename = FileUtils.encodingZipFilename("用户压缩数据");
         String zipFile = getZipAbsoluteFile(filename);
         try {
             ZipOutputStream outStream = new ZipOutputStream(new FileOutputStream(zipFile));
@@ -776,11 +777,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         return rs;
     }
 
-    public String encodingFilename()
-    {
-        String  filename = "用户压缩数据_"+UUID.randomUUID().toString() + ".zip";
-        return filename;
-    }
+
 
     private String getZipAbsoluteFile(String filename)
     {

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/impl/WxPayServiceImpl.java

@@ -405,9 +405,10 @@ public class WxPayServiceImpl implements IWxPayService {
                     //设置商品服务期
                     g = setServiceTime(g);
                     iOrderGoodsService.updateById(g);
+                    joinLockGrade(order.getOrderSn(), g.getGoodsId(), g.getOrderGoodsId());
                     //给用户增加商品考试次数前培次数
                     updateUserExamGoods(g, order);
-                    joinLockGrade(order.getOrderSn(), g.getGoodsId(), g.getOrderGoodsId());
+
                 }
             }
 

+ 8 - 12
zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml

@@ -492,7 +492,7 @@
         <if test="userId != null and userId != ''">
         ,
         (SELECT exam_status from user_subscribe where user_id = #{userId} and goods_id = g.goods_id and subscribe_status = 1 ORDER BY subscribe_id desc limit 1)as sub_exam_status,
-        (SELECT performance from user_subscribe where user_id = #{userId}and goods_id = g.goods_id and subscribe_status = 1 ORDER BY subscribe_id desc limit 1)as sub_performance,
+        (SELECT performance from user_subscribe where user_id = #{userId} and goods_id = g.goods_id and subscribe_status = 1 ORDER BY subscribe_id desc limit 1)as sub_performance,
         (SELECT `result` from user_subscribe where user_id = #{userId} and goods_id = g.goods_id and subscribe_status = 1 ORDER BY subscribe_id desc limit 1)as sub_result,
         (SELECT subscribe_id from user_subscribe where user_id = #{userId} and goods_id = g.goods_id and subscribe_status = 1 ORDER BY subscribe_id desc limit 1)as subscribe_id,
         (SELECT apply_site_start_time from user_subscribe where user_id = #{userId} and goods_id = g.goods_id and subscribe_status = 1 ORDER BY subscribe_id desc limit 1)as sub_apply_site_start_time,
@@ -568,8 +568,13 @@
     </select>
     <select id="gradeIdSelect" parameterType="map"  resultMap="ClassGradeVoResult" >
         SELECT
-
-               IFNULL(ge.exam_num,0) as exam_num,
+         (SELECT
+        COUNT( m.id )
+        FROM
+        goods_course c  LEFT JOIN  course_menu_exam m ON m.course_id = c.course_id
+        where
+        m.type = 1
+        and c.goods_id = #{goodsId}) as exam_num,
         (SELECT COUNT(DISTINCT ubr.module_id,ubr.chapter_id,ubr.exam_id) FROM user_bank_record ubr LEFT JOIN class_grade_goods cgg on cgg.goods_id
         = ubr.goods_id where ubr.`status`=1 and ubr.report_status=1 and ubr.grade_id = cg.grade_id and ubr.user_id = cgu.user_id and ubr.current_status = 1) as record_num,
             cgu.grade_id,
@@ -591,15 +596,6 @@
             class_grade_user cgu
                 LEFT JOIN class_grade cg on cgu.grade_id = cg.grade_id
                 LEFT JOIN class_grade_goods cgg on cg.grade_id = cgg.grade_id
-        LEFT JOIN (SELECT
-        COUNT( m.id ) AS exam_num,
-        c.goods_id
-        FROM
-        course_menu_exam m
-        LEFT JOIN goods_course c ON m.course_id = c.course_id
-        where
-        m.type = 1
-        GROUP BY c.goods_id ) ge on #{goodsId} = ge.goods_id
         WHERE
             1=1
         <if test="gradeId != null and gradeId != ''">

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

@@ -342,6 +342,9 @@
         LEFT JOIN goods g on cgg.goods_id = g.goods_id
         where 1=1
         and cgu.`status` =1
+        <if test="periodPlush != null and periodPlush != ''">
+            AND cgu.period_plush = #{periodPlush}
+        </if>
         <if test="officialStatus != null and officialStatus != ''">
             AND cgu.official_status = #{officialStatus}
         </if>