This commit is contained in:
2025-12-11 21:05:04 +08:00
parent ed0eccd0ee
commit d470b2fdb1
22 changed files with 537 additions and 151 deletions

View File

@@ -1,13 +1,15 @@
package com.xscm.modulemain.activity.user.activity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.view.View;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.blankj.utilcode.util.LogUtils;
import com.xscm.modulemain.Application;
import com.xscm.modulemain.R;
import com.xscm.modulemain.adapter.TaskBoxAdapter;
import com.xscm.modulemain.adapter.TaskDataAdapter;
@@ -19,12 +21,18 @@ import com.xscm.modulemain.activity.user.presenter.DailyTasksPresenter;
import com.xscm.modulemain.BaseMvpActivity;
import com.xscm.modulemain.activity.WebViewActivity;
import com.xscm.modulemain.manager.RoomManager;
import com.xscm.moduleutil.bean.RoomMessageEvent;
import com.xscm.moduleutil.bean.TaskDataBean;
import com.xscm.moduleutil.utils.CustomMsgCode;
import com.xscm.moduleutil.base.WebUrlConstants;
import com.xscm.moduleutil.bean.GiftBoxBean;
import com.xscm.moduleutil.bean.GiftName;
import com.xscm.moduleutil.bean.TaskItem;
import com.xscm.moduleutil.listener.MessageListenerSingleton;
import com.xscm.moduleutil.utils.ARouteConstants;
import com.xscm.moduleutil.utils.ColorManager;
import com.xscm.moduleutil.utils.SpUtil;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
@@ -46,6 +54,8 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
private TaskDataAdapter taskDataAdapter;
private List<GiftBoxBean.TaskDataBean> taskList = new ArrayList<>();
@Override
protected DailyTasksPresenter bindPresenter() {
return new DailyTasksPresenter(this, this);
@@ -78,6 +88,27 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
mBinding.rvTask.setLayoutManager(new GridLayoutManager(this, 2, GridLayoutManager.VERTICAL, false));
mBinding.rvTask.setAdapter(mTaskBoxAdapter);
mBinding.rvTaskToday.setLayoutManager(new GridLayoutManager(this, 1));
mTaskDataAdapter = new TaskSectionAdapter(taskList);
mBinding.rvTaskToday.setAdapter(mTaskDataAdapter);
mTaskDataAdapter.setOnItemClickListener(new TaskSectionAdapter.OnItemClickListener() {
@Override
public void onItemClick(GiftBoxBean.TaskDataBean taskItem, GiftBoxBean.TaskDataBean.DailyTasksBean item) {
LogUtils.e("taskStatus:" + item.toString() + "\n taskItem:" + taskItem.toString());
switch (item.getTask_status()) {
case 1://未开始
taskStatus1(item);
break;
case 2://待领取
MvpPre.dailyTasksReceive(item.getTask_id() + "",item.getStudent_id());
break;
case 3://已完成
break;
}
}
});
mBinding.imGz.setOnClickListener(v -> {
Intent intent = new Intent(this, WebViewActivity.class);
@@ -103,44 +134,46 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
mBinding.tvTitle.setText("今日累计充值获得金币:" + (giftBoxBean.getUser_gold() != null ? giftBoxBean.getUser_gold() : "0"));
mTaskBoxAdapter.setNewData(giftBoxBean.getGift_box_list());
mBinding.rvTaskToday.setLayoutManager(new GridLayoutManager(this, 1));
// List<TaskItem> sections = new ArrayList<>();
// // 每日任务
// sections.add(new TaskItem("今日任务", giftBoxBean.getTasks().getDaily_tasks()));
// // 特殊任务
// sections.add(new TaskItem("特殊任务", giftBoxBean.getTasks().getDaily_tasks_special()));//
// // 师徒任务
// if (giftBoxBean.getTasks().getTeacher_tasks() != null && giftBoxBean.getTasks().getTeacher_tasks().size() > 0) {
// sections.add(new TaskItem("师徒任务", giftBoxBean.getTasks().getTeacher_tasks()));
// }
//
// // 平台任务
// sections.add(new TaskItem("平台任务", giftBoxBean.getTasks().getUsual_tasks()));
mTaskDataAdapter = new TaskSectionAdapter(giftBoxBean.getTasks());
mBinding.rvTaskToday.setAdapter(mTaskDataAdapter);
mTaskDataAdapter.setOnItemClickListener(new TaskSectionAdapter.OnItemClickListener() {
@Override
public void onItemClick(GiftBoxBean.TaskDataBean taskItem, GiftBoxBean.TaskDataBean.DailyTasksBean item) {
// if (taskItem.getTitle().equals("今日任务") || taskItem.getTitle().equals("平台任务") || taskItem.getTitle().equals("师徒任务")) {
// if (item.getTask_status() == 2) {
// MvpPre.dailyTasksReceive(item.getTask_id() + "");
// }
// } else {
// if (item.getTask_status() == 2) {
// MvpPre.dailyTasksReceive(item.getTask_id() + "");
// } else if (item.getTask_status() == 1) {
// mBinding.coolWaitView.setVisibility(View.VISIBLE);
// RoomManager.getInstance().fetchRoomDataAndEnter(DailyTasksActivity.this, item.getFrom_id(), "", item.getTask_id() + "");
// finish();
// }
// }
}
});
taskList.clear();
giftBoxBean.getTasks().stream()
.filter(task -> !task.getTask_list().isEmpty())
.forEach(taskList::add);
mTaskDataAdapter.notifyDataSetChanged();
}
private void taskStatus1(GiftBoxBean.TaskDataBean.DailyTasksBean item) {
switch (item.getJump_type()) {
case 1:
toActivity(RealNameActivity.class);
break;
case 2:
toActivity(CreateAlbumActivity.class);
break;
case 3:
toActivity(BindCardActivity.class);
break;
case 4:
mBinding.coolWaitView.setVisibility(View.VISIBLE);
MvpPre.taskJumpRoom(item, item.getTask_id() + "");
break;
case 5:
//跳转加入公会
Intent intent = new Intent(DailyTasksActivity.this, WebViewActivity.class);
intent.putExtra("url", String.format(WebUrlConstants.INSTANCE.getWEB_GUILD_URL(), SpUtil.getToken(), ""));
intent.putExtra("title", "公会");
startActivity(intent);
break;
case 6:
toActivity(RechargeActivity.class);
break;
case 0:
break;
}
}
@SuppressLint("CheckResult")
@Override
protected void onPause() {
super.onPause();
@@ -160,4 +193,34 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
ToastUtils.show("任务完成");
MvpPre.tasksLihen();
}
@Override
public void taskJumpRoom(GiftBoxBean.TaskDataBean.DailyTasksBean item, String roomId) {
if (item.getFrom_id().equals("0")) {
ToastUtils.show("暂无此类型房间。");
mBinding.coolWaitView.setVisibility(View.GONE);
return;
}
switch (item.getTask_id()) {
case 21:
case 22:
case 23:
RoomMessageEvent.T text = new RoomMessageEvent.T();
try {
JSONObject jsonObject = new JSONObject();
jsonObject.put("status", "1");
jsonObject.put("room_id", roomId);
text.setText(jsonObject.toString());
MessageListenerSingleton.getInstance().sendCustomC2CMessage(
CustomMsgCode.INSTANCE.getCODE_TASK_APPRENTICE_JOIN_ROOM(),
item.getStudent_id(), text);
Application.Companion.getInstance().inviteApprenticeTaskTimer();
}catch (Exception e){
e.printStackTrace();
}
break;
}
RoomManager.getInstance().fetchRoomDataAndEnter(DailyTasksActivity.this, roomId, "", "");
finish();
}
}

View File

@@ -15,6 +15,8 @@ public class DailyTasksConacts {
void dailyTasksOpenBox(GiftName giftName);
void dailyTasksComplete();
void taskJumpRoom(GiftBoxBean.TaskDataBean.DailyTasksBean item,String taskId);
}
public interface IMePre extends IPresenter {
@@ -23,7 +25,9 @@ public class DailyTasksConacts {
void dailyTasksOpenBox(String gift_box_id);
void dailyTasksReceive(String task_id);
void dailyTasksReceive(String task_id,String student_id);
void taskJumpRoom(GiftBoxBean.TaskDataBean.DailyTasksBean item,String roomId);
}
}

View File

@@ -6,6 +6,7 @@ import com.xscm.modulemain.activity.user.conacts.DailyTasksConacts;
import com.xscm.moduleutil.bean.GiftBoxBean;
import com.xscm.moduleutil.bean.GiftName;
import com.xscm.moduleutil.http.BaseObserver;
import com.xscm.moduleutil.http.RetrofitClient;
import com.xscm.moduleutil.presenter.BasePresenter;
import io.reactivex.disposables.Disposable;
@@ -18,7 +19,7 @@ public class DailyTasksPresenter extends BasePresenter<DailyTasksConacts.View> i
@Override
public void tasksLihen() {
api.tasksLihen(new BaseObserver<GiftBoxBean>() {
RetrofitClient.getInstance().tasksLihen(new BaseObserver<GiftBoxBean>() {
@Override
public void onSubscribe(Disposable d) {
addDisposable(d);
@@ -33,7 +34,7 @@ public class DailyTasksPresenter extends BasePresenter<DailyTasksConacts.View> i
@Override
public void dailyTasksOpenBox(String gift_box_id) {
api.dailyTasksOpenBox(gift_box_id, new BaseObserver<GiftName>() {
RetrofitClient.getInstance().dailyTasksOpenBox(gift_box_id, new BaseObserver<GiftName>() {
@Override
public void onSubscribe(Disposable d) {
addDisposable(d);
@@ -47,8 +48,8 @@ public class DailyTasksPresenter extends BasePresenter<DailyTasksConacts.View> i
}
@Override
public void dailyTasksReceive(String task_id) {
api.dailyTasksReceive(task_id, new BaseObserver<String>() {
public void dailyTasksReceive(String task_id,String student_id) {
RetrofitClient.getInstance().dailyTasksReceive(task_id,student_id, new BaseObserver<String>() {
@Override
public void onSubscribe(Disposable d) {
@@ -63,5 +64,21 @@ public class DailyTasksPresenter extends BasePresenter<DailyTasksConacts.View> i
}
@Override
public void taskJumpRoom(GiftBoxBean.TaskDataBean.DailyTasksBean item,String taskId) {
RetrofitClient.getInstance().taskJumpRoomId(taskId, new BaseObserver<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(String s) {
MvpRef.get().taskJumpRoom(item,s);
}
});
}
}