使用二叉树修改帖子及其回复贴的状态
2018-01-04 14:44
239 查看
要屏蔽某个帖子及其下的所有子节点的操作
1、mapper.xml
2、mapper
3、serviceImpl
1、mapper.xml
<update id="updateById"> update post <set> <if test="status != null"> status = #{status,jdbcType=TINYINT}, </if> <if test="operateTime != null"> operate_time = #{operateTime,jdbcType=TIMESTAMP}, </if> <if test="userId!= null"> user_id= #{userId,jdbcType=VARCHAR} </if> </set> WHERE id IN <foreach collection="ids" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </update>
2、mapper
void updateById(@Param("status") int status, @Param("operateTime") Date operateTime, @Param("userId") String userId, @Param("ids") List<String> ids);
3、serviceImpl
@Transactional @Override public void shieldingPost(String userId, String postId, int status) { //帖子ID及其下所有回复贴ID,用于修改状态 List<String> ids = new ArrayList<>(); ids.add(postId); //用于查询帖子下的回复贴ID List<String> findIds = new ArrayList<>(); findIds.add(postId); while (true) { //查询所有父级帖为当前id的所有帖子id List<String> postIds = postDefinedMapper.findChildrenIdList(findIds); if (CollectionUtils.isEmpty(postIds)) { break; } for (String p : postIds) { postId = p; ids.add(postId); } findIds = postIds; } Date operateTime = new Date(); postDefinedMapper.updateById(status, operateTime, userId, ids); }
相关文章推荐
- 使用ClientSocket控件实现CSDN论坛帖子的自动回复(修改)
- VS2005 DEBUG状态下修改代码(VS2005 使用技巧)
- LISTBOX控件:vc修改列表框LISTBOX的背景颜色及字体颜色及其使用方法
- 如何使用adb 修改查看和修改gpio的状态
- Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
- (原创)使用AsyncTask(带修改线程池方式)+自定义ImageLoader+LRU算法对图片三级缓存及其显示优化(只有在ListView滑动停止的时候才去网络请求获取图片数据)
- 系统注册表及其结构和修改、使用方法
- LISTBOX控件:vc修改列表框LISTBOX的背景颜色及字体颜色及其使用方法
- Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
- Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
- LISTBOX控件:vc修改列表框LISTBOX的背景颜色及字体颜色及其使用方法
- Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
- Manifest.xml中删除了『存储/修改删除SD卡中的内容』和『手机通话/读取手机状态和身份』权限,但生成apk安装软件时仍提示 允许应用程序了解或使用这两个权限
- Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
- LISTBOX控件:vc修改列表框LISTBOX的背景颜色及字体颜色及其使用方法
- YARN 的状态机库及其使用
- Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
- vc修改列表框LISTBOX的背景颜色及字体颜色及其使用方法
- LISTBOX控件:vc修改列表框LISTBOX的背景颜色及字体颜色及其使用方法
- Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)