package com.mossle.api.keyvalue;
import java.util.List;
import java.util.Map;
import com.mossle.core.page.Page;
public interface KeyValueConnector {
/**
* 根据code查询数据. 认为code是业务主键.
*/
Record findByCode(String code);
/**
* 根据ref查询数据. 认为ref是流程实例id.
*/
Record findByRef(String ref);
/**
* 根据businessKey查询.
*/
Record findByBusinessKey(String businessKey);
/**
* 保存数据.
*/
void save(Record record);
/**
* 根据code删除数据.
*/
void removeByCode(String code);
/**
* 根据businessKey删除.
*/
void removeByBusinessKey(String businessKey);
/**
* 查询对应状态的,某人发起的数据,主要用来查询草稿.
*/
List<Record> findByStatus(int status, String userId, String tenantId);
/**
* 分页查询.
*/
Page pagedQuery(Page page, int status, String userId, String tenantId);
/**
* 查询总数.
*/
long findTotalCount(String category, String q, String tenantId);
/**
* 分页查询数据.
*/
List<Map<String, Object>> findResult(Page page, String category,
String tenantId, Map<String, String> headers, String q);
/**
* 复制数据.
*/
Record copyRecord(Record original, List<String> fields);
}