Kaynağa Gözat

1.尝试解决问答数据过长被截断的问题
2.修复组织人员树bug

honorfire 6 ay önce
ebeveyn
işleme
59d3983743

+ 17 - 17
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CourseQuestionAnswerController.java

@@ -81,7 +81,7 @@ public class CourseQuestionAnswerController {
     @ApiOperationSupport(order = 1)
     @ApiOperation("获取课程问答分页")
     @GetMapping("/disk/answer/page")
-    public CommonResult<Page<Map<String,Object>>> page(QuestionAnswerPageParam questionAnswerPageParam, HttpServletRequest req) {
+    public CommonResult<Page<QuestionAnswerVo>> page(QuestionAnswerPageParam questionAnswerPageParam, HttpServletRequest req) {
         Map param =new HashMap();
         param.put("courseId", req.getParameter("courseId"));
         param.put("hourId", req.getParameter("hourId"));
@@ -93,38 +93,38 @@ public class CourseQuestionAnswerController {
         if(StringUtils.isNotEmpty(req.getParameter("eduIdentity")))eduIdentity=req.getParameter("eduIdentity");
         param.put("eduIdentity", eduIdentity);
         //查询一级评论问题
-        Page<Map<String,Object>> page=questionAnswerService.queryList(param);
-        List<Map<String,Object>> recordList=page.getRecords();
-        List<String> recordIdList=  recordList.stream().map(map -> (String) map.get("id")).collect(Collectors.toList());
+        Page<QuestionAnswerVo> page=questionAnswerService.queryList(param);
+        List<QuestionAnswerVo> recordList=page.getRecords();
+        List<String> recordIdList=  recordList.stream().map(map -> (String) map.getId()).collect(Collectors.toList());
 
         param.clear();
         param.put("isPid", "0");
         param.put("pidList", recordIdList);
         //查询二级评论问题
-        List<Map<String,Object>> recordTwoList=questionAnswerService.queryMapList(param);
+        List<QuestionAnswerVo> recordTwoList=questionAnswerService.queryMapList(param);
         // 1. 准备结果:为每个章节添加classHours字段
-        for (Map<String, Object> record : recordList) {
+        for (QuestionAnswerVo record : recordList) {
             //预留是否有子集字段,0否1是
             String haveAnswer="0";
-            if (record == null || record.get("id") == null) continue;
+            if (record == null || record.getId() == null) continue;
 
-            String recordId = record.get("id").toString();
-            List<Map<String, Object>> recordChildList = new ArrayList<>();
+            String recordId = record.getId().toString();
+            List<QuestionAnswerVo> recordChildList = new ArrayList<>();
 
             // 2. 倒序遍历课程列表(关键点!)
             for (int i = recordTwoList.size() - 1; i >= 0; i--) {
-                Map<String, Object> recordTwo = recordTwoList.get(i);
-                if (recordTwo == null || recordTwo.get("pid") == null) continue;
+                QuestionAnswerVo recordTwo = recordTwoList.get(i);
+                if (recordTwo == null || recordTwo.getPid() == null) continue;
 
                 // 3. 匹配当前章节
-                if (recordId.equals(recordTwo.get("pid").toString())) {
+                if (recordId.equals(recordTwo.getPid().toString())) {
                     recordChildList.add(recordTwo);  // 添加到章节
                     recordTwoList.remove(i);          // 从原列表删除(安全操作)
                 }
             }
             if(recordChildList.size()>0)haveAnswer="1";
-            record.put("haveAnswer", haveAnswer);
-            record.put("recordChildList", recordChildList);
+            record.setHaveAnswer(haveAnswer);
+            record.setRecordChildList(recordChildList);
         }
 
         return CommonResult.data(page);
@@ -216,7 +216,7 @@ public class CourseQuestionAnswerController {
         Map param =new HashMap();
         param.put("id", req.getParameter("id"));
         Map<String,Object> result=new HashMap<>();
-        Map<String,Object> studentAnswer=questionAnswerService.queryInfo(param);
+        QuestionAnswerVo studentAnswer=questionAnswerService.queryInfo(param);
         param.clear();
         param.put("isPid", "0");
         param.put("pid", req.getParameter("id"));
@@ -230,8 +230,8 @@ public class CourseQuestionAnswerController {
         param.clear();
         param.put("isPid", "0");
         param.put("pid", req.getParameter("id"));
-        List<Map<String, Object>> recordList = new ArrayList<>();
-        List<Map<String,Object>> recordTwoList=questionAnswerService.queryMapList(param);
+        List<QuestionAnswerVo> recordList = new ArrayList<>();
+        List<QuestionAnswerVo> recordTwoList=questionAnswerService.queryMapList(param);
         recordList.add(studentAnswer);
         recordList.addAll(recordTwoList);
         result.put("recordList", recordList);

+ 3 - 3
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/QuestionAnswerMapper.java

@@ -36,15 +36,15 @@ public interface QuestionAnswerMapper extends BaseMapper<QuestionAnswer> {
     /**
      * 课程问答-分页列表
      */
-    Page<Map<String,Object>> queryList(@Param("param") Map param, @Param("page") Page<Object> page);
+    Page<QuestionAnswerVo> queryList(@Param("param") Map param, @Param("page") Page<Object> page);
 
     /**
      * 课程问答-列表
      */
-    List<Map<String,Object>> queryMapList(Map param);
+    List<QuestionAnswerVo> queryMapList(Map param);
 
     /**
      * 课程问答-详情
      */
-    Map<String,Object> queryInfo(Map param);
+    QuestionAnswerVo queryInfo(Map param);
 }

+ 23 - 6
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/QuestionAnswerMapper.xml

@@ -1,6 +1,23 @@
 <?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="vip.xiaonuo.disk.mapper.QuestionAnswerMapper">
+    <resultMap id="QuestionAnswerVoResultMap" type="vip.xiaonuo.disk.vo.questionanswer.QuestionAnswerVo">
+        <!-- 指定其他字段的映射(可以省略,MyBatis会自动映射同名字段) -->
+        <result column="id" property="id"/>
+        <result column="pid" property="pid"/>
+        <!-- 最关键的一行:为info字段指定CLOB类型处理器 -->
+        <result column="info" property="info" jdbcType="CLOB" typeHandler="org.apache.ibatis.type.ClobTypeHandler"/>
+        <result column="giveNum" property="giveNum"/>
+        <result column="createTime" property="createTime"/>
+        <result column="courseId" property="courseId"/>
+        <result column="courseIdName" property="courseIdName"/>
+        <result column="userId" property="userId"/>
+        <result column="userIdName" property="userIdName"/>
+        <result column="hourId" property="hourId"/>
+        <result column="hourIdName" property="hourIdName"/>
+        <result column="gradesId" property="gradesId"/>
+        <result column="gradesIdName" property="gradesIdName"/>
+    </resultMap>
 
        <select id="selectCommentPid" resultType="vip.xiaonuo.disk.vo.questionanswer.QuestionAnswerVo">
            SELECT
@@ -36,11 +53,11 @@
             COURSE_ID=#{courseId} and CHAPTER_ID=#{chapterId}
           and	pid IS NOT NULL
     </select>
-    <select id="queryList" resultType="java.util.Map">
+    <select id="queryList" resultMap="QuestionAnswerVoResultMap">
         SELECT
             cqa.ID AS id,
             IFNULL(cqa.PID,'') AS pid,
-            IFNULL(CAST(cqa.INFO AS VARCHAR),'') AS info,
+            IFNULL(cqa.INFO,'') AS info,
             IFNULL(cqa.GIVE_NUM ,'') AS giveNum,
             IFNULL(cqa.CREATE_TIME,'') AS createTime,
             IFNULL(cqa.COURSE_ID,'') AS courseId,
@@ -94,11 +111,11 @@
         </if>
         order by cqa.CREATE_TIME desc
     </select>
-    <select id="queryMapList" resultType="java.util.Map">
+    <select id="queryMapList" resultMap="QuestionAnswerVoResultMap">
         SELECT
             cqa.ID AS id,
             IFNULL(cqa.PID,'') AS pid,
-            IFNULL(CAST(cqa.INFO AS VARCHAR),'') AS info,
+            IFNULL(cqa.INFO,'') AS info,
             IFNULL(cqa.GIVE_NUM ,'') AS giveNum,
             IFNULL(cqa.CREATE_TIME,'') AS createTime,
             IFNULL(cqa.COURSE_ID,'') AS courseId,
@@ -145,11 +162,11 @@
         order by cqa.CREATE_TIME desc
     </select>
 
-    <select id="queryInfo" resultType="java.util.Map">
+    <select id="queryInfo" resultMap="QuestionAnswerVoResultMap">
         SELECT
             cqa.ID AS id,
             IFNULL(cqa.PID,'') AS pid,
-            IFNULL(CAST(cqa.INFO AS VARCHAR),'') AS info,
+            IFNULL(cqa.INFO,'') AS info,
             IFNULL(cqa.GIVE_NUM ,'') AS giveNum,
             IFNULL(cqa.CREATE_TIME,'') AS createTime,
             IFNULL(cqa.COURSE_ID,'') AS courseId,

+ 1 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/UserReadMapper.xml

@@ -13,7 +13,7 @@
             AND dr.TARGET_ID=#{userId}
         </if>
         <if test="category !=null and category != ''">
-            AND dr.CATEGORY=#{category}
+            AND dme.CATEGORY=#{category}
         </if>
     </select>
 

+ 3 - 3
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/QuestionAnswerService.java

@@ -100,15 +100,15 @@ public interface QuestionAnswerService extends IService<QuestionAnswer> {
     /**
      *  课程问答-分页列表
      */
-    Page<Map<String,Object>> queryList(Map param);
+    Page<QuestionAnswerVo> queryList(Map param);
 
     /**
      *  课程问答-列表
      */
-    List<Map<String,Object>> queryMapList(Map param);
+    List<QuestionAnswerVo> queryMapList(Map param);
 
     /**
      *  课程问答-详情
      */
-    Map<String,Object> queryInfo(Map param);
+    QuestionAnswerVo queryInfo(Map param);
 }

+ 3 - 3
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/QuestionAnswerServiceImpl.java

@@ -122,19 +122,19 @@ public class QuestionAnswerServiceImpl extends ServiceImpl<QuestionAnswerMapper,
     }
 
     @Override
-    public Page<Map<String,Object>> queryList(Map param)
+    public Page<QuestionAnswerVo> queryList(Map param)
     {
         return questionAnswerMapper.queryList(param,CommonPageRequest.defaultPage());
     }
 
     @Override
-    public List<Map<String,Object>> queryMapList(Map param)
+    public List<QuestionAnswerVo> queryMapList(Map param)
     {
         return questionAnswerMapper.queryMapList(param);
     }
 
     @Override
-    public Map<String,Object> queryInfo(Map param)
+    public QuestionAnswerVo queryInfo(Map param)
     {
         return questionAnswerMapper.queryInfo(param);
     }

+ 46 - 3
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/vo/questionanswer/QuestionAnswerVo.java

@@ -30,13 +30,54 @@ public class QuestionAnswerVo {
     @ApiModelProperty(value = "人员id", position = 4)
     private String userId;
 
+    /** 人员id名称 */
+    @ApiModelProperty(value = "人员id名称", position = 4)
+    private String userIdName;
+
     /** 课程id */
     @ApiModelProperty(value = "课程id", position = 5)
     private String courseId;
 
+    /** 课程id名称 */
+    @ApiModelProperty(value = "课程id名称", position = 5)
+    private String courseIdName;
+
+    /** 课时id */
+    @ApiModelProperty(value = "课时id", position = 5)
+    private String hourId;
+
+    /** 课时id名称 */
+    @ApiModelProperty(value = "课时id名称", position = 5)
+    private String hourIdName;
+
+    /** 记录视频时间 */
+    @ApiModelProperty(value = "记录视频时间", position = 5)
+    private String recordTime;
+
+    /** 问答类型 */
+    @ApiModelProperty(value = "问答类型", position = 5)
+    private String infoType;
+
+    /** 问答类型名称 */
+    @ApiModelProperty(value = "问答类型名称", position = 5)
+    private String infoTypeName;
+
     /** 点赞数量 */
     @ApiModelProperty(value = "点赞数量", position = 6)
-    private Long giveNum;
+    private String giveNum;
+
+    /** 班级id */
+    @ApiModelProperty(value = "班级id", position = 5)
+    private String gradesId;
+
+    /** 班级id名称 */
+    @ApiModelProperty(value = "班级id名称", position = 5)
+    private String gradesIdName;
+
+    /** 是否有回复 */
+    @ApiModelProperty(value = "是否有回复", position = 5)
+    private String haveAnswer;
+
 
     /** 删除标记(NOT_DELETE-未删除) */
     @ApiModelProperty(value = "删除标记(NOT_DELETE-未删除)", position = 7)
@@ -47,12 +88,12 @@ public class QuestionAnswerVo {
     /** 记录更新时间 */
     @ApiModelProperty(value = "记录更新时间", position = 8)
     @TableField(fill = FieldFill.UPDATE)
-    private Date updateTime;
+    private String updateTime;
 
     /** 记录创建时间 */
     @ApiModelProperty(value = "记录创建时间", position = 9)
     @TableField(fill = FieldFill.INSERT)
-    private Date createTime;
+    private String createTime;
 
     /** 记录创建人 */
     @ApiModelProperty(value = "记录创建人", position = 10)
@@ -71,4 +112,6 @@ public class QuestionAnswerVo {
     /** 孩子评论 */
     private List<QuestionAnswerVo> child;
 
+    private List<QuestionAnswerVo> recordChildList;
+
 }

+ 1 - 0
snowy-plugin/snowy-plugin-sys/snowy-plugin-sys-func/src/main/java/vip/xiaonuo/sys/modular/user/mapper/mapping/SysUserMapper.xml

@@ -30,6 +30,7 @@
             'user' AS infoType
         FROM SYS_USER t1
         WHERE t1.DELETE_FLAG = 'NOT_DELETE'
+        and t1.IS_RESOURCEACCOUNT='0'
         <if test="collegeParentId !=null and collegeParentId != ''">
             AND t1.ORG_ID =#{collegeParentId}
         </if>