LntrisBean 추가

master
mjkhan21 9 months ago
parent 450aa39169
commit 0c322e24af

@ -0,0 +1,31 @@
package cokr.xit.interfaces.lntris;
import java.util.List;
import java.util.function.BiConsumer;
import java.util.function.Function;
import cokr.xit.foundation.component.ScheduledBean;
public abstract class LntrisBean extends ScheduledBean {
protected Requestor requestor = new Requestor();
protected <Q extends SourceMessage.Request, R extends TargetMessage.Response, T extends InterfaceInfo<Q, R>> void pagingRequest(
T info,
Function<T, List<?>> getDetails,
BiConsumer<T, Integer> insertResps,
BiConsumer<Object, Object> updateReq,
int start
) {
requestor.request(info);
List<?> details = getDetails.apply(info);
int found = details.size();
boolean empty = found < 1;
if (!empty)
InterfaceConfig.databaseActive(() -> insertResps.accept(info, start));
if (found < 100) return; // 페이징 사이즈 = 100
updateReq.accept(info.getRequest(), details.get(found - 1));
pagingRequest(info, getDetails, insertResps, updateReq, start + found);
}
}
Loading…
Cancel
Save