Commit c3c82465 by 严久程

课程、支付

parent 3d7b3ccd
...@@ -22,30 +22,6 @@ import com.yidianling.course.widget.SearchBarView; ...@@ -22,30 +22,6 @@ import com.yidianling.course.widget.SearchBarView;
@Route(path = "/course/home") @Route(path = "/course/home")
public class CourseActivity extends BaseActivity { public class CourseActivity extends BaseActivity {
@BindView(R2.id.content)
FrameLayout content;
@BindView(R2.id.iv_back)
ImageView ivBack;
@BindView(R2.id.tv_left_menu)
TextView leftMenu;
@BindView(R2.id.activity_course_search_bar)
SearchBarView activityCourseSearchBar;
private boolean isSplash;//是否从启动页进入
private final static String TAB = "tab";
public final static int TAB0 = 0;
private static final String IS_SPLASH = "isSplash";
public static void start(Context context, int tab) {
Intent intent = new Intent(context, CourseActivity.class);
Bundle bundle = new Bundle();
bundle.putInt(TAB, tab);
intent.putExtra("bundle", bundle);
context.startActivity(intent);
}
@Override @Override
protected int layoutResId() { protected int layoutResId() {
...@@ -55,68 +31,20 @@ public class CourseActivity extends BaseActivity { ...@@ -55,68 +31,20 @@ public class CourseActivity extends BaseActivity {
@Override @Override
protected void initDataAndEvent() { protected void initDataAndEvent() {
ButterKnife.bind(this);
Bundle bundle = getIntent().getBundleExtra("bundle");
if (bundle != null) {
isSplash = bundle.getBoolean("isSplash", false);
}
activityCourseSearchBar.initBarType(SearchBarView.JUMP_TO_SEARCH_COURSE, null);
init();
}
private void init() {
initTags(); initTags();
ivBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
leftMenu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (CourseIn.INSTANCE.isLogin()) {
MyCourseActivity.start(CourseActivity.this);
} else {
startActivity(CourseIn.INSTANCE.loginWayIntent(CourseActivity.this));
}
}
});
} }
/** /**
* 初始化tab * 初始化tab
*/ */
private void initTags() { private void initTags() {
//todo 引用flutter的课程频道页面 Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.content);
// Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.content); if (fragment == null) {
// if (fragment == null) { fragment = new FlutterCourseHomeFragment();
// fragment = new CourseHomeFragment(); getSupportFragmentManager().beginTransaction()
// getSupportFragmentManager().beginTransaction() .add(R.id.content, fragment)
// .add(R.id.content, fragment) .commit();
// .commit();
// }
}
@Override
protected void onResume() {
super.onResume();
}
public void disPro() {
dismissProgressDialog();
}
@Override
public void onBackPressed() {
super.onBackPressed();
if (isSplash) {
startActivity(CourseIn.INSTANCE.mainIntent(this));
finish();
} }
} }
} }
...@@ -7,21 +7,21 @@ import android.text.TextUtils ...@@ -7,21 +7,21 @@ import android.text.TextUtils
import com.alibaba.android.arouter.launcher.ARouter import com.alibaba.android.arouter.launcher.ARouter
import com.google.gson.Gson import com.google.gson.Gson
import com.ydl.ydl_router.manager.YDLRouterManager import com.ydl.ydl_router.manager.YDLRouterManager
import com.ydl.ydlcommon.base.flutter.base.BaseFlutterFragment
import com.ydl.ydlcommon.data.http.BaseResponse import com.ydl.ydlcommon.data.http.BaseResponse
import com.ydl.ydlcommon.data.http.RxUtils import com.ydl.ydlcommon.data.http.RxUtils
import com.ydl.ydlcommon.data.http.ThrowableConsumer import com.ydl.ydlcommon.data.http.ThrowableConsumer
import com.ydl.ydlcommon.router.YdlCommonRouterManager import com.ydl.ydlcommon.router.YdlCommonRouterManager
import com.ydl.ydlcommon.utils.YDLCacheUtils import com.ydl.ydlcommon.utils.YDLCacheUtils
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import com.ydl.ydlcommon.utils.actionutil.BIConstants
import com.ydl.ydlcommon.utils.remind.ToastHelper import com.ydl.ydlcommon.utils.remind.ToastHelper
import com.yidianling.common.tools.ToastUtil import com.yidianling.common.tools.ToastUtil
import com.yidianling.course.bean.CourseCouponBean import com.yidianling.course.bean.CourseCouponBean
import com.yidianling.course.net.CourseRetrofitUtils import com.yidianling.course.constants.CourseBIConstants
import com.yidianling.course.flutterPlugin.CourseSendPlugin import com.yidianling.course.flutterPlugin.CourseSendPlugin
import com.yidianling.course.net.CourseRetrofitUtils
import com.yidianling.course.widget.CourseCouponDialog import com.yidianling.course.widget.CourseCouponDialog
import com.yidianling.router.RouterManager import com.yidianling.router.RouterManager
import com.yidianling.ydlcommon.flutter.base.BaseFlutterFragment
import io.flutter.view.FlutterView import io.flutter.view.FlutterView
import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.Consumer import io.reactivex.functions.Consumer
...@@ -37,6 +37,7 @@ import java.util.* ...@@ -37,6 +37,7 @@ import java.util.*
* @date 2019/10/22 * @date 2019/10/22
*/ */
class FlutterCourseHomeFragment : BaseFlutterFragment() { class FlutterCourseHomeFragment : BaseFlutterFragment() {
private var hasRequestCoupon = false private var hasRequestCoupon = false
private var dialog: CourseCouponDialog? = null private var dialog: CourseCouponDialog? = null
override fun initChannelPlugin(flutterView: FlutterView) { override fun initChannelPlugin(flutterView: FlutterView) {
...@@ -54,7 +55,7 @@ class FlutterCourseHomeFragment : BaseFlutterFragment() { ...@@ -54,7 +55,7 @@ class FlutterCourseHomeFragment : BaseFlutterFragment() {
if (isVisibleToUser) { if (isVisibleToUser) {
prepareCoupon() prepareCoupon()
ActionCountUtils.count(BIConstants.CourseHomeEvent.POSITION_COURSE_HOME_PAGE_VISIT) ActionCountUtils.count(CourseBIConstants.CourseHomeEvent.POSITION_COURSE_HOME_PAGE_VISIT)
} }
} }
...@@ -86,26 +87,26 @@ class FlutterCourseHomeFragment : BaseFlutterFragment() { ...@@ -86,26 +87,26 @@ class FlutterCourseHomeFragment : BaseFlutterFragment() {
private fun getCouponData() { private fun getCouponData() {
val (userId) = YdlCommonRouterManager.getYdlCommonRoute().getUserInfo() ?: return val (userId) = YdlCommonRouterManager.getYdlCommonRoute().getUserInfo() ?: return
CourseRetrofitUtils.getCourseCoupons(userId, "3", "1", "3") CourseRetrofitUtils.getCourseCoupons(userId, "3", "1", "3")
.compose(RxUtils.netCheck()) .compose(RxUtils.netCheck())
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe(Consumer { .subscribe(Consumer {
hasRequestCoupon = true hasRequestCoupon = true
val simpleFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")//如2016-08-10 val simpleFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")//如2016-08-10
val time = System.currentTimeMillis() val time = System.currentTimeMillis()
val date = Date() val date = Date()
date.time = time date.time = time
val nowTime = simpleFormat.format(date) val nowTime = simpleFormat.format(date)
if (it?.data != null && it.data.isNotEmpty()) { if (it?.data != null && it.data.isNotEmpty()) {
YDLCacheUtils.saveCouponTime(userId, nowTime) YDLCacheUtils.saveCouponTime(userId, nowTime)
couponDataResponse(it.data) couponDataResponse(it.data)
} }
}, object : ThrowableConsumer() { }, object : ThrowableConsumer() {
override fun accept(msg: String) { override fun accept(msg: String) {
} }
}) })
} }
/** /**
...@@ -113,25 +114,28 @@ class FlutterCourseHomeFragment : BaseFlutterFragment() { ...@@ -113,25 +114,28 @@ class FlutterCourseHomeFragment : BaseFlutterFragment() {
*/ */
private fun couponDataResponse(data: List<CourseCouponBean>) { private fun couponDataResponse(data: List<CourseCouponBean>) {
if (dialog == null) { if (dialog == null) {
dialog = CourseCouponDialog(activity, data, object : CourseCouponDialog.OnClickEnsureListener { dialog = CourseCouponDialog(
override fun clickUse(toLink: String) { activity,
YDLRouterManager.router(toLink) data,
dialog!!.dismiss() object : CourseCouponDialog.OnClickEnsureListener {
} override fun clickUse(toLink: String) {
YDLRouterManager.router(toLink)
override fun clickEnsure(status: Int) {
if (status == CourseCouponDialog.STATUS_RECEIVER) {
receiveCoupon(data)
} else {
dialog!!.dismiss() dialog!!.dismiss()
}
override fun clickEnsure(status: Int) {
if (status == CourseCouponDialog.STATUS_RECEIVER) {
receiveCoupon(data)
} else {
dialog!!.dismiss()
//查看我的卡券 //查看我的卡券
ARouter.getInstance().build("/mine/redpacket") ARouter.getInstance().build("/mine/redpacket")
.withString("is_from_main", "1") .withString("is_from_main", "1")
.navigation() .navigation()
}
} }
} })
})
} }
dialog!!.show() dialog!!.show()
} }
...@@ -152,16 +156,16 @@ class FlutterCourseHomeFragment : BaseFlutterFragment() { ...@@ -152,16 +156,16 @@ class FlutterCourseHomeFragment : BaseFlutterFragment() {
bean.uid = userId bean.uid = userId
val couponIdsStr = Gson().toJson(bean) val couponIdsStr = Gson().toJson(bean)
CourseRetrofitUtils.receiveCoupon(couponIdsStr) CourseRetrofitUtils.receiveCoupon(couponIdsStr)
.compose(RxUtils.netCheck()) .compose(RxUtils.netCheck())
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe(Consumer { .subscribe(Consumer {
receiveCouponResponse(it) receiveCouponResponse(it)
}, object : ThrowableConsumer() { }, object : ThrowableConsumer() {
override fun accept(msg: String) { override fun accept(msg: String) {
ToastUtil.toastShort(msg) ToastUtil.toastShort(msg)
} }
}) })
} }
/** /**
......
...@@ -4,58 +4,6 @@ ...@@ -4,58 +4,6 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/title_bar"
android:layout_width="0dp"
android:layout_height="@dimen/title_bar_height"
android:layout_weight="1"
android:background="@color/white">
<ImageView
android:id="@+id/iv_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:paddingLeft="15dp"
android:paddingRight="10dp"
android:src="@drawable/course_toolbar_back"/>
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="心理课程"
android:textColor="@color/color_333333"
android:textSize="18sp"/>
<TextView
android:id="@+id/tv_left_menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="15dp"
android:src="@drawable/course_toolbar_back"
android:text="我的课程"
android:textColor="@color/right_text_color"/>
</RelativeLayout>
</LinearLayout>
<com.yidianling.course.widget.SearchBarView
android:id="@+id/activity_course_search_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<FrameLayout <FrameLayout
android:id="@+id/content" android:id="@+id/content"
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -14,7 +14,7 @@ import android.widget.LinearLayout ...@@ -14,7 +14,7 @@ import android.widget.LinearLayout
import com.alipay.sdk.app.PayTask import com.alipay.sdk.app.PayTask
import com.tencent.mm.opensdk.modelpay.PayReq import com.tencent.mm.opensdk.modelpay.PayReq
import com.tencent.mm.opensdk.openapi.WXAPIFactory import com.tencent.mm.opensdk.openapi.WXAPIFactory
import com.ydl.ydl_pay.http.HttpUtils import com.yidianling.ydl_pay.http.HttpUtils
import com.ydl.ydl_pay.toast.ToastHelper import com.ydl.ydl_pay.toast.ToastHelper
import com.ydl.ydl_pay.widget.PayCouponView import com.ydl.ydl_pay.widget.PayCouponView
import com.ydl.ydl_pay.widget.PayInfoDetailView import com.ydl.ydl_pay.widget.PayInfoDetailView
......
package com.ydl.ydl_pay.actionpoint package com.yidianling.ydl_pay.actionpoint
import android.content.Context import android.content.Context
import android.net.ConnectivityManager import android.net.ConnectivityManager
import android.net.NetworkInfo import android.net.NetworkInfo
import com.ydl.ydl_pay.http.HttpUtils import com.ydl.ydl_pay.actionpoint.ActionDataBean
import com.ydl.ydl_pay.http.utils.RxDeviceTool import com.ydl.ydl_pay.actionpoint.BIConstants
import com.yidianling.ydl_pay.http.HttpUtils
import com.yidianling.ydl_pay.http.utils.RxDeviceTool
import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers import io.reactivex.schedulers.Schedulers
......
...@@ -7,7 +7,7 @@ import android.view.LayoutInflater ...@@ -7,7 +7,7 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.TextView import android.widget.TextView
import com.ydl.ydl_pay.actionpoint.ActionCountUtils import com.yidianling.ydl_pay.actionpoint.ActionCountUtils
import com.ydl.ydl_pay.actionpoint.BIConstants import com.ydl.ydl_pay.actionpoint.BIConstants
import com.ydl.ydl_pay.http.HttpConfig import com.ydl.ydl_pay.http.HttpConfig
import com.ydl.ydl_pay.widget.CouponInfoDetailView import com.ydl.ydl_pay.widget.CouponInfoDetailView
......
package com.ydl.ydl_pay.http package com.yidianling.ydl_pay.http
import com.google.gson.Gson import com.google.gson.Gson
import com.ydl.ydl_pay.actionpoint.ActionDataBean import com.ydl.ydl_pay.actionpoint.ActionDataBean
import com.ydl.ydl_pay.bean.*
import com.ydl.ydlcommon.data.http.BaseCommand import com.ydl.ydlcommon.data.http.BaseCommand
import com.ydl.ydlcommon.data.http.BaseResponse import com.ydl.ydlcommon.data.http.BaseResponse
import com.ydl.ydlcommon.utils.NetworkParamsUtils import com.ydl.ydlcommon.utils.NetworkParamsUtils
......
package com.ydl.ydl_pay.http package com.yidianling.ydl_pay.http
import com.ydl.ydl_pay.bean.*
import com.ydl.ydlcommon.base.config.YDL_DOMAIN import com.ydl.ydlcommon.base.config.YDL_DOMAIN
import com.ydl.ydlcommon.base.config.YDL_DOMAIN_JAVA import com.ydl.ydlcommon.base.config.YDL_DOMAIN_JAVA
import com.ydl.ydlcommon.data.http.BaseResponse import com.ydl.ydlcommon.data.http.BaseResponse
......
...@@ -3,7 +3,7 @@ package com.yidianling.ydl_pay.http.log; ...@@ -3,7 +3,7 @@ package com.yidianling.ydl_pay.http.log;
import android.util.Log; import android.util.Log;
import com.ydl.ydl_pay.BuildConfig; import com.yidianling.ydl_pay.BuildConfig;
/** /**
......
...@@ -14,7 +14,7 @@ import android.widget.EditText ...@@ -14,7 +14,7 @@ import android.widget.EditText
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import com.ydl.ydl_pay.adapter.SelectCouponAdapter import com.ydl.ydl_pay.adapter.SelectCouponAdapter
import com.ydl.ydl_pay.http.HttpUtils import com.yidianling.ydl_pay.http.HttpUtils
import com.ydl.ydl_pay.toast.ToastHelper import com.ydl.ydl_pay.toast.ToastHelper
import com.yidianling.ydl_pay.R import com.yidianling.ydl_pay.R
import com.yidianling.ydl_pay.bean.AllCouponListBean import com.yidianling.ydl_pay.bean.AllCouponListBean
......
...@@ -13,18 +13,15 @@ import io.flutter.view.FlutterView ...@@ -13,18 +13,15 @@ import io.flutter.view.FlutterView
*/ */
abstract class BaseFlutterFragment : FlutterFragment() { abstract class BaseFlutterFragment : FlutterFragment() {
private var mFlutterView: FlutterView? = null
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): FlutterView { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): FlutterView {
return Flutter.createView( mFlutterView=Flutter.createView(
activity!!, activity!!,
lifecycle, lifecycle,
initialRoute()) initialRoute())
} initChannelPlugin(mFlutterView!!)
return mFlutterView!!
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
initChannelPlugin()
} }
/** /**
...@@ -35,5 +32,5 @@ abstract class BaseFlutterFragment : FlutterFragment() { ...@@ -35,5 +32,5 @@ abstract class BaseFlutterFragment : FlutterFragment() {
/** /**
* 初始化flutter channel插件 * 初始化flutter channel插件
*/ */
abstract fun initChannelPlugin() abstract fun initChannelPlugin(flutterView: FlutterView)
} }
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 to comment