Commit be9eb294 by mReturn

整合评论

parent d7f9680c
Showing with 192 additions and 566 deletions
...@@ -118,6 +118,7 @@ ...@@ -118,6 +118,7 @@
-keep class com.dayu.message.data.protocol.** { *; } -keep class com.dayu.message.data.protocol.** { *; }
-keep class com.dayu.managercenter.data.** { *; } -keep class com.dayu.managercenter.data.** { *; }
-keep class com.dayu.order.api.protocol.** { *; } -keep class com.dayu.order.api.protocol.** { *; }
-keep class com.dayu.learncenter.api.** { *; }
-keep class com.dayu.order.sqlbean.** { *; } -keep class com.dayu.order.sqlbean.** { *; }
-keep class com.dayu.provider.event.** { *; } -keep class com.dayu.provider.event.** { *; }
-keep class com.dayu.usercenter.data.protocol.** { *; } -keep class com.dayu.usercenter.data.protocol.** { *; }
...@@ -125,6 +126,7 @@ ...@@ -125,6 +126,7 @@
-keep class com.dayu.usercenter.event.** { *; } -keep class com.dayu.usercenter.event.** { *; }
-keep class com.bigfish.salecenter.model.** { *; } -keep class com.bigfish.salecenter.model.** { *; }
-keep class com.bigfish.salecenter.event.** { *; } -keep class com.bigfish.salecenter.event.** { *; }
-keep class com.bigfish.learncenter.event.** { *; }
-keep class com.dayu.event.** { *; } -keep class com.dayu.event.** { *; }
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
......
package com.dayu.order.api.protocol; package com.dayu.base.api.protocol;
/** /**
* Created by mReturn * Created by mReturn
......
package com.dayu.order.api.protocol; package com.dayu.base.api.protocol;
/** /**
* Created by mReturn * Created by mReturn
......
package com.dayu.order.api.protocol; package com.dayu.base.api.protocol;
public class CommentReplyData { public class CommentReplyData {
public int accountId; //留言人或回复人账号ID public int accountId; //留言人或回复人账号ID
......
package com.dayu.order.ui.adapter; package com.dayu.base.ui.adapter;
import android.text.Html; import android.text.Html;
import android.view.View; import android.view.View;
import com.dayu.base.ui.adapter.CoreAdapter; import com.dayu.base.api.protocol.CommentBean;
import com.dayu.order.R; import com.dayu.baselibrary.R;
import com.dayu.order.api.protocol.CommentBean; import com.dayu.baselibrary.databinding.ItemCommentBinding;
import com.dayu.order.databinding.ItemCommentBinding;
import com.dayu.utils.CommonUtils; import com.dayu.utils.CommonUtils;
import com.dayu.utils.GlideImageLoader; import com.dayu.utils.GlideImageLoader;
/**
* Created by mReturn
* on 2020\1\9 0009.
*/
public class CommentAdapter extends CoreAdapter<CommentBean, ItemCommentBinding> { public class CommentAdapter extends CoreAdapter<CommentBean, ItemCommentBinding> {
public CommentAdapter(boolean needFoot) { public CommentAdapter(boolean needFoot) {
super(needFoot); super(needFoot);
this.setViewType(R.layout.item_comment);
} }
public CommentAdapter(boolean needFoot, int viewType) { public CommentAdapter(boolean needFoot, int viewType) {
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<variable <variable
name="item" name="item"
type="com.dayu.order.api.protocol.CommentBean" /> type="com.dayu.base.api.protocol.CommentBean" />
</data> </data>
<LinearLayout <LinearLayout
......
...@@ -2,6 +2,9 @@ package com.dayu.learncenter.api; ...@@ -2,6 +2,9 @@ package com.dayu.learncenter.api;
import com.dayu.base.api.protocol.BasePageBean; import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.base.api.protocol.BaseResponse; import com.dayu.base.api.protocol.BaseResponse;
import com.dayu.base.api.protocol.CommentBean;
import com.dayu.base.api.protocol.CommentPostData;
import com.dayu.base.api.protocol.CommentReplyData;
import com.dayu.common.Constants; import com.dayu.common.Constants;
import com.dayu.learncenter.api.bean.CommonLearnBean; import com.dayu.learncenter.api.bean.CommonLearnBean;
import com.dayu.learncenter.api.bean.CourseDeatilBean; import com.dayu.learncenter.api.bean.CourseDeatilBean;
...@@ -109,4 +112,26 @@ public interface LearnService { ...@@ -109,4 +112,26 @@ public interface LearnService {
Observable<BaseResponse<Boolean>> pointCourse(@Path("courseId") int courseId, Observable<BaseResponse<Boolean>> pointCourse(@Path("courseId") int courseId,
@Path("engineerId") int engineerId, @Path("engineerId") int engineerId,
@Path("type") int type); @Path("type") int type);
/**
* 获取留言
*
* @return
*/
@GET(Constants.API_7400 + "/leaveMessage/courses/engineer/coursesId/{coursesId}")
Observable<BaseResponse<BasePageBean<CommentBean>>> getComment(@Path("coursesId") int goodsId,
@Query("page") int page,
@Query("pageSize") int pageSize);
/**
* 留言
*/
@POST(Constants.API_7400 + "/leaveMessage/courses/engineer")
Observable<BaseResponse<Boolean>> addComment(@Body CommentPostData data);
/**
* 回复
*/
@POST(Constants.API_7400 + "/leaveMessage/courses/engineer")
Observable<BaseResponse<Boolean>> addCommentReply(@Body CommentReplyData data);
} }
package com.dayu.learncenter.ui.activity; package com.dayu.learncenter.ui.activity;
import android.annotation.SuppressLint;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.text.TextUtils;
import android.view.View; import android.view.View;
import com.badoo.mobile.util.WeakHandler;
import com.dayu.base.api.Api; import com.dayu.base.api.Api;
import com.dayu.base.api.protocol.CommentBean;
import com.dayu.base.api.protocol.CommentPostData;
import com.dayu.base.api.protocol.CommentReplyData;
import com.dayu.base.ui.activity.BaseActivity; import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.ui.adapter.CommentAdapter;
import com.dayu.base.ui.presenter.SImplePresenter; import com.dayu.base.ui.presenter.SImplePresenter;
import com.dayu.common.Constants; import com.dayu.common.Constants;
import com.dayu.learncenter.R; import com.dayu.learncenter.R;
...@@ -14,6 +22,11 @@ import com.dayu.learncenter.api.bean.CourseDeatilBean; ...@@ -14,6 +22,11 @@ import com.dayu.learncenter.api.bean.CourseDeatilBean;
import com.dayu.learncenter.databinding.ActivityCourseDetailBinding; import com.dayu.learncenter.databinding.ActivityCourseDetailBinding;
import com.dayu.utils.CommonUtils; import com.dayu.utils.CommonUtils;
import com.dayu.utils.GlideImageLoader; import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.ProgressUtil;
import com.dayu.widgets.KeyboardStateObserver;
import java.util.ArrayList;
import java.util.List;
import cn.jzvd.Jzvd; import cn.jzvd.Jzvd;
...@@ -26,6 +39,12 @@ public class CourseDetailActivity extends BaseActivity<SImplePresenter, Activity ...@@ -26,6 +39,12 @@ public class CourseDetailActivity extends BaseActivity<SImplePresenter, Activity
private boolean isPointed; //是否已点赞 private boolean isPointed; //是否已点赞
private int pointNum; //点赞数 private int pointNum; //点赞数
private CommentBean selectedItem;
private int page = 1;
private CommentAdapter mCommentAdapter;
private List<CommentBean> commentList = new ArrayList<>();
private WeakHandler weakHandler = new WeakHandler();
@Override @Override
public void setPresenter() { public void setPresenter() {
} }
...@@ -39,9 +58,12 @@ public class CourseDetailActivity extends BaseActivity<SImplePresenter, Activity ...@@ -39,9 +58,12 @@ public class CourseDetailActivity extends BaseActivity<SImplePresenter, Activity
public void initView() { public void initView() {
initUser(); initUser();
mBind.titleBack.setOnClickListener(v -> dumpBack()); mBind.titleBack.setOnClickListener(v -> dumpBack());
mBind.ivLike.setOnClickListener(v -> pointVideo());
courseId = getBundle().getInt(Constants.ID, 0); courseId = getBundle().getInt(Constants.ID, 0);
initData(); initData();
mBind.ivLike.setOnClickListener(v -> pointVideo()); getCommentData();
initCommentAdapter();
initCommentListener();
} }
//点赞 //点赞
...@@ -81,7 +103,6 @@ public class CourseDetailActivity extends BaseActivity<SImplePresenter, Activity ...@@ -81,7 +103,6 @@ public class CourseDetailActivity extends BaseActivity<SImplePresenter, Activity
CommonUtils.setVideoThumb(mActivity, mBind.jzVideo, data.getUrl()); CommonUtils.setVideoThumb(mActivity, mBind.jzVideo, data.getUrl());
mBind.tvLooks.setText(data.getLearners() + ""); mBind.tvLooks.setText(data.getLearners() + "");
mBind.tvLike.setText(pointNum + ""); mBind.tvLike.setText(pointNum + "");
mBind.tvComponent.setText("留言. " + data.getLeaves());
if (data.getCoursePointsVO() != null && data.getCoursePointsVO().getPointStatus() == 1) { if (data.getCoursePointsVO() != null && data.getCoursePointsVO().getPointStatus() == 1) {
mBind.ivLike.setImageResource(R.drawable.icon_like_red); mBind.ivLike.setImageResource(R.drawable.icon_like_red);
isPointed = true; isPointed = true;
...@@ -99,6 +120,108 @@ public class CourseDetailActivity extends BaseActivity<SImplePresenter, Activity ...@@ -99,6 +120,108 @@ public class CourseDetailActivity extends BaseActivity<SImplePresenter, Activity
} }
} }
private void initCommentAdapter() {
mCommentAdapter = new CommentAdapter(false);
mCommentAdapter.setData(commentList);
mBind.rvComponent.setLayoutManager(new LinearLayoutManager(mActivity));
mBind.rvComponent.setAdapter(mCommentAdapter);
mCommentAdapter.setLoadMore(true);
mBind.rvComponent.setNestedScrollingEnabled(false);
}
@SuppressLint("ClickableViewAccessibility")
private void initCommentListener() {
KeyboardStateObserver.getKeyboardStateObserver(mActivity).setKeyboardVisibilityListener(
new KeyboardStateObserver.OnKeyboardVisibilityListener() {
@Override
public void onKeyboardShow() {
mBind.btnComment.setVisibility(View.GONE);
}
@Override
public void onKeyboardHide() {
weakHandler.postDelayed(() -> {
mBind.btnComment.setVisibility(View.VISIBLE);
}, 100);
}
});
mBind.nsvLearn.setOnTouchListener((view, motionEvent) -> {
CommonUtils.hideSoftInput(mActivity, mBind.edtComment);
return false;
});
//发送
mBind.btnSend.setOnClickListener(v -> {
String content = mBind.edtComment.getText().toString();
if (TextUtils.isEmpty(content)) return;
ProgressUtil.startLoad(mActivity);
if (selectedItem != null) {
CommentReplyData commentReplyData = new CommentReplyData(mUserId, content, courseId, courseDetail.getName());
commentReplyData.beMessageId = selectedItem.getId();
Api.getService(LearnService.class).addCommentReply(commentReplyData).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(result -> {
if (result) {
selectedItem = null;
sendCommendSuccess();
}
}));
} else {
CommentPostData commentData = new CommentPostData(mUserId, content, courseId, courseDetail.getName());
Api.getService(LearnService.class).addComment(commentData).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(result -> {
if (result) {
sendCommendSuccess();
}
}));
}
CommonUtils.hideSoftInput(mActivity, mBind.edtComment);
});
mBind.btnComment.setOnClickListener(v -> {
selectedItem = null;
mBind.edtComment.setText("");
mBind.edtComment.requestFocus();
CommonUtils.ShowSoftInput(mActivity, mBind.edtComment);
});
mCommentAdapter.setOnItemClickListener((item, bind) -> {
selectedItem = item;
mBind.edtComment.setText("");
mBind.edtComment.requestFocus();
CommonUtils.ShowSoftInput(mActivity, mBind.edtComment);
});
}
private void sendCommendSuccess() {
page = 1;
getCommentData();
mBind.edtComment.setText("");
}
//获取评论数据
private void getCommentData() {
Api.getService(LearnService.class).getComment(courseId, page, Constants.PAGESIZE).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data -> {
mBind.refreshLayout.finishRefresh();
mBind.refreshLayout.finishLoadMore();
if (page == 1) {
commentList.clear();
mBind.refreshLayout.setEnableLoadMore(data.getData().size() > 0);
}
// commentList = transData(data.getData());
commentList.addAll(data.getData());
mBind.tvComponent.setText("留言. " + data.getTotalRows());
mCommentAdapter.setData(commentList);
mBind.refreshLayout.setEnableLoadMore(page < data.getTotalPages());
page += 1;
}, responeThrowable -> {
mBind.refreshLayout.finishRefresh();
mBind.refreshLayout.finishLoadMore();
}));
}
@Override @Override
public void onBackPressed() { public void onBackPressed() {
if (!Jzvd.backPress()) { if (!Jzvd.backPress()) {
......
...@@ -99,6 +99,7 @@ public class EditCourseActivity extends BaseActivity<PubCoursePresenter, Activit ...@@ -99,6 +99,7 @@ public class EditCourseActivity extends BaseActivity<PubCoursePresenter, Activit
private void onCancleClick() { private void onCancleClick() {
if (canSubmit() && courseDetail != null ){ if (canSubmit() && courseDetail != null ){
Jzvd.goOnPlayOnPause();
EditCourseData editData = new EditCourseData(mUserId,theme,desc,mUserInfo.getAccountName(),courseDetail.getCourseTimes()); EditCourseData editData = new EditCourseData(mUserId,theme,desc,mUserInfo.getAccountName(),courseDetail.getCourseTimes());
editData.id = courseId; editData.id = courseId;
if (courseDetail.getStatus() == 1){ if (courseDetail.getStatus() == 1){
......
...@@ -125,6 +125,7 @@ public class PubCourseActivity extends BaseActivity<PubCoursePresenter, Activity ...@@ -125,6 +125,7 @@ public class PubCourseActivity extends BaseActivity<PubCoursePresenter, Activity
protected void onConfimClick() { protected void onConfimClick() {
if (canSubmit()) { if (canSubmit()) {
Jzvd.goOnPlayOnPause();
PubCourseData pubData = new PubCourseData(mUserId,theme,desc,mUserInfo.getAccountName() PubCourseData pubData = new PubCourseData(mUserId,theme,desc,mUserInfo.getAccountName()
,CommonUtils.getVideoLength(videoPath)); ,CommonUtils.getVideoLength(videoPath));
mPresenter.pubVideo(videoPath, pubData); mPresenter.pubVideo(videoPath, pubData);
......
...@@ -62,7 +62,7 @@ public class HomeLearnFragment extends BaseFragment<SImplePresenter, FragmentHom ...@@ -62,7 +62,7 @@ public class HomeLearnFragment extends BaseFragment<SImplePresenter, FragmentHom
//获取tab数量 //获取tab数量
private void getTabData() { private void getTabData() {
Api.getService(LearnService.class).getLearTabNum(mUserId).compose(Api.applySchedulers()) Api.getService(LearnService.class).getLearTabNum(mUserId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data->{ .subscribe(mPresenter.baseObserver(data -> {
tabBean = data; tabBean = data;
setTabNum(); setTabNum();
})); }));
...@@ -118,9 +118,11 @@ public class HomeLearnFragment extends BaseFragment<SImplePresenter, FragmentHom ...@@ -118,9 +118,11 @@ public class HomeLearnFragment extends BaseFragment<SImplePresenter, FragmentHom
public void setTabNum() { public void setTabNum() {
// EventBus.getDefault().post(new LearnTabNumEvent(1)); // EventBus.getDefault().post(new LearnTabNumEvent(1));
int[] tabNum = new int[]{0 , 0 , 0}; int[] tabNum;
if (tabBean != null){ if (tabBean != null) {
tabNum = new int[]{tabBean.getTotalCourses(),tabBean.getLeaners(),tabBean.getPublishes()}; tabNum = new int[]{tabBean.getTotalCourses(), tabBean.getLeaners(), tabBean.getPublishes()};
} else {
tabNum = new int[]{0, 0, 0};
} }
if (isFirstAddTab) { if (isFirstAddTab) {
mBind.tabLearn.removeAllTabs(); mBind.tabLearn.removeAllTabs();
...@@ -132,7 +134,7 @@ public class HomeLearnFragment extends BaseFragment<SImplePresenter, FragmentHom ...@@ -132,7 +134,7 @@ public class HomeLearnFragment extends BaseFragment<SImplePresenter, FragmentHom
for (int i = 0; i < mBind.tabLearn.getTabCount(); i++) { for (int i = 0; i < mBind.tabLearn.getTabCount(); i++) {
TextView tv = mBind.tabLearn.getTabAt(i).getCustomView().findViewById(R.id.tabtext); TextView tv = mBind.tabLearn.getTabAt(i).getCustomView().findViewById(R.id.tabtext);
TextView tvIcon = mBind.tabLearn.getTabAt(i).getCustomView().findViewById(R.id.tabicon); TextView tvIcon = mBind.tabLearn.getTabAt(i).getCustomView().findViewById(R.id.tabicon);
tv.setText(tabNum[i]+""); tv.setText(tabNum[i] + "");
tvIcon.setText(tabDesc[i]); tvIcon.setText(tabDesc[i]);
} }
} }
...@@ -147,7 +149,7 @@ public class HomeLearnFragment extends BaseFragment<SImplePresenter, FragmentHom ...@@ -147,7 +149,7 @@ public class HomeLearnFragment extends BaseFragment<SImplePresenter, FragmentHom
} }
Typeface tf = Typeface.createFromAsset(mgr, "fonts/DIN Alternate Bold.ttf"); Typeface tf = Typeface.createFromAsset(mgr, "fonts/DIN Alternate Bold.ttf");
textView_number.setTypeface(tf); textView_number.setTypeface(tf);
textView_number.setText(number+""); textView_number.setText(number + "");
TextView textView = newtab.findViewById(R.id.tabicon); TextView textView = newtab.findViewById(R.id.tabicon);
textView.setText(iconID); textView.setText(iconID);
return newtab; return newtab;
...@@ -160,7 +162,7 @@ public class HomeLearnFragment extends BaseFragment<SImplePresenter, FragmentHom ...@@ -160,7 +162,7 @@ public class HomeLearnFragment extends BaseFragment<SImplePresenter, FragmentHom
} }
@Subscribe @Subscribe
public void refreTab(RefreshLeanTabEvent event){ public void refreTab(RefreshLeanTabEvent event) {
getTabData(); getTabData();
} }
} }
<resources> <resources>
<string name="app_name">LearnCenter</string> <string name="app_name">LearnCenter</string>
<string name="video_file_too_large">视频文件过大</string> <string name="video_file_too_large">视频文件不能大于300M</string>
<string name="take_video">拍摄</string> <string name="take_video">拍摄</string>
<string name="select_from_local">从本地选择</string> <string name="select_from_local">从本地选择</string>
<string name="video_upload_fail">视频上传失败</string> <string name="video_upload_fail">视频上传失败</string>
......
...@@ -2,10 +2,9 @@ package com.dayu.order.api; ...@@ -2,10 +2,9 @@ package com.dayu.order.api;
import com.dayu.base.api.Api; import com.dayu.base.api.Api;
import com.dayu.base.api.protocol.BasePageBean; import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.base.api.protocol.BaseResponse; import com.dayu.base.api.protocol.CommentBean;
import com.dayu.order.api.protocol.CommentBean; import com.dayu.base.api.protocol.CommentPostData;
import com.dayu.order.api.protocol.CommentPostData; import com.dayu.base.api.protocol.CommentReplyData;
import com.dayu.order.api.protocol.CommentReplyData;
import com.dayu.order.api.protocol.ErrorOrder; import com.dayu.order.api.protocol.ErrorOrder;
import com.dayu.order.api.protocol.KaAddress; import com.dayu.order.api.protocol.KaAddress;
import com.dayu.order.api.protocol.LogsticsInfo; import com.dayu.order.api.protocol.LogsticsInfo;
...@@ -178,7 +177,7 @@ public class OrderApiFactory { ...@@ -178,7 +177,7 @@ public class OrderApiFactory {
return Api.getService(OrderService.class).searchOrder(key, userAccount, status, page, pageSize).compose(Api.applySchedulers()); return Api.getService(OrderService.class).searchOrder(key, userAccount, status, page, pageSize).compose(Api.applySchedulers());
} }
public static Observable<BasePageBean<CommentBean>> getComment(int targetId, int status, int targetType,int accountType, int page, int pageSize) { public static Observable<BasePageBean<CommentBean>> getComment(int targetId, int status, int targetType, int accountType, int page, int pageSize) {
return Api.getService(OrderService.class).getComment(targetId, page, pageSize).compose(Api.applySchedulers()); return Api.getService(OrderService.class).getComment(targetId, page, pageSize).compose(Api.applySchedulers());
} }
public static Observable<Boolean> addComment(CommentPostData data) { public static Observable<Boolean> addComment(CommentPostData data) {
......
...@@ -2,10 +2,10 @@ package com.dayu.order.api; ...@@ -2,10 +2,10 @@ package com.dayu.order.api;
import com.dayu.base.api.protocol.BasePageBean; import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.base.api.protocol.BaseResponse; import com.dayu.base.api.protocol.BaseResponse;
import com.dayu.base.api.protocol.CommentBean;
import com.dayu.base.api.protocol.CommentPostData;
import com.dayu.base.api.protocol.CommentReplyData;
import com.dayu.common.Constants; import com.dayu.common.Constants;
import com.dayu.order.api.protocol.CommentBean;
import com.dayu.order.api.protocol.CommentPostData;
import com.dayu.order.api.protocol.CommentReplyData;
import com.dayu.order.api.protocol.ErrorOrder; import com.dayu.order.api.protocol.ErrorOrder;
import com.dayu.order.api.protocol.KaAddress; import com.dayu.order.api.protocol.KaAddress;
import com.dayu.order.api.protocol.LogsticsInfo; import com.dayu.order.api.protocol.LogsticsInfo;
......
...@@ -7,8 +7,10 @@ import android.text.TextUtils; ...@@ -7,8 +7,10 @@ import android.text.TextUtils;
import android.view.View; import android.view.View;
import com.badoo.mobile.util.WeakHandler; import com.badoo.mobile.util.WeakHandler;
import com.dayu.base.api.Api; import com.dayu.base.api.protocol.CommentBean;
import com.dayu.base.api.protocol.BasePageBean; import com.dayu.base.api.protocol.CommentPostData;
import com.dayu.base.api.protocol.CommentReplyData;
import com.dayu.base.ui.adapter.CommentAdapter;
import com.dayu.base.ui.adapter.CoreAdapter; import com.dayu.base.ui.adapter.CoreAdapter;
import com.dayu.base.ui.fragment.BaseFragment; import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.base.ui.presenter.SImplePresenter; import com.dayu.base.ui.presenter.SImplePresenter;
...@@ -16,17 +18,12 @@ import com.dayu.common.Constants; ...@@ -16,17 +18,12 @@ import com.dayu.common.Constants;
import com.dayu.event.UserInfo; import com.dayu.event.UserInfo;
import com.dayu.order.R; import com.dayu.order.R;
import com.dayu.order.api.OrderApiFactory; import com.dayu.order.api.OrderApiFactory;
import com.dayu.order.api.protocol.CommentBean;
import com.dayu.order.api.protocol.CommentPostData;
import com.dayu.order.api.protocol.CommentReplyData;
import com.dayu.order.api.protocol.OperateInfo; import com.dayu.order.api.protocol.OperateInfo;
import com.dayu.order.databinding.FragmentOperateDetailBinding; import com.dayu.order.databinding.FragmentOperateDetailBinding;
import com.dayu.order.ui.adapter.CommentAdapter;
import com.dayu.utils.CommonUtils; import com.dayu.utils.CommonUtils;
import com.dayu.utils.GlideImageLoader; import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.ProgressUtil; import com.dayu.utils.ProgressUtil;
import com.dayu.utils.ToastUtils; import com.dayu.utils.ToastUtils;
import com.dayu.utils.UserManager;
import com.dayu.widgets.KeyboardStateObserver; import com.dayu.widgets.KeyboardStateObserver;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -74,7 +71,6 @@ public class OperateDetailFragment extends BaseFragment<SImplePresenter, Fragmen ...@@ -74,7 +71,6 @@ public class OperateDetailFragment extends BaseFragment<SImplePresenter, Fragmen
mBind.rlSop.setAdapter(mSopAdapter); mBind.rlSop.setAdapter(mSopAdapter);
mCommentAdapter = new CommentAdapter(false); mCommentAdapter = new CommentAdapter(false);
mCommentAdapter.setViewType(R.layout.item_comment);
mCommentAdapter.setData(commentList); mCommentAdapter.setData(commentList);
mBind.rlComponent.setLayoutManager(new LinearLayoutManager(mActivity)); mBind.rlComponent.setLayoutManager(new LinearLayoutManager(mActivity));
mBind.rlComponent.setAdapter(mCommentAdapter); mBind.rlComponent.setAdapter(mCommentAdapter);
......
package com.bigfish.salecenter.adapter;
import android.text.Html;
import android.view.View;
import com.bigfish.salecenter.R;
import com.bigfish.salecenter.databinding.ItemSaleCommentBinding;
import com.bigfish.salecenter.model.CommentBean;
import com.dayu.base.ui.adapter.CoreAdapter;
import com.dayu.utils.CommonUtils;
import com.dayu.utils.GlideImageLoader;
/**
* Created by mReturn
*/
public class CommentAdapter extends CoreAdapter<CommentBean,ItemSaleCommentBinding> {
public CommentAdapter(boolean needFoot) {
super(needFoot);
}
@Override
protected void onBind(ItemSaleCommentBinding holder, CommentBean item, int position) {
super.onBind(holder, item, position);
holder.rlComponent.setVisibility(item.getMessageType() == 1?View.VISIBLE:View.GONE);
holder.rlReply.setVisibility(item.getMessageType() == 1?View.GONE:View.VISIBLE);
GlideImageLoader.load(mContext,holder.ivAvatar,item.getMessageAvatarUrl(),R.drawable.icon_user_default);
GlideImageLoader.load(mContext,holder.ivAvatar2,item.getMessageAvatarUrl(),R.drawable.icon_user_default);
holder.tvTime.setText(CommonUtils.getTimeDesc(mContext,item.getCreateTime()));
holder.tvTime2.setText(CommonUtils.getTimeDesc(mContext,item.getCreateTime()));
String replyStr = mContext.getString(R.string.reply_str)+"<font color='#3e96e2'>"+"@"+item.getBeName()+
"</font>"+": "+item.getContent();
holder.tvReply.setText(Html.fromHtml(replyStr));
}
}
package com.bigfish.salecenter.api; package com.bigfish.salecenter.api;
import com.bigfish.salecenter.model.CollectProductData; import com.bigfish.salecenter.model.CollectProductData;
import com.bigfish.salecenter.model.CommentBean;
import com.bigfish.salecenter.model.CommentPostData;
import com.bigfish.salecenter.model.CommentReplyData;
import com.bigfish.salecenter.model.OrdersBean; import com.bigfish.salecenter.model.OrdersBean;
import com.bigfish.salecenter.model.ProductDetailBean; import com.bigfish.salecenter.model.ProductDetailBean;
import com.bigfish.salecenter.model.ProductListBean; import com.bigfish.salecenter.model.ProductListBean;
...@@ -11,6 +8,9 @@ import com.bigfish.salecenter.model.SalTabNumBean; ...@@ -11,6 +8,9 @@ import com.bigfish.salecenter.model.SalTabNumBean;
import com.bigfish.salecenter.model.SaleOrderDetailsBean; import com.bigfish.salecenter.model.SaleOrderDetailsBean;
import com.dayu.base.api.protocol.BasePageBean; import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.base.api.protocol.BaseResponse; import com.dayu.base.api.protocol.BaseResponse;
import com.dayu.base.api.protocol.CommentBean;
import com.dayu.base.api.protocol.CommentPostData;
import com.dayu.base.api.protocol.CommentReplyData;
import com.dayu.common.Constants; import com.dayu.common.Constants;
import io.reactivex.Observable; import io.reactivex.Observable;
......
package com.bigfish.salecenter.model;
/**
* Created by mReturn
* on 2020\1\9 0009.
*/
public class CommentBean {
/**
* id : 271
* accountName : 曹立明
* beName : null
* targetName : 商品1
* content : 留言1-小程序
* messageType : 1
* isRead : 2
* createTime : 2020-03-17 17:45:39
* messageAvatarUrl : https://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTJKEXJZcqmEdrgl7VXyMWZ7BGIFLbfLTYWHPbonbMqibyicObslJXe7ZicdlS7zLmNH4ScYxbfPzW0lA/132
*/
private int id;
private String accountName;
private String beName;
private String targetName;
private String content;
private int messageType;
private int isRead;
private String createTime;
private String messageAvatarUrl;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAccountName() {
return accountName;
}
public void setAccountName(String accountName) {
this.accountName = accountName;
}
public String getBeName() {
return beName;
}
public void setBeName(String beName) {
this.beName = beName;
}
public String getTargetName() {
return targetName;
}
public void setTargetName(String targetName) {
this.targetName = targetName;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public int getMessageType() {
return messageType;
}
public void setMessageType(int messageType) {
this.messageType = messageType;
}
public int getIsRead() {
return isRead;
}
public void setIsRead(int isRead) {
this.isRead = isRead;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getMessageAvatarUrl() {
return messageAvatarUrl;
}
public void setMessageAvatarUrl(String messageAvatarUrl) {
this.messageAvatarUrl = messageAvatarUrl;
}
}
package com.bigfish.salecenter.model;
public class CommentPostData {
public int accountId; //留言人或回复人账号ID
public String content; // 留言内容 ,
public int targetId; //商品ID ,
public String targetName; //商品名称
public CommentPostData() {
}
public CommentPostData(int accountId, String content, int targetId, String targetName) {
this.accountId = accountId;
this.content = content;
this.targetId = targetId;
this.targetName = targetName;
}
}
package com.bigfish.salecenter.model;
public class CommentReplyData {
public int accountId; //留言人或回复人账号ID
public int beMessageId ; //留言人或回复人账号ID
public String content; // 留言内容 ,
public int targetId; //商品ID ,
public String targetName; //商品名称
public CommentReplyData() {
}
public CommentReplyData(int accountId, String content, int targetId, String targetName) {
this.accountId = accountId;
this.content = content;
this.targetId = targetId;
this.targetName = targetName;
}
}
...@@ -2,7 +2,6 @@ package com.bigfish.salecenter.ui.fragment; ...@@ -2,7 +2,6 @@ package com.bigfish.salecenter.ui.fragment;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearLayoutManager;
import android.text.TextUtils; import android.text.TextUtils;
...@@ -12,32 +11,27 @@ import android.widget.CheckBox; ...@@ -12,32 +11,27 @@ import android.widget.CheckBox;
import com.badoo.mobile.util.WeakHandler; import com.badoo.mobile.util.WeakHandler;
import com.bigfish.salecenter.R; import com.bigfish.salecenter.R;
import com.bigfish.salecenter.adapter.CommentAdapter;
import com.bigfish.salecenter.api.SaleService; import com.bigfish.salecenter.api.SaleService;
import com.bigfish.salecenter.databinding.FragmentSaleInstructionBinding; import com.bigfish.salecenter.databinding.FragmentSaleInstructionBinding;
import com.bigfish.salecenter.model.CommentBean;
import com.bigfish.salecenter.model.CommentPostData;
import com.bigfish.salecenter.model.CommentReplyData;
import com.bigfish.salecenter.model.ProductDetailBean; import com.bigfish.salecenter.model.ProductDetailBean;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder; import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.base.api.Api; import com.dayu.base.api.Api;
import com.dayu.base.api.protocol.CommentBean;
import com.dayu.base.api.protocol.CommentPostData;
import com.dayu.base.api.protocol.CommentReplyData;
import com.dayu.base.ui.adapter.CommentAdapter;
import com.dayu.base.ui.fragment.BaseFragment; import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.base.ui.presenter.SImplePresenter; import com.dayu.base.ui.presenter.SImplePresenter;
import com.dayu.event.UserInfo; import com.dayu.event.UserInfo;
import com.dayu.utils.CommonUtils; import com.dayu.utils.CommonUtils;
import com.dayu.utils.GlideImageLoader; import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.LogUtils;
import com.dayu.utils.ProgressUtil; import com.dayu.utils.ProgressUtil;
import com.dayu.utils.UserManager;
import com.dayu.widgets.KeyboardStateObserver; import com.dayu.widgets.KeyboardStateObserver;
import com.google.android.flexbox.AlignItems; import com.google.android.flexbox.AlignItems;
import com.google.android.flexbox.AlignSelf;
import com.google.android.flexbox.FlexDirection; import com.google.android.flexbox.FlexDirection;
import com.google.android.flexbox.FlexboxLayoutManager; import com.google.android.flexbox.FlexboxLayoutManager;
import com.google.android.flexbox.JustifyContent; import com.google.android.flexbox.JustifyContent;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -171,7 +165,6 @@ public class SaleInstructionFragment extends BaseFragment<SImplePresenter, Fragm ...@@ -171,7 +165,6 @@ public class SaleInstructionFragment extends BaseFragment<SImplePresenter, Fragm
private void initCommentAdapter() { private void initCommentAdapter() {
mCommentAdapter = new CommentAdapter(false); mCommentAdapter = new CommentAdapter(false);
mCommentAdapter.setViewType(R.layout.item_sale_comment);
mCommentAdapter.setData(commentList); mCommentAdapter.setData(commentList);
mBind.rvComponent.setLayoutManager(new LinearLayoutManager(mActivity)); mBind.rvComponent.setLayoutManager(new LinearLayoutManager(mActivity));
mBind.rvComponent.setAdapter(mCommentAdapter); mBind.rvComponent.setAdapter(mCommentAdapter);
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<com.scwang.smartrefresh.layout.SmartRefreshLayout <com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/refresh_layout" android:id="@+id/refresh_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginBottom="55dp" android:layout_above="@+id/btn_comment"
android:layout_height="match_parent"> android:layout_height="match_parent">
<android.support.v4.widget.NestedScrollView <android.support.v4.widget.NestedScrollView
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="item"
type="com.bigfish.salecenter.model.CommentBean" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/rl_component"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<ImageView
android:id="@+id/iv_avatar"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginLeft="10dp"
/>
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:layout_toRightOf="@id/iv_avatar"
android:text="@{item.accountName}"
android:textColor="@color/cl_home_title_text_color"
android:textSize="13sp" />
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/tv_name"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@id/tv_name"
android:text="time"
android:textColor="@color/tv_cl"
android:textSize="13sp" />
<TextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/tv_name"
android:layout_alignLeft="@id/tv_name"
android:layout_marginTop="3dp"
android:layout_marginRight="10dp"
android:text="@{item.content}"
android:textColor="@color/cl_home_title_text_color"
android:textSize="13sp" />
<ImageView
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:src="@drawable/icon_comment" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@id/tv_content"
android:layout_marginTop="10dp"
android:background="@color/color_ee" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_reply"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="55dp"
android:layout_marginTop="10dp">
<ImageView
android:id="@+id/iv_avatar2"
android:layout_width="35dp"
android:layout_height="35dp"
android:src="@drawable/icon_user_default" />
<TextView
android:id="@+id/tv_name2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:layout_toRightOf="@id/iv_avatar2"
android:text="@{item.accountName}"
android:textColor="@color/cl_home_title_text_color"
android:textSize="13sp" />
<TextView
android:id="@+id/tv_time2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/tv_name2"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@id/tv_name2"
android:text="time"
android:textColor="@color/tv_cl"
android:textSize="13sp" />
<LinearLayout
android:id="@+id/ll_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_name2"
android:layout_alignLeft="@id/tv_name2"
android:layout_marginTop="5dp"
android:layout_marginRight="10dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_reply_"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/reply_str"
android:textColor="@color/cl_home_title_text_color"
android:textSize="13sp" />
<TextView
android:id="@+id/tv_reply_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text='@{"@"+item.beName}'
android:textColor="@color/cl_home_button"
android:textSize="13sp" />
<TextView
android:id="@+id/tv_content2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text='@{": "+item.content}'
android:textColor="@color/cl_home_title_text_color"
android:textSize="13sp" />
</LinearLayout>
<ImageView
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:src="@drawable/icon_comment" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@id/ll_content"
android:layout_marginTop="10dp"
android:background="@color/color_ee" />
</RelativeLayout>
</LinearLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="item"
type="com.bigfish.salecenter.model.CommentBean" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/rl_component"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<ImageView
android:id="@+id/iv_avatar"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginLeft="10dp"
/>
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:layout_toRightOf="@id/iv_avatar"
android:text="@{item.accountName}"
android:textColor="@color/cl_home_title_text_color"
android:textSize="13sp" />
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/tv_name"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@id/tv_name"
android:text="time"
android:textColor="@color/tv_cl"
android:textSize="13sp" />
<TextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/tv_name"
android:layout_alignLeft="@id/tv_name"
android:layout_marginTop="3dp"
android:layout_marginRight="10dp"
android:text="@{item.content}"
android:textColor="@color/cl_home_title_text_color"
android:textSize="13sp" />
<ImageView
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:src="@drawable/icon_comment" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@id/tv_content"
android:layout_marginTop="10dp"
android:background="@color/color_ee" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_reply"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="55dp"
android:layout_marginTop="10dp">
<ImageView
android:id="@+id/iv_avatar2"
android:layout_width="35dp"
android:layout_height="35dp"
android:src="@drawable/icon_user_default" />
<LinearLayout
android:id="@+id/ll_user2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:orientation="horizontal"
android:layout_marginRight="35dp"
android:layout_toRightOf="@id/iv_avatar2"
>
<TextView
android:id="@+id/tv_name2"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:maxLines="1"
android:ellipsize="end"
android:text="@{item.accountName}"
android:textColor="@color/cl_home_title_text_color"
android:textSize="13sp" />
<TextView
android:id="@+id/tv_time2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="time"
android:textColor="@color/tv_cl"
android:textSize="13sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/ll_user2"
android:layout_alignLeft="@id/ll_user2"
android:layout_marginTop="5dp"
android:layout_marginRight="10dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_reply_"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/reply_str"
android:lineSpacingExtra="2dp"
android:textColor="@color/cl_home_title_text_color"
android:textSize="13sp" />
<!--<TextView-->
<!--android:id="@+id/tv_reply_name"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:text='@{"@"+item.beName}'-->
<!--android:textColor="@color/cl_home_button"-->
<!--android:textSize="13sp" />-->
<!--<TextView-->
<!--android:id="@+id/tv_content2"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:text='@{": "+item.content}'-->
<!--android:textColor="@color/cl_home_title_text_color"-->
<!--android:textSize="13sp" />-->
</LinearLayout>
<ImageView
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:src="@drawable/icon_comment" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@id/ll_content"
android:layout_marginTop="10dp"
android:background="@color/color_ee" />
</RelativeLayout>
</LinearLayout>
</layout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment