package com.xiaomi.xms.sales.loader;
import android.content.Context;
import com.xiaomi.xms.sales.model.CommentSumInfo;
import com.xiaomi.xms.sales.request.HostManager;
import com.xiaomi.xms.sales.request.Request;
import com.xiaomi.xms.sales.request.HostManager.Parameters;
import org.json.JSONObject;
public class CommentSumLoader extends BaseLoader<CommentSumLoader.Result> {
private final String CACHE_KEY = "CommentSumLoader";
private String mProductId;
public CommentSumLoader(Context context, String productId) {
super(context);
mProductId = productId;
setNeedDatabase(false);
}
public static final class Result extends BaseResult {
public CommentSumInfo mSummaryInfo;
public BaseResult shallowClone() {
Result newResult = new Result();
newResult.mSummaryInfo = mSummaryInfo;
return newResult;
}
@Override
public int getCount() {
return mSummaryInfo == null ? 0 : 1;
}
}
protected String getCacheKey() {
return CACHE_KEY + mProductId;
}
@Override
protected UpdateTask getUpdateTask() {
return new CommentSumUpdateTask();
}
private class CommentSumUpdateTask extends UpdateTask {
@Override
protected Request getRequest() {
Request request = new Request(HostManager.getCommentDetail());
request.addParam(Parameters.Keys.GOODS_ID, mProductId);
return request;
}
}
@Override
protected Result parseResult(JSONObject json, Result result) {
result.mSummaryInfo = CommentSumInfo.valueOf(json);
return result;
}
@Override
protected Result getResultInstance() {
return new Result();
}
}