he2802 3 سال پیش
والد
کامیت
8fff401d18

+ 23 - 4
zhongzheng-admin/src/main/java/com/zhongzheng/controller/goods/GoodsController.java

@@ -4,6 +4,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Arrays;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.lang.Validator;
 import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.modules.bank.bo.ExamQuestionQueryBo;
 import com.zhongzheng.modules.bank.service.IQuestionService;
@@ -15,10 +17,9 @@ import com.zhongzheng.modules.goods.domain.Goods;
 import com.zhongzheng.modules.goods.service.IGoodsAttachedService;
 import com.zhongzheng.modules.goods.service.IGoodsAuditionConfigService;
 import com.zhongzheng.modules.goods.service.IGoodsService;
-import com.zhongzheng.modules.goods.vo.GoodsAttachedVo;
-import com.zhongzheng.modules.goods.vo.GoodsAuditionConfigVo;
-import com.zhongzheng.modules.goods.vo.GoodsUserQuestionVo;
-import com.zhongzheng.modules.goods.vo.GoodsVo;
+import com.zhongzheng.modules.goods.vo.*;
+import com.zhongzheng.modules.grade.vo.StudyAccountStatusExportVo;
+import com.zhongzheng.modules.order.vo.OrderVo;
 import com.zhongzheng.modules.user.bo.UserExamRecordQueryBo;
 import com.zhongzheng.modules.user.entity.ClientLoginUser;
 import lombok.RequiredArgsConstructor;
@@ -74,6 +75,24 @@ public class GoodsController extends BaseController {
         return getDataTable(list);
     }
 
+    @ApiOperation("导出直播商品列表")
+    @PreAuthorize("@ss.hasPermi('system:goods:list')")
+    @GetMapping("/export_list")
+    public AjaxResult<ExportLiveGoodsVo> export_list(GoodsQueryBo bo) {
+        List<GoodsVo> list = iGoodsService.selectList(bo);
+        List<ExportLiveGoodsVo> list1 = new ArrayList<>();
+        for(GoodsVo vo : list){
+            ExportLiveGoodsVo goodsVo = BeanUtil.toBean(vo, ExportLiveGoodsVo.class);
+            goodsVo.setBusinessName(vo.getEducationName()+"-"+vo.getProjectName()+"-"+vo.getBusinessName());
+            if(Validator.isEmpty(vo.getPeriod())){
+                goodsVo.setPeriod(0L);
+            }
+            list1.add(goodsVo);
+        }
+        ExcelUtil<ExportLiveGoodsVo> util = new ExcelUtil<>(ExportLiveGoodsVo.class);
+        return util.exportExcel(list1,"直播学习记录");
+    }
+
 
     @ApiOperation("查询商品列表To录单")
     @PreAuthorize("@ss.hasPermi('system:goods:list')")

+ 18 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/order/OrderGoodsController.java

@@ -2,14 +2,18 @@ package com.zhongzheng.controller.order;
 
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Arrays;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
+import com.zhongzheng.modules.goods.vo.ExportLiveGoodsVo;
 import com.zhongzheng.modules.order.bo.OrderGoodsEditBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsQueryBo;
 import com.zhongzheng.modules.order.service.IOrderGoodsService;
+import com.zhongzheng.modules.order.vo.OrderGoodsLiveExportVo;
 import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import com.zhongzheng.modules.user.bo.UserStudyRecordQueryBo;
 import com.zhongzheng.modules.user.entity.ClientLoginUser;
@@ -162,6 +166,20 @@ public class OrderGoodsController extends BaseController {
         return getDataTable(list);
     }
 
+    @ApiOperation("导出购买直播商品的学员学习记录")
+    @PreAuthorize("@ss.hasPermi('system:invoice:list')")
+    @GetMapping("/export_listLiveGoodsList")
+    public AjaxResult<ExportLiveGoodsVo> export_listLiveGoodsList(GoodsQueryBo bo) {
+        List<OrderGoodsLiveExportVo> list1 = new ArrayList<>();
+        List<OrderGoodsVo> list = iOrderGoodsService.listLiveGoodsList(bo);
+        for(OrderGoodsVo vo : list){
+            OrderGoodsLiveExportVo goodsVo = BeanUtil.toBean(vo, OrderGoodsLiveExportVo.class);
+            list1.add(goodsVo);
+        }
+        ExcelUtil<OrderGoodsLiveExportVo> util = new ExcelUtil<>(OrderGoodsLiveExportVo.class);
+        return util.exportExcel(list1,"学员学习记录");
+    }
+
     @ApiOperation("直播商品的用户学习列表")
     @PreAuthorize("@ss.hasPermi('system:invoice:list')")
     @GetMapping("/userSectionLiveList")

+ 50 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/ExportLiveGoodsVo.java

@@ -0,0 +1,50 @@
+package com.zhongzheng.modules.goods.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+
+/**
+ * 商品视图对象 mall_package
+ *
+ * @author hjl
+ * @date 2021-10-12
+ */
+@Data
+@ApiModel("商品视图对象")
+public class ExportLiveGoodsVo {
+	private static final long serialVersionUID = 1L;
+
+
+	/** 商品名称 */
+	@Excel(name = "商品名称")
+	@ApiModelProperty("商品名称")
+	private String goodsName;
+
+	/** 编码 */
+	@Excel(name = "编码")
+	@ApiModelProperty("编码")
+	private String code;
+
+
+	@Excel(name = "业务层次名称")
+	@ApiModelProperty("业务层次名称")
+	private String businessName;
+
+
+
+	/** 学时 */
+	@Excel(name = "学时")
+	@ApiModelProperty("学时")
+	private Long period;
+
+	@Excel(name = "订单数量")
+	@ApiModelProperty("订单数量")
+	private Integer goodsLiveNum;
+
+}

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

@@ -811,6 +811,8 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         userPeriodExportVo.setSectionName(sectionName);
         userPeriodExportVo.setDurationTime(classPeriodSectionVo.getDurationTime());
         userPeriodExportVo.setStudyTimeTxt(DateUtils.timestampToDate(classPeriodSectionVo.getStudyStartTime()) + "-" + DateUtils.timestampToDate(classPeriodSectionVo.getStudyEndTime()));
+        userPeriodExportVo.setStudyStartTime(classPeriodSectionVo.getStudyStartTime());
+        userPeriodExportVo.setStudyEndTime(classPeriodSectionVo.getStudyEndTime());
         if (Validator.isEmpty(classPeriodSectionVo.getStudyEndTime()) || Validator.isEmpty(classPeriodSectionVo.getStudyStartTime())) {
             userPeriodExportVo.setStudyTimeLongTxt("无"); //没有学习结束时间
             if (!isExam) {

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

@@ -50,5 +50,11 @@ public class UserPeriodExportVo {
 	@ApiModelProperty("测试成绩")
 	private BigDecimal score;
 
+	@ApiModelProperty("学习开始时间")
+	private Long studyStartTime;
+
+	/** 学习结束时间 */
+	@ApiModelProperty("学习结束时间")
+	private Long studyEndTime;
 
 }

+ 46 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderGoodsLiveExportVo.java

@@ -0,0 +1,46 @@
+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.math.BigDecimal;
+
+
+/**
+ * 订单商品视图对象 mall_package
+ *
+ * @author hjl
+ * @date 2021-11-08
+ */
+@Data
+@ApiModel("订单商品视图对象")
+public class OrderGoodsLiveExportVo {
+	private static final long serialVersionUID = 1L;
+	/** 真实姓名 */
+	@Excel(name = "真实姓名")
+	@ApiModelProperty("真实姓名")
+	private String realname;
+	/** 身份证号 */
+	@Excel(name = "*学员身份证号码")
+	@ApiModelProperty("身份证号")
+	private String idCard;
+
+	@Excel(name = "课程总直播次数")
+	@ApiModelProperty("总直播次数(含回放)")
+	private Integer totalLiveNum = 0;
+	@Excel(name = "课程已直播次数")
+	@ApiModelProperty("已经直播次数")
+	private Integer overLiveNum = 0;
+	@Excel(name = "直播累计时长")
+	@ApiModelProperty("直播总秒数")
+	private Long liveTime;
+	@Excel(name = "观看直播累计时长")
+	@ApiModelProperty("观看直播累计时长秒数")
+	private Long seeTime;
+	@Excel(name = "课程已参加直播次数")
+	@ApiModelProperty("已参加直播次数")
+	private Integer joinLiveNum;
+
+}