net.mingsoft.comment.biz.ICommentBiz Maven / Gradle / Ivy
The newest version!
/**
* Copyright (c) 2012-present 铭软科技(mingsoft.net)
* 本软件及相关文档文件(以下简称“软件”)的版权归 铭软科技 所有
* 遵循 铭软科技《服务协议》中的《保密条款》
*/
package net.mingsoft.comment.biz;
import java.util.List;
import net.mingsoft.base.biz.IBaseBiz;
import net.mingsoft.comment.bean.CommentBean;
import net.mingsoft.comment.entity.CommentEntity;
/**
* 评论业务实现接口
* 如果需要对接自己的会员系统,具体业务可以通过重写action层实现,业务层代码通用
* 注意保存评论的接口需要的参数,需要在action做相应限制
* peopleInfo字段灵活多变,具体存什么信息可以自由扩展
* @author 铭飞开源团队
* @date 2019年7月16日
*/
public interface ICommentBiz extends IBaseBiz {
/**
* 通用评论业务保存方法
* @param comment - 评论类实体,具体根据以下描述规则设置
* 1、方法内对基本的信息进行了判断,如:业务类型、评论配置信息判断
* dataType(必填):评论业务类型,具体字典定义,保存业务会进行类型判断,如果不存在的业务类型系统会提示异常
* 2、必须先通过设置字典类型 评论类型 值来区分不同的评论业务类型,如:文章评论、商品评论、店铺评论
* 3、用户信息通常需要控制层来决定,根据自身的业务情况,传递用户信息(可选,可以做匿名评论)
* peopleId(可选):设置评论者编号,空为匿名
* peopleName(可选):建议用不可变动的业务字段数据,如评论者会员名称,(主要是避免关联查询)
* peopleInfo(可选):格式:json结构,具体前台展示需要结构进行展示,可以设置评论者其他扩展信息,如:头像、爱好(主要是避免关联查询)
* 4、被评论的业务数据编号
* dataId(必填):被评论业务数据编号,(主要是避免关联查询)
* dataTitle(必填):被评论业务数据标题,建议用不可变动的业务字段数据(主要是避免关联查询)(主要是避免关联查询)
* dataInfo(可选):格式:json结构,具体前台展示需要结构进行展示,可以设置信息,如:缩略图、描述(主要是避免关联查询)
*/
int saveComment(CommentEntity comment);
/**
* 通用评论业务查询方法,根据dataType默认查询顶级评论
* @param commentBean - 评论bean实体,具体根据以下描述规则设置
* 1、方法内对基本的信息进行了判断,如:业务类型的判断
* dataType(必填):评论业务类型,具体字典定义,根据业务类型查询评论,如果不存在的业务类型系统会提示异常
* 2、必须先通过设置字典类型 评论类型 值来区分不同的评论业务类型,如:文章评论、商品评论、店铺评论
* 3、被评论的业务数据编号
* dataId(可选):被评论业务数据编号,(主要是避免关联查询)
* dataTitle(可选):被评论业务数据标题,模糊查询,(主要是避免关联查询)
* 4、评论时间查询
* commentStartTime(可选):起始时间
* commentEndTime(可选):结束时间
* 4、其他
* 参考xml中的 query 的条件
*/
List query(CommentBean commentBean);
/**
* 根据布尔值传参栏进行+1或-1
* 可以结合关注插件来实现+1或-1,可以控制一个用户只能赞一次
* @param id 评论id
* @param flag true为点赞,false为取消
* @return
*/
CommentEntity like(String id,boolean flag);
/**
* 根据当前评论id来删除与当前评论相关的所有子评论数据(包括当前评论)
* @param id 评论id
*/
void deleteById(String id);
}