package com.ui.article;
import com.C;
import com.DbFactory;
import com.app.annotation.apt.InstanceFactory;
import com.app.annotation.aspect.CheckLogin;
import com.apt.ApiFactory;
import com.base.adapter.AdapterPresenter;
import com.base.entity.Pointer;
import com.base.util.ApiUtil;
import com.google.gson.Gson;
import com.model.Comment;
import com.model.Image;
import com.model.ImageInfo;
import com.model._User;
/**
* Created by baixiaokang on 16/5/4.
*/
@InstanceFactory
public class ArticlePresenter extends ArticleContract.Presenter {
@CheckLogin
public void createComment(String content, ImageInfo article, _User user) {
mCompositeSubscription.add(
ApiFactory
.createComment(
new Comment(
ApiUtil.getPointer(Image.class.getSimpleName(), article),
content,
ApiUtil.getPointer(user)))
.subscribe(
res -> mView.commentSuc(),
e -> mView.commentFail())
);
}
@Override
public void initAdapterPresenter(AdapterPresenter mAdapterPresenter, ImageInfo mArticle) {
String article = new Gson().toJson(new Pointer(Image.class.getSimpleName(), mArticle.objectId));
mAdapterPresenter
.setDbRepository(DbFactory::getCommentList)
.setNetRepository(ApiFactory::getCommentList)
.setParam(C.INCLUDE, C.CREATER)
.setParam(C.ARTICLE, article)
.setParam(C.OBJECT_ID, mArticle.objectId)
.fetch();
}
}