| 
					
				 | 
			
			
				@@ -0,0 +1,177 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package com.ym.mec.biz.dal.wrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.alibaba.fastjson.JSON; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.microsvc.toolkit.common.response.paging.QueryInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import io.swagger.annotations.ApiModel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import io.swagger.annotations.ApiModelProperty; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Arrays; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Optional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import lombok.AllArgsConstructor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import lombok.Builder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import lombok.Data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import lombok.NoArgsConstructor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.validation.constraints.NotNull; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 学生课件播放统计记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 2024-07-04 14:48:14 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@ApiModel(value = "StudentCoursewarePlayRecordWrapper对象", description = "学生课件播放统计记录查询对象") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class StudentCoursewarePlayRecordWrapper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Builder 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @NoArgsConstructor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @AllArgsConstructor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @ApiModel(" StudentCoursewarePlayRecordQuery-学生课件播放统计记录") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static class StudentCoursewarePlayRecordQuery implements QueryInfo { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("当前页") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Integer page; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("分页行数") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Integer rows; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("关键字匹配") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private String keyword; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public String getKeyword() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return Optional.ofNullable(keyword).filter(StringUtils::isNotBlank).orElse(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public String jsonString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return JSON.toJSONString(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public static StudentCoursewarePlayRecordQuery from(String json) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return JSON.parseObject(json, StudentCoursewarePlayRecordQuery.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @ApiModel(" StudentCoursewarePlayRecord-学生课件播放统计记录") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static class StudentCoursewarePlayRecord { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("乐团ID") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private String musicGroupId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("用户编号") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Long userId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("在读状态") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Boolean readingStatus; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("播放时长,单位为秒") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Float playTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public String jsonString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return JSON.toJSONString(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public static StudentCoursewarePlayRecord from(String json) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return JSON.parseObject(json, StudentCoursewarePlayRecord.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @ApiModel(" StudentCoursewarePlayRecord-学生课件播放统计记录") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static class StudentCoursewarePlayRecordSave { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty(value = "用户编号",hidden = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Integer userId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty(hidden = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Integer organizationId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("播放时长,单位为秒") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @NotNull 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private BigDecimal playTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @ApiModel("云课堂观看统计查询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static class StatQuery implements QueryInfo { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("当前页") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Integer page; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("分页行数") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Integer rows; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("开始时间") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Date startTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("结束时间") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Date endTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("分部ID") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Long organizationId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("排序值,1:会员,2:无练习,3:10分钟,4:60分钟,5:120分钟,6:240分钟,7:>240分钟,8:平均时长") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Integer sort = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("声降序,true:升序,false:降序") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Boolean asc = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty(hidden = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private String sortBy; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty(hidden = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private static List<String> sortKeys = Arrays.asList("memberNum", "noPlayNum", "playTimeLess10", "playTimeLess60", "playTimeLess120", "playTimeLess240", "playTimeRather240", "avgPlayTime"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public String getSortBy() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String key = sortKeys.get(getSort() > sortKeys.size() ? 0 : getSort() - 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return key + (asc ? " asc" : " desc"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @ApiModel("云课堂观看统计查询结果") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static class StatQueryData { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("分部ID") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Long organizationId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("分部名称") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private String organizationName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("声部老师") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private String teacherName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("会员数量") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Integer memberNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("无练习人数") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Integer noPlayNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("练习时长少于等于10分钟") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Integer playTimeLess10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("练习时长少于等于60分钟") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Integer playTimeLess60; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("练习时长少于等于120分钟") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Integer playTimeLess120; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("练习时长少于等于240") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Integer playTimeLess240; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("练习时长大于240") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Integer playTimeRather240; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @ApiModelProperty("平均练习时长") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private BigDecimal avgPlayTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |