Bläddra i källkod

fix 回复删除子会话

he2802 3 år sedan
förälder
incheckning
6636e7def5

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

@@ -35,7 +35,8 @@ public class UserCourseAnswerQueryBo extends BaseEntity {
 	/** 排序的方向desc或者asc */
 	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
 	private String isAsc;
-
+	@ApiModelProperty("回答ID")
+	private Long answerId;
 
 	/** 用户ID */
 	@ApiModelProperty("用户ID")

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserCourseAnswerMapper.java

@@ -16,4 +16,6 @@ import java.util.List;
 public interface UserCourseAnswerMapper extends BaseMapper<UserCourseAnswer> {
 
     List<UserCourseAnswerVo> selectAnswer(UserCourseAnswerQueryBo bo);
+
+    void delChildAnswer(UserCourseAnswerQueryBo bo);
 }

+ 3 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserCourseAnswerServiceImpl.java

@@ -77,7 +77,9 @@ public class UserCourseAnswerServiceImpl extends ServiceImpl<UserCourseAnswerMap
         update.setUpdateTime(DateUtils.getNowTime());
         if(update.getStatus()==-1){
             //删除子回复
-
+            UserCourseAnswerQueryBo queryBo = new UserCourseAnswerQueryBo();
+            queryBo.setAnswerId(update.getAnswerId());
+            this.baseMapper.delChildAnswer(queryBo);
         }
         return this.updateById(update);
     }

+ 29 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserCourseAnswerMapper.xml

@@ -110,4 +110,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </if>
         order by uca.update_time desc
     </select>
+
+    <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 ORDER BY t.create_time ) t1,
+                            ( SELECT @pids := #{answerId} ) t2
+                    ) t4
+                WHERE
+                    t4.ischild > 0
+                ORDER BY
+                    create_time DESC
+                LIMIT 1
+                ))
+    </update>
 </mapper>