public void addCsmOffsets(String topicName, int partitionId, long cfmOffset, long tmpOffset) {
        final int storeId = partitionId < TBaseConstants.META_STORE_INS_BASE
                ? 0
                : partitionId / TBaseConstants.META_STORE_INS_BASE;
        Map<Integer, OffsetCsmRecord> storeOffsetMap = histOffsetMap.get(topicName);
        if (storeOffsetMap == null) {
            Map<Integer, OffsetCsmRecord> tmpMap = new HashMap<>();
            storeOffsetMap = histOffsetMap.putIfAbsent(topicName, tmpMap);
            if (storeOffsetMap == null) {
                storeOffsetMap = tmpMap;
            }
        }
        OffsetCsmRecord offsetCsmRecord = storeOffsetMap.get(storeId);
        if (offsetCsmRecord == null) {
            OffsetCsmRecord tmpRecord = new OffsetCsmRecord(storeId);
            offsetCsmRecord = storeOffsetMap.putIfAbsent(storeId, tmpRecord);
            if (offsetCsmRecord == null) {
                offsetCsmRecord = tmpRecord;
            }
        }
        offsetCsmRecord.addCsmOffsets(partitionId, cfmOffset, tmpOffset);
    }
Add consumed offset of topic-partitionId.

@param topicName      topic name
@param partitionId    partition id
@param cfmOffset      the confirmed offset
@param tmpOffset      the temp offset
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/broker/offset/OffsetHistoryInfo.java