Browse Source

fix 回复删除子会话

he2802 3 năm trước cách đây
mục cha
commit
3003fb8468

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserCourseAnswerQueryBo.java

@@ -77,4 +77,6 @@ public class UserCourseAnswerQueryBo extends BaseEntity {
 	private List<Long> businessIds;
 	@ApiModelProperty("关键词")
 	private String searchKey;
+	@ApiModelProperty("租户ID")
+	private String tenantId;
 }

+ 3 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserCourseAnswerMapper.java

@@ -18,5 +18,7 @@ public interface UserCourseAnswerMapper extends BaseMapper<UserCourseAnswer> {
 
     List<UserCourseAnswerVo> selectAnswer(UserCourseAnswerQueryBo bo);
 
-    int delChildAnswer(UserCourseAnswerQueryBo bo);
+    //手动添加租户ID
+    @SqlParser(filter = true)
+    void delChildAnswer(UserCourseAnswerQueryBo bo);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserCourseAnswerServiceImpl.java

@@ -3,6 +3,7 @@ package com.zhongzheng.modules.user.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.common.utils.ServletUtils;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -79,6 +80,7 @@ public class UserCourseAnswerServiceImpl extends ServiceImpl<UserCourseAnswerMap
             //删除子回复
             UserCourseAnswerQueryBo queryBo = new UserCourseAnswerQueryBo();
             queryBo.setAnswerId(update.getAnswerId());
+            queryBo.setTenantId(ServletUtils.getRequest().getHeader("TenantId"));
             this.baseMapper.delChildAnswer(queryBo);
         }
         return this.updateById(update);

+ 28 - 3
zhongzheng-system/src/main/resources/mapper/modules/user/UserCourseAnswerMapper.xml

@@ -111,10 +111,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         order by uca.update_time desc
     </select>
 
-    <select id="delChildAnswer" parameterType="com.zhongzheng.modules.user.bo.UserCourseAnswerQueryBo"  >
-        set   @rownum =  - 1;
+    <update id="delChildAnswer" parameterType="com.zhongzheng.modules.user.bo.UserCourseAnswerQueryBo" >
+        UPDATE user_course_answer
+        SET `status` = - 1
+        WHERE
+            FIND_IN_SET(
+                    answer_id,(
+                SELECT
+                    ischild
+                FROM
+                    (
+                        SELECT
+                            t1.answer_id,
+                            t1.assign_answer_id,
+                            t1.create_time,
+                            t2.*,
+                            IF
+                                ( find_in_set( assign_answer_id, @pids ) > 0, @pids := concat( @pids, ',', answer_id ), 0 ) AS ischild
+                        FROM
+                            ( SELECT answer_id, assign_answer_id, create_time FROM user_course_answer t WHERE t.assign_answer_id > 0 and tenant_id = #{tenantId} ORDER BY t.create_time ) t1,
+                            ( SELECT @pids := #{answerId} ) t2
+                    ) t4
+                WHERE
+                    t4.ischild > 0
+                ORDER BY
+                    create_time DESC
+                LIMIT 1
+                ))
 
-    </select>
+    </update>
 
     <update id="delChildAnswer2" parameterType="com.zhongzheng.modules.user.bo.UserCourseAnswerQueryBo"  >
         UPDATE user_course_answer