package com.vci.starter.revision.service; import com.vci.starter.revision.model.*; /** * 版本处理所需要的sql操作。因为要查询数据库,所以放到dataBase这个starter中 * @author weidy * @date 2020/4/15 */ public interface VciRevisionServiceI { /** * 获取最后一个版本的信息 * @param nameOid 对象主键 * @param tableName 数据库表格 * @return 最后一个版本信息,它不一定是发布的版本 */ RevisionInfo selectLastRevision(String nameOid,String tableName); /** * 获取最后一个版次的信息 * @param nameOid 对象的主键 * @param revisionOid 版本的主键 * @param tableName 数据库表格 * @return */ RevisionInfo selectLastVersion(String nameOid, String revisionOid,String tableName); /** * 获取已发布的版本的数据值 * @param nameOid 对象的主键 * @param btmName 业务类型的名称 * @param tableName 数据库表格 * @return 版本信息 */ RevisionInfo selectRelease(String nameOid, String btmName, String tableName); /** * 添加发布的数据,如果存在则更新,如果不存在则插入 * @param releasedObj 发布版本的数据 * @return 受影响的行数 */ int saveReleased(ReleasedObjDO releasedObj); /** * 把最后一个版本重置isLastR * @param nameOid 对象的主键 * @param tableName 表格名称 * @return 受影响的行数 */ int resetLastRevision(String nameOid,String tableName); /** * 重置老版本的isLastR * @param oid 老版本的主键 * @param tableName 表格名称 * @return 受影响的行数 */ int resetOldRevision(String oid,String tableName); /** * 通过老版本的主键来获取版本信息 * @param copyFromVersion 新版本使用的老版本的主键 * @param tableName 表格名称 * @return 版本信息 */ RevisionInfo selectByOid(String copyFromVersion,String tableName); /** * 重置以前的最新版次 * @param nameOid 对象的主键 * @param revisionOid 版本的主键 * @param tableName 表格名称 * @return 受影响的行数 */ int resetLastVersion(String nameOid, String revisionOid,String tableName); /** * 重置老版次(它不一定是最新的) * @param oid 老版次的主键 * @param tableName 表格名称 * @return 受影响的行数 */ int resetOldVersion(String oid,String tableName); /** * 查询属性等于某个值的数据条数,常用于判断数据是否重复 * @param key 属性的名称 * @param value 属性的值 * @param tableName 表格的名称 * @return 个数 */ int countByProperties(String key,Object value,String tableName); /** * 查询属性等于某个值并且不是某个主键的数据条数,常用于修改数据时判断数据是否重复 * @param key 属性的名称 * @param value 属性的值 * @param tableName 表格的名称 * @param oid 主键 * @return 数据个数 */ int countByPropertiesNotIncludeSelf(String key,Object value,String tableName,String oid); }