/** * 通用业务服务接口 * * 在面向对象编程和分层架构中,接口定义了一组方法签名, * 用于声明特定业务功能的契约,而不包含具体的实现细节。 * 这些接口起到了抽象业务逻辑的作用,使得上层代码(如控制器层)可以通过依赖注入的方式使用这些接口, * 而不需要关心具体的实现,从而提高了代码的可维护性、可扩展性和可测试性。 */ /** * 用于定义通用的业务方法。 * 这些方法可以被多个业务模块复用,提供统一的通用业务能力。 */ package com.service; import java.util.List; import java.util.Map; public interface CommonService { /** * 获取选项列表 * 通常用于前端下拉框、单选按钮等表单组件的选项数据 * * @param params 查询参数,包含: * - table: 表名 * - field: 字段名 * - condition: 查询条件 * @return 选项值的字符串列表 */ List getOption(Map params); /** * 根据选项获取关联数据 * 用于获取与某个选项值相关联的详细信息 * * @param params 查询参数,包含: * - table: 主表名 * - field: 选项字段名 * - value: 选项值 * - followTable: 关联表名 * - followField: 关联字段名 * @return 关联数据的键值对映射 */ Map getFollowByOption(Map params); /** * 审核操作 * 用于处理业务流程中的审核状态更新 * * @param params 审核参数,包含: * - id: 审核记录ID * - status: 审核状态(通过/拒绝) * - remark: 审核意见 * - auditor: 审核人 */ void sh(Map params); /** * 提醒统计 * 用于统计需要提醒的记录数量,如待办事项、逾期任务等 * * @param params 统计参数,包含: * - table: 表名 * - column: 提醒字段名(如截止时间) * - type: 提醒类型 * - remindstart: 提醒开始范围 * - remindend: 提醒结束范围 * @return 符合提醒条件的记录数量 */ int remindCount(Map params); /** * 选择计算值 * 用于执行聚合计算查询,如求和、平均值、最大值、最小值等 * * @param params 计算参数,包含: * - table: 表名 * - column: 计算字段名 * - type: 计算类型(sum、avg、max、min、count) * - condition: 计算条件 * @return 计算结果的键值对映射 */ Map selectCal(Map params); /** * 分组查询 * 用于按某个字段分组统计数据 * * @param params 分组参数,包含: * - table: 表名 * - groupColumn: 分组字段名 * - calcColumn: 统计字段名 * - calcType: 统计类型 * - condition: 分组条件 * @return 分组统计结果列表,每个元素是一个分组的统计信息 */ List> selectGroup(Map params); /** * 选择值 * 通用的数据查询方法,用于获取特定字段的值 * * @param params 查询参数,包含: * - table: 表名 * - column: 字段名 * - condition: 查询条件 * @return 查询结果的键值对列表 */ List> selectValue(Map params); /** * 时间统计值 * 专门用于按时间维度进行统计,如按日、周、月、年统计 * * @param params 时间统计参数,包含: * - table: 表名 * - timeColumn: 时间字段名 * - statType: 统计类型(day、week、month、year) * - calcColumn: 计算字段名 * - calcType: 计算类型 * - startTime: 开始时间 * - endTime: 结束时间 * @return 时间统计结果列表 */ List> selectTimeStatValue(Map params); }