Commit aa1f19b1 by wukun

0325

parent b4125274
Showing with 908 additions and 79 deletions
...@@ -60,5 +60,10 @@ public interface SettingContract { ...@@ -60,5 +60,10 @@ public interface SettingContract {
* 跳转到问题反馈. * 跳转到问题反馈.
*/ */
public abstract void dumpToFeed(); public abstract void dumpToFeed();
/**
* 用户协议
*/
public abstract void protocol();
} }
} }
...@@ -11,8 +11,10 @@ import com.dayu.bigfish.R; ...@@ -11,8 +11,10 @@ import com.dayu.bigfish.R;
import com.dayu.bigfish.api.ApiFactory; import com.dayu.bigfish.api.ApiFactory;
import com.dayu.bigfish.ui.AboutUsActivity; import com.dayu.bigfish.ui.AboutUsActivity;
import com.dayu.bigfish.ui.FeedBackActivity; import com.dayu.bigfish.ui.FeedBackActivity;
import com.dayu.common.BaseApplication;
import com.dayu.common.Constants; import com.dayu.common.Constants;
import com.dayu.event.UserInfo; import com.dayu.event.UserInfo;
import com.dayu.usercenter.api.UserApiFactory;
import com.dayu.usercenter.ui.activity.CommeWebViewActivity; import com.dayu.usercenter.ui.activity.CommeWebViewActivity;
import com.dayu.usercenter.ui.activity.SmsLoginActivity; import com.dayu.usercenter.ui.activity.SmsLoginActivity;
import com.dayu.utils.AppManager; import com.dayu.utils.AppManager;
...@@ -149,9 +151,9 @@ public class SettingPresenter extends SettingContract.Presenter { ...@@ -149,9 +151,9 @@ public class SettingPresenter extends SettingContract.Presenter {
mView.hideDialog(); mView.hideDialog();
mView.showToast(R.string.clear_success); mView.showToast(R.string.clear_success);
}); });
DataCleanManager.deleteFolderFile(Environment.getExternalStorageDirectory() + "/Android/data/com.dayu.bigfish/cache", false); DataCleanManager.deleteFolderFile(BaseApplication.getContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/Android/data/com.dayu.bigfish/cache", false);
// MobclickAgent.onEvent(MyApplication.getContext(), "sure_clear_cach"); // MobclickAgent.onEvent(MyApplication.getContext(), "sure_clear_cach");
File sdDir = Environment.getExternalStorageDirectory(); File sdDir = BaseApplication.getContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
File dir = new File(sdDir + "/.dayu/"); File dir = new File(sdDir + "/.dayu/");
CommonUtils.deleteFiles(dir); CommonUtils.deleteFiles(dir);
} }
...@@ -187,6 +189,22 @@ public class SettingPresenter extends SettingContract.Presenter { ...@@ -187,6 +189,22 @@ public class SettingPresenter extends SettingContract.Presenter {
// MobclickAgent.onEvent(MyApplication.getContext(), "feed_back"); // MobclickAgent.onEvent(MyApplication.getContext(), "feed_back");
} }
@Override
public void protocol() {
UserInfo info = UserManager.getInstance().getUser();
UserApiFactory.getEngineerInfo(Integer.parseInt(info.getAccountId())).subscribe(baseObserver(data -> {
String protocolUrl = data.getProtocolUrl();
Bundle bundle = new Bundle();
bundle.putString(Constants.URL, protocolUrl);
bundle.putString(Constants.TITLE, "用户协议");
mView.startActivity(CommeWebViewActivity.class,bundle);
}));
}
public void dumpToPrivacy() { public void dumpToPrivacy() {
Constants.isPrivacy = true; Constants.isPrivacy = true;
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
......
...@@ -414,7 +414,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin ...@@ -414,7 +414,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
MPermissionUtils.requestPermissionsResult(mActivity, 1, mPerArr, new MPermissionUtils.OnPermissionListener() { MPermissionUtils.requestPermissionsResult(mActivity, 1, mPerArr, new MPermissionUtils.OnPermissionListener() {
@Override @Override
public void onPermissionGranted() { public void onPermissionGranted() {
File sdDir = Environment.getExternalStorageDirectory(); File sdDir = mActivity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
File file; File file;
file = new File(sdDir + "/.dayu/"); file = new File(sdDir + "/.dayu/");
if (!file.exists()) { if (!file.exists()) {
......
...@@ -22,6 +22,7 @@ import com.dayu.common.Constants; ...@@ -22,6 +22,7 @@ import com.dayu.common.Constants;
import com.dayu.event.DownloadBean; import com.dayu.event.DownloadBean;
import com.dayu.provider.router.RouterPath; import com.dayu.provider.router.RouterPath;
import com.dayu.utils.AppUtils; import com.dayu.utils.AppUtils;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UIUtils; import com.dayu.utils.UIUtils;
import com.dayu.widgets.ChangeEnvDialog; import com.dayu.widgets.ChangeEnvDialog;
import com.dayu.widgets.CustomDialog; import com.dayu.widgets.CustomDialog;
...@@ -62,8 +63,10 @@ public class SettingActivity extends BaseActivity<SettingPresenter, ActivitySett ...@@ -62,8 +63,10 @@ public class SettingActivity extends BaseActivity<SettingPresenter, ActivitySett
int status; int status;
if (mBind.receiveOrder.switchButton) { if (mBind.receiveOrder.switchButton) {
status = 2; status = 2;
ToastUtils.showShortToast("接单开关已关闭,暂停接单");
} else { } else {
status = 1; status = 1;
ToastUtils.showShortToast("接单开关已开启,开始接单");
} }
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
try { try {
...@@ -120,7 +123,7 @@ public class SettingActivity extends BaseActivity<SettingPresenter, ActivitySett ...@@ -120,7 +123,7 @@ public class SettingActivity extends BaseActivity<SettingPresenter, ActivitySett
CustomDialog dialog = new CustomDialog(mActivity, R.style.CustomDialog, info.getUpgradePrompt(), CustomDialog dialog = new CustomDialog(mActivity, R.style.CustomDialog, info.getUpgradePrompt(),
(dialog1, confirm) -> { (dialog1, confirm) -> {
if (confirm) { if (confirm) {
File sdDir = Environment.getExternalStorageDirectory(); File sdDir = mActivity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
File file; File file;
file = new File(sdDir + "/.dayu/"); file = new File(sdDir + "/.dayu/");
if (!file.exists()) { if (!file.exists()) {
......
...@@ -94,6 +94,34 @@ ...@@ -94,6 +94,34 @@
<TextView style="@style/line" /> <TextView style="@style/line" />
<RelativeLayout <RelativeLayout
android:id="@+id/set_protocol"
android:layout_width="match_parent"
android:layout_height="54dp"
android:background="@color/cl_white"
android:onClick="@{()->presenter.protocol()}">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="13.3dp"
android:text="用户协议"
android:textColor="@color/cl_home_title_text_color"
android:textSize="14.7sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="13.3dp"
android:src="@mipmap/list_more" />
</RelativeLayout>
<TextView style="@style/line" />
<RelativeLayout
android:id="@+id/set_clear_huancun" android:id="@+id/set_clear_huancun"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="54dp" android:layout_height="54dp"
......
...@@ -75,7 +75,7 @@ dependencies { ...@@ -75,7 +75,7 @@ dependencies {
api project(':locationComponent') api project(':locationComponent')
api project(':pickerview') api project(':pickerview')
// api 'cn.jzvd:jiaozivideoplayer:7.2.4' // api 'cn.jzvd:jiaozivideoplayer:7.2.4'
api 'cn.jzvd:jiaozivideoplayer:7.1.0' api 'cn.jzvd:jiaozivideoplayer:7.7.0'
// api 'cn.jzvd:jiaozivideoplayer:7.3.0' // api 'cn.jzvd:jiaozivideoplayer:7.3.0'
// api 'com.google.android.exoplayer:exoplayer:2.9.6' // api 'com.google.android.exoplayer:exoplayer:2.9.6'
api 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8' api 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
......
...@@ -12,7 +12,9 @@ import com.dayu.base.api.protocol.RegisterErrorBean; ...@@ -12,7 +12,9 @@ import com.dayu.base.api.protocol.RegisterErrorBean;
import com.dayu.base.api.protocol.TrackId; import com.dayu.base.api.protocol.TrackId;
import com.dayu.base.api.protocol.TreeAddressBean; import com.dayu.base.api.protocol.TreeAddressBean;
import com.dayu.common.Constants; import com.dayu.common.Constants;
import com.dayu.event.CheckPayData;
import com.dayu.event.Notice; import com.dayu.event.Notice;
import com.dayu.event.PayData;
import java.util.List; import java.util.List;
...@@ -201,4 +203,16 @@ public interface APIService { ...@@ -201,4 +203,16 @@ public interface APIService {
*/ */
@GET(Constants.API_7100 + "/auditInfo/accountId/{accountId}") @GET(Constants.API_7100 + "/auditInfo/accountId/{accountId}")
Observable<BaseResponse<RegisterErrorBean>> getRegisterError(@Path("accountId") int accountId); Observable<BaseResponse<RegisterErrorBean>> getRegisterError(@Path("accountId") int accountId);
/**
* checkPay
*/
@POST(Constants.API_7900 + "/courses/checkPay")
Observable<BaseResponse<Boolean>> checkPay(@Body CheckPayData data);
/**
* pay
*/
@POST(Constants.API_7900 + "/courses/pay")
Observable<BaseResponse<Boolean>> pay(@Body PayData data);
} }
...@@ -49,7 +49,7 @@ public class CameraActivity extends AppCompatActivity { ...@@ -49,7 +49,7 @@ public class CameraActivity extends AppCompatActivity {
} }
jCameraView = (JCameraView) findViewById(R.id.jcameraview); jCameraView = (JCameraView) findViewById(R.id.jcameraview);
//设置视频保存路径 //设置视频保存路径
jCameraView.setSaveVideoPath(Environment.getExternalStorageDirectory().getPath() + File.separator + VIDEO_PATH); jCameraView.setSaveVideoPath(getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getPath() + File.separator + VIDEO_PATH);
jCameraView.setMediaQuality(JCameraView.MEDIA_QUALITY_HIGH); jCameraView.setMediaQuality(JCameraView.MEDIA_QUALITY_HIGH);
if (getIntent().hasExtra(Constants.ONLY_VIDEO)) { if (getIntent().hasExtra(Constants.ONLY_VIDEO)) {
...@@ -84,7 +84,7 @@ public class CameraActivity extends AppCompatActivity { ...@@ -84,7 +84,7 @@ public class CameraActivity extends AppCompatActivity {
jCameraView.setJCameraLisenter(new JCameraListener() { jCameraView.setJCameraLisenter(new JCameraListener() {
@Override @Override
public void captureSuccess(Bitmap bitmap) { public void captureSuccess(Bitmap bitmap) {
String path = FileUtil.saveBitmap(VIDEO_PATH, bitmap); String path = FileUtil.saveBitmap(VIDEO_PATH, bitmap, getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getPath());
Intent intent = new Intent(); Intent intent = new Intent();
intent.putExtra("imgPath", path); intent.putExtra("imgPath", path);
setResult(Constants.CAMERA_IMG, intent); setResult(Constants.CAMERA_IMG, intent);
...@@ -94,7 +94,7 @@ public class CameraActivity extends AppCompatActivity { ...@@ -94,7 +94,7 @@ public class CameraActivity extends AppCompatActivity {
@Override @Override
public void recordSuccess(String url, Bitmap firstFrame) { public void recordSuccess(String url, Bitmap firstFrame) {
//获取视频路径 //获取视频路径
String path = FileUtil.saveBitmap(VIDEO_PATH, firstFrame); String path = FileUtil.saveBitmap(VIDEO_PATH, firstFrame,getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getPath());
final File file = new File(url); final File file = new File(url);
if (file.exists()) if (file.exists())
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(file.getPath())))); sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(file.getPath()))));
......
...@@ -81,7 +81,7 @@ public class VideoPreviewActivty extends DataBindingActivity<AcitivityPreviewBin ...@@ -81,7 +81,7 @@ public class VideoPreviewActivty extends DataBindingActivity<AcitivityPreviewBin
@Override @Override
public Object instantiateItem(ViewGroup container, int position) { public Object instantiateItem(ViewGroup container, int position) {
JzvdStd jzvdStd = new JzvdStd(mContext); JzvdStd jzvdStd = new JzvdStd(mContext);
GlideImageLoader.load(mContext, jzvdStd.thumbImageView,listViews.get(position),-1); GlideImageLoader.load(mContext, jzvdStd.posterImageView,listViews.get(position),-1);
jzvdStd.setUp(listViews.get(position),""); jzvdStd.setUp(listViews.get(position),"");
container.addView(jzvdStd); container.addView(jzvdStd);
return jzvdStd; return jzvdStd;
......
package com.dayu.learncenter.api.data; package com.dayu.event;
public class CheckPayData { public class CheckPayData {
......
package com.dayu.learncenter.api.data; package com.dayu.event;
public class PayData { public class PayData {
......
package com.dayu.utils; package com.dayu.utils;
import android.app.Activity; import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.Color; import android.graphics.Color;
...@@ -10,6 +9,8 @@ import android.view.Display; ...@@ -10,6 +9,8 @@ import android.view.Display;
import android.view.View; import android.view.View;
import android.view.WindowManager; import android.view.WindowManager;
import com.dayu.common.BaseApplication;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
...@@ -113,8 +114,8 @@ public class BitmapUtils { ...@@ -113,8 +114,8 @@ public class BitmapUtils {
if (bmp == null) if (bmp == null)
return null; return null;
// 判断是否可以对SDcard进行操作 // 判断是否可以对SDcard进行操作
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { // 获取SDCard指定目录下 // if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { // 获取SDCard指定目录下
File sdDir = Environment.getExternalStorageDirectory(); File sdDir = BaseApplication.getContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
File file; File file;
file = new File(sdDir + "/.dayu/"); file = new File(sdDir + "/.dayu/");
if (!file.exists()) { if (!file.exists()) {
...@@ -133,7 +134,7 @@ public class BitmapUtils { ...@@ -133,7 +134,7 @@ public class BitmapUtils {
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} // }
return null; return null;
} }
......
...@@ -353,7 +353,7 @@ public class CommonUtils { ...@@ -353,7 +353,7 @@ public class CommonUtils {
// jzvdStd.thumbImageView.setScaleType(ImageView.ScaleType.FIT_CENTER); // jzvdStd.thumbImageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
// GlideImageLoader.loadFit(context, jzvdStd.thumbImageView,url, R.drawable.icon_video_default); // GlideImageLoader.loadFit(context, jzvdStd.thumbImageView,url, R.drawable.icon_video_default);
// url = url.replace("http:","https:")+"?x-oss-process=video/snapshot,t_0,f_jpg,ar_auto"; // url = url.replace("http:","https:")+"?x-oss-process=video/snapshot,t_0,f_jpg,ar_auto";
GlideImageLoader.load(context, jzvdStd.thumbImageView, url, R.drawable.icon_video_default); GlideImageLoader.load(context, jzvdStd.posterImageView, url, R.drawable.icon_video_default);
} }
......
...@@ -161,7 +161,7 @@ public class GlideImageLoader { ...@@ -161,7 +161,7 @@ public class GlideImageLoader {
.equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在 .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
File file; File file;
if (sdCardExist) { if (sdCardExist) {
file = new File(Environment.getExternalStorageDirectory() + "/dayu/"); file = new File(activity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/dayu/");
if (!file.exists()) { if (!file.exists()) {
file.mkdirs(); file.mkdirs();
} }
......
...@@ -227,6 +227,6 @@ public class JZMediaIjk extends JZMediaInterface implements IMediaPlayer.OnPrepa ...@@ -227,6 +227,6 @@ public class JZMediaIjk extends JZMediaInterface implements IMediaPlayer.OnPrepa
@Override @Override
public void onCompletion(IMediaPlayer iMediaPlayer) { public void onCompletion(IMediaPlayer iMediaPlayer) {
handler.post(() -> jzvd.onAutoCompletion()); handler.post(() -> jzvd.onStateAutoComplete());
} }
} }
...@@ -18,13 +18,12 @@ import java.io.IOException; ...@@ -18,13 +18,12 @@ import java.io.IOException;
*/ */
public class FileUtil { public class FileUtil {
private static final String TAG = "CJT"; private static final String TAG = "CJT";
private static final File parentPath = Environment.getExternalStorageDirectory();
private static String storagePath = ""; private static String storagePath = "";
private static String DST_FOLDER_NAME = "JCamera"; private static String DST_FOLDER_NAME = "JCamera";
private static String initPath() { private static String initPath(String basePath) {
if (storagePath.equals("")) { if (storagePath.equals("")) {
storagePath = parentPath.getAbsolutePath() + File.separator + DST_FOLDER_NAME; storagePath = basePath + File.separator + DST_FOLDER_NAME;
File f = new File(storagePath); File f = new File(storagePath);
if (!f.exists()) { if (!f.exists()) {
f.mkdir(); f.mkdir();
...@@ -33,9 +32,9 @@ public class FileUtil { ...@@ -33,9 +32,9 @@ public class FileUtil {
return storagePath; return storagePath;
} }
public static String saveBitmap(String dir, Bitmap b) { public static String saveBitmap(String dir, Bitmap b,String basePath) {
DST_FOLDER_NAME = dir; DST_FOLDER_NAME = dir;
String path = initPath(); String path = initPath(basePath);
long dataTake = System.currentTimeMillis(); long dataTake = System.currentTimeMillis();
String jpegName = path + File.separator + "picture_" + dataTake + ".jpg"; String jpegName = path + File.separator + "picture_" + dataTake + ".jpg";
try { try {
......
...@@ -8,12 +8,9 @@ import com.dayu.learncenter.api.bean.CommonLearnBean; ...@@ -8,12 +8,9 @@ import com.dayu.learncenter.api.bean.CommonLearnBean;
import com.dayu.learncenter.databinding.ItemCommonLearnBinding; import com.dayu.learncenter.databinding.ItemCommonLearnBinding;
import com.dayu.learncenter.presenter.common_learn.CommonLearnPresenter; import com.dayu.learncenter.presenter.common_learn.CommonLearnPresenter;
import com.dayu.utils.CommonUtils; import com.dayu.utils.CommonUtils;
import com.dayu.widgets.JZMediaIjk;
import com.dayu.widgets.MyJzvdStd; import com.dayu.widgets.MyJzvdStd;
import com.umeng.analytics.MobclickAgent; import com.umeng.analytics.MobclickAgent;
import cn.jzvd.JzvdStd;
public class LearnAdapter extends CoreAdapter<CommonLearnBean, ItemCommonLearnBinding> { public class LearnAdapter extends CoreAdapter<CommonLearnBean, ItemCommonLearnBinding> {
private int type; //1.全部 2.已学习 3.已发布 private int type; //1.全部 2.已学习 3.已发布
private CommonLearnPresenter mPresenter; private CommonLearnPresenter mPresenter;
...@@ -63,7 +60,8 @@ public class LearnAdapter extends CoreAdapter<CommonLearnBean, ItemCommonLearnBi ...@@ -63,7 +60,8 @@ public class LearnAdapter extends CoreAdapter<CommonLearnBean, ItemCommonLearnBi
holder.tvDisable.setVisibility(type == 3 && item.getStatus() != 1 ? View.VISIBLE : View.GONE); holder.tvDisable.setVisibility(type == 3 && item.getStatus() != 1 ? View.VISIBLE : View.GONE);
// holder.rlCover.setVisibility(item.isShowCover()? View.VISIBLE : View.GONE); // holder.rlCover.setVisibility(item.isShowCover()? View.VISIBLE : View.GONE);
holder.jzVideo.setUp(item.getUrl(), "", JzvdStd.SCREEN_NORMAL, JZMediaIjk.class); // holder.jzVideo.setUp(item.getUrl(), "", JzvdStd.SCREEN_NORMAL, JZMediaIjk.class);
holder.jzVideo.setUp(item.getUrl(), "");
CommonUtils.setVideoThumb(mContext, holder.jzVideo, item.getUrl()); CommonUtils.setVideoThumb(mContext, holder.jzVideo, item.getUrl());
holder.jzVideo.setPlayCallBack(new MyJzvdStd.PlayCallBack() { holder.jzVideo.setPlayCallBack(new MyJzvdStd.PlayCallBack() {
@Override @Override
...@@ -98,7 +96,10 @@ public class LearnAdapter extends CoreAdapter<CommonLearnBean, ItemCommonLearnBi ...@@ -98,7 +96,10 @@ public class LearnAdapter extends CoreAdapter<CommonLearnBean, ItemCommonLearnBi
} }
public void startVideo() { public void startVideo() {
mHolder.jzVideo.startVideo(); // mHolder.jzVideo.startVideo();
mHolder.rlClick.setVisibility(View.GONE); mHolder.rlClick.setVisibility(View.GONE);
mHolder.jzVideo.startPreloading(); //开始预加载,加载完等待播放
mHolder.jzVideo.startVideoAfterPreloading(); //如果预加载完会开始播放,如果未加载则开始加载
} }
} }
...@@ -12,10 +12,8 @@ import com.dayu.learncenter.api.bean.KnowledgeListBean; ...@@ -12,10 +12,8 @@ import com.dayu.learncenter.api.bean.KnowledgeListBean;
import com.dayu.learncenter.api.bean.LearnTabBean; import com.dayu.learncenter.api.bean.LearnTabBean;
import com.dayu.learncenter.api.bean.LiveBackVideosBean; import com.dayu.learncenter.api.bean.LiveBackVideosBean;
import com.dayu.learncenter.api.bean.ShareRecordBean; import com.dayu.learncenter.api.bean.ShareRecordBean;
import com.dayu.learncenter.api.data.CheckPayData;
import com.dayu.learncenter.api.data.EditCourseData; import com.dayu.learncenter.api.data.EditCourseData;
import com.dayu.learncenter.api.data.LiveData; import com.dayu.learncenter.api.data.LiveData;
import com.dayu.learncenter.api.data.PayData;
import com.dayu.learncenter.api.data.PubCourseData; import com.dayu.learncenter.api.data.PubCourseData;
import com.dayu.learncenter.api.data.StudyCourseData; import com.dayu.learncenter.api.data.StudyCourseData;
...@@ -146,16 +144,8 @@ public interface LearnService { ...@@ -146,16 +144,8 @@ public interface LearnService {
*/ */
@POST(Constants.API_7900 + "/live/signType") @POST(Constants.API_7900 + "/live/signType")
Observable<BaseResponse<Boolean>> sendLiveData(@Body LiveData data); Observable<BaseResponse<Boolean>> sendLiveData(@Body LiveData data);
/**
* checkPay
*/
@POST(Constants.API_7900 + "/courses/checkPay")
Observable<BaseResponse<Boolean>> checkPay(@Body CheckPayData data);
/**
* pay
*/
@POST(Constants.API_7900 + "/courses/pay")
Observable<BaseResponse<Boolean>> pay(@Body PayData data);
/** /**
......
...@@ -4,15 +4,16 @@ import android.text.TextUtils; ...@@ -4,15 +4,16 @@ import android.text.TextUtils;
import androidx.databinding.ObservableField; import androidx.databinding.ObservableField;
import com.dayu.base.api.APIService;
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.BaseResponse;
import com.dayu.common.Constants; import com.dayu.common.Constants;
import com.dayu.event.CheckPayData;
import com.dayu.event.UserInfo; import com.dayu.event.UserInfo;
import com.dayu.learncenter.api.LearnService; import com.dayu.learncenter.api.LearnService;
import com.dayu.learncenter.api.bean.CommonLearnBean; import com.dayu.learncenter.api.bean.CommonLearnBean;
import com.dayu.learncenter.api.data.CheckPayData; import com.dayu.event.PayData;
import com.dayu.learncenter.api.data.PayData;
import com.dayu.learncenter.api.data.StudyCourseData; import com.dayu.learncenter.api.data.StudyCourseData;
import com.dayu.learncenter.event.RefreshLeanTabEvent; import com.dayu.learncenter.event.RefreshLeanTabEvent;
import com.dayu.utils.UserManager; import com.dayu.utils.UserManager;
...@@ -111,7 +112,7 @@ public class CommonLearnPresenter extends CommonLearnContract.Presenter { ...@@ -111,7 +112,7 @@ public class CommonLearnPresenter extends CommonLearnContract.Presenter {
public void checkPay(CommonLearnBean item,boolean isVideo){ public void checkPay(CommonLearnBean item,boolean isVideo){
CheckPayData checkPayData = new CheckPayData(item.getId(),mUserId); CheckPayData checkPayData = new CheckPayData(item.getId(),mUserId);
Api.getService(LearnService.class).checkPay(checkPayData).compose(Api.applySchedulers()) Api.getService(APIService.class).checkPay(checkPayData).compose(Api.applySchedulers())
.subscribe(baseObserver(success -> { .subscribe(baseObserver(success -> {
if (success){ if (success){
if (isVideo){ if (isVideo){
...@@ -140,7 +141,7 @@ public class CommonLearnPresenter extends CommonLearnContract.Presenter { ...@@ -140,7 +141,7 @@ public class CommonLearnPresenter extends CommonLearnContract.Presenter {
public void pay(CommonLearnBean item, boolean isVideo) { public void pay(CommonLearnBean item, boolean isVideo) {
PayData payData = new PayData(item.getId(),mUserId,1); PayData payData = new PayData(item.getId(),mUserId,1);
Api.getService(LearnService.class).pay(payData).compose(Api.applySchedulers()) Api.getService(APIService.class).pay(payData).compose(Api.applySchedulers())
.subscribe(baseObserver(success -> { .subscribe(baseObserver(success -> {
if (success){ if (success){
if (isVideo){ if (isVideo){
......
...@@ -48,9 +48,9 @@ public class VideoPlayActivity extends BaseActivity<SImplePresenter, ActivityVid ...@@ -48,9 +48,9 @@ public class VideoPlayActivity extends BaseActivity<SImplePresenter, ActivityVid
mBind.ivBack.setOnClickListener(v->dumpBack()); mBind.ivBack.setOnClickListener(v->dumpBack());
if (!TextUtils.isEmpty(videoUrl)) { if (!TextUtils.isEmpty(videoUrl)) {
mBind.jzVideo.setUp(videoUrl, ""); mBind.jzVideo.setUp(videoUrl, "");
mBind.jzVideo.thumbImageView.setScaleType(ImageView.ScaleType.FIT_CENTER); mBind.jzVideo.posterImageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
GlideImageLoader.loadNoDeal(this, mBind.jzVideo.thumbImageView, GlideImageLoader.loadNoDeal(this, mBind.jzVideo.posterImageView,
imgUrl, R.drawable.icon_video_default); imgUrl, R.drawable.icon_video_default);
mBind.jzVideo.startVideo(); mBind.jzVideo.startVideo();
} }
......
...@@ -36,7 +36,6 @@ import org.greenrobot.eventbus.EventBus; ...@@ -36,7 +36,6 @@ import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
import cn.jzvd.Jzvd; import cn.jzvd.Jzvd;
import cn.jzvd.JzvdStd;
public class CommonLearnFragment extends BaseFragment<CommonLearnPresenter, FragmentCommonLearnBinding> public class CommonLearnFragment extends BaseFragment<CommonLearnPresenter, FragmentCommonLearnBinding>
implements CommonLearnContract.View { implements CommonLearnContract.View {
...@@ -142,7 +141,7 @@ public class CommonLearnFragment extends BaseFragment<CommonLearnPresenter, Frag ...@@ -142,7 +141,7 @@ public class CommonLearnFragment extends BaseFragment<CommonLearnPresenter, Frag
if (jzvd != null && Jzvd.CURRENT_JZVD != null && if (jzvd != null && Jzvd.CURRENT_JZVD != null &&
jzvd.jzDataSource.containsTheUrl(Jzvd.CURRENT_JZVD.jzDataSource.getCurrentUrl())) { jzvd.jzDataSource.containsTheUrl(Jzvd.CURRENT_JZVD.jzDataSource.getCurrentUrl())) {
if (Jzvd.CURRENT_JZVD != null && Jzvd.CURRENT_JZVD.screen != Jzvd.SCREEN_FULLSCREEN) { if (Jzvd.CURRENT_JZVD != null && Jzvd.CURRENT_JZVD.screen != Jzvd.SCREEN_FULLSCREEN) {
Jzvd.goOnPlayOnPause(); // Jzvd.goOnPlayOnPause();
Jzvd.releaseAllVideos(); Jzvd.releaseAllVideos();
} }
} }
...@@ -150,10 +149,11 @@ public class CommonLearnFragment extends BaseFragment<CommonLearnPresenter, Frag ...@@ -150,10 +149,11 @@ public class CommonLearnFragment extends BaseFragment<CommonLearnPresenter, Frag
}); });
} }
@Override @Override
public void onPause() { public void onPause() {
super.onPause(); super.onPause();
JzvdStd.goOnPlayOnPause(); Jzvd.releaseAllVideos();
} }
@Override @Override
......
...@@ -55,7 +55,8 @@ ...@@ -55,7 +55,8 @@
android:gravity="center" android:gravity="center"
android:paddingLeft="15dp" android:paddingLeft="15dp"
android:paddingRight="15dp" android:paddingRight="15dp"
android:text="发布时间 " /> android:text="发布时间 "
android:visibility="gone" />
<TextView <TextView
android:id="@+id/tv_disable" android:id="@+id/tv_disable"
......
...@@ -238,7 +238,7 @@ public class TCUtils { ...@@ -238,7 +238,7 @@ public class TCUtils {
if ("primary".equalsIgnoreCase(type)) { if ("primary".equalsIgnoreCase(type)) {
// FIXBUG:Android10此处Environment.getExternalStorageDirectory()不可以修改,不然从content://映射的路径则不正确 // FIXBUG:Android10此处Environment.getExternalStorageDirectory()不可以修改,不然从content://映射的路径则不正确
return Environment.getExternalStorageDirectory() + "/" + split[1]; return context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/" + split[1];
} }
// TODO handle non-primary volumes // TODO handle non-primary volumes
......
...@@ -119,7 +119,7 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter { ...@@ -119,7 +119,7 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
} }
mOrderField.set(mOrderInfo); mOrderField.set(mOrderInfo);
mView.initPhotoView(mImages); mView.initPhotoView(mImages);
mPath = Environment.getExternalStorageDirectory() + "/dayu/image/" + mOrderId + "signature.png"; mPath = BaseApplication.getContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/dayu/image/" + mOrderId + "signature.png";
} }
@Override @Override
......
...@@ -199,7 +199,7 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac ...@@ -199,7 +199,7 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac
private String getPath() { private String getPath() {
String path = Environment.getExternalStorageDirectory() + "/dayu/image/"; String path = mActivity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS)+ "/dayu/image/";
File file = new File(path); File file = new File(path);
if (file.mkdirs()) { if (file.mkdirs()) {
return path; return path;
......
...@@ -262,7 +262,7 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL ...@@ -262,7 +262,7 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
mBind.jzVideo.setVisibility(View.VISIBLE); mBind.jzVideo.setVisibility(View.VISIBLE);
mBind.ivExample.setVisibility(View.GONE); mBind.ivExample.setVisibility(View.GONE);
mBind.jzVideo.setUp(example, ""); mBind.jzVideo.setUp(example, "");
GlideImageLoader.load(this, mBind.jzVideo.thumbImageView, example, -1); GlideImageLoader.load(this, mBind.jzVideo.posterImageView, example, -1);
} else { } else {
mBind.jzVideo.setVisibility(View.GONE); mBind.jzVideo.setVisibility(View.GONE);
......
...@@ -134,6 +134,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi ...@@ -134,6 +134,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
//工单状态:1未接单2未预约3已预约4进行中5已完成6已取消7订单关闭 //工单状态:1未接单2未预约3已预约4进行中5已完成6已取消7订单关闭
//工单子状态:3已预约1未出发|3已预约2已出发|4进行中3无SOP处理|4进行中4SOP未完成|4进行中5SOP已完成 //工单子状态:3已预约1未出发|3已预约2已出发|4进行中3无SOP处理|4进行中4SOP未完成|4进行中5SOP已完成
String time = ""; String time = "";
holder.itemTextDetail.setVisibility(View.GONE);
switch (item.getStatus()) { switch (item.getStatus()) {
case 1: //待接单 case 1: //待接单
holder.rlItemEnd.setVisibility(View.GONE); holder.rlItemEnd.setVisibility(View.GONE);
...@@ -150,6 +151,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi ...@@ -150,6 +151,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
mOnChildClickListener.OnChildClick(holder.itemTextPhone, this, position); mOnChildClickListener.OnChildClick(holder.itemTextPhone, this, position);
} }
}); });
holder.itemTextDetail.setVisibility(View.VISIBLE);
holder.tvOrderTime.setText("预约时间"); holder.tvOrderTime.setText("预约时间");
time = item.getAppointmentTime(); time = item.getAppointmentTime();
setTimeStatus(holder, item, time); setTimeStatus(holder, item, time);
......
...@@ -65,31 +65,35 @@ public class OrderReceivingFragment extends BaseFragment<ReceivingPresenter, Fra ...@@ -65,31 +65,35 @@ public class OrderReceivingFragment extends BaseFragment<ReceivingPresenter, Fra
mBind.recyclerView.setOnItemClickListener(new OnItemClickListener<Order, FragmentOrderdoingItemBinding>() { mBind.recyclerView.setOnItemClickListener(new OnItemClickListener<Order, FragmentOrderdoingItemBinding>() {
@Override @Override
public void OnItemClick(Order item, FragmentOrderdoingItemBinding bind) { public void OnItemClick(Order item, FragmentOrderdoingItemBinding bind) {
OrderApiFactory.verifyOrder(item.getId() + "", mUserId).subscribe(mPresenter.baseObserver(new Consumer<BaseResponse<String>>() { goToDetail(item);
@Override
public void accept(BaseResponse<String> data) {
if (data.isSuccess()) {
if (4 == item.getSource() && item.getReceiveOrderCommission() > 0) {
showCashDialog(item.getReceiveOrderCommission(), mUserId, item.getId(), item.getAppointmentTime());
} else {
if (7 == item.getSource()){
mPresenter.dumpDetailClock(item.getId());
}else{
mPresenter.dumpDetail(item.getId());
}
}
} else {
showVerifyDialog(data.getSubCode(), data.getMsg(), data.getData());
}
}
}, responeThrowable -> {
}));
} }
}); });
showRegisterView(); showRegisterView();
} }
private void goToDetail(Order item) {
OrderApiFactory.verifyOrder(item.getId() + "", mUserId).subscribe(mPresenter.baseObserver(new Consumer<BaseResponse<String>>() {
@Override
public void accept(BaseResponse<String> data) {
if (data.isSuccess()) {
if (4 == item.getSource() && item.getReceiveOrderCommission() > 0) {
showCashDialog(item.getReceiveOrderCommission(), mUserId, item.getId(), item.getAppointmentTime());
} else {
if (7 == item.getSource()){
mPresenter.dumpDetailClock(item.getId());
}else{
mPresenter.dumpDetail(item.getId());
}
}
} else {
showVerifyDialog(data.getSubCode(), data.getMsg(), data.getData());
}
}
}, responeThrowable -> {
}));
}
@Override @Override
public void setPresenter() { public void setPresenter() {
mBind.setPresenter(mPresenter); mBind.setPresenter(mPresenter);
...@@ -136,6 +140,9 @@ public class OrderReceivingFragment extends BaseFragment<ReceivingPresenter, Fra ...@@ -136,6 +140,9 @@ public class OrderReceivingFragment extends BaseFragment<ReceivingPresenter, Fra
}, responeThrowable -> { }, responeThrowable -> {
})); }));
}else if(view.getId() == R.id.item_text_detail){
Order order = (Order) adapter.getItem(position);
goToDetail(order);
} }
}); });
} }
......
...@@ -316,6 +316,18 @@ ...@@ -316,6 +316,18 @@
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:id="@+id/item_text_detail"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_weight="1"
android:gravity="center"
android:text="了解详情"
android:textColor="@color/cl_receiving_order_item_data"
android:textSize="@dimen/sp_15"
android:visibility="gone"/>
<TextView
android:id="@+id/tv_take_order" android:id="@+id/tv_take_order"
android:layout_width="160dp" android:layout_width="160dp"
android:layout_height="35dp" android:layout_height="35dp"
...@@ -348,6 +360,7 @@ ...@@ -348,6 +360,7 @@
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:id="@+id/item_text_phone" android:id="@+id/item_text_phone"
android:layout_width="0dp" android:layout_width="0dp"
......
...@@ -4,12 +4,16 @@ import com.dayu.base.api.protocol.AddressInfoBean; ...@@ -4,12 +4,16 @@ import com.dayu.base.api.protocol.AddressInfoBean;
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.common.Constants; import com.dayu.common.Constants;
import com.dayu.event.UserInfo;
import com.dayu.usercenter.event.AddressData; import com.dayu.usercenter.event.AddressData;
import com.dayu.usercenter.model.AddUserCardData; import com.dayu.usercenter.model.AddUserCardData;
import com.dayu.usercenter.model.ApplyLicenceData; import com.dayu.usercenter.model.ApplyLicenceData;
import com.dayu.usercenter.model.ApplyWithdrawData; import com.dayu.usercenter.model.ApplyWithdrawData;
import com.dayu.usercenter.model.BusinessDetailData;
import com.dayu.usercenter.model.ChangeNickData; import com.dayu.usercenter.model.ChangeNickData;
import com.dayu.usercenter.model.CoursesVideoData;
import com.dayu.usercenter.model.EditBankData; import com.dayu.usercenter.model.EditBankData;
import com.dayu.usercenter.model.FinishedStudyData;
import com.dayu.usercenter.model.LicencePayData; import com.dayu.usercenter.model.LicencePayData;
import com.dayu.usercenter.model.SaveSceneData; import com.dayu.usercenter.model.SaveSceneData;
import com.dayu.usercenter.model.UploadSelfLicenceData; import com.dayu.usercenter.model.UploadSelfLicenceData;
...@@ -416,4 +420,44 @@ public interface UserService2 { ...@@ -416,4 +420,44 @@ public interface UserService2 {
@POST(Constants.API_7100 + "/engineerCertificate/pay") @POST(Constants.API_7100 + "/engineerCertificate/pay")
Observable<BaseResponse<Boolean>> licencePay(@Body LicencePayData saveBean); Observable<BaseResponse<Boolean>> licencePay(@Body LicencePayData saveBean);
/**
* 更改接单状态.
*/
@PUT(Constants.API_7100+"/engineerInfo/accountId")
Observable<BaseResponse<Boolean>> changeWorkStatus(@Body RequestBody body);
/**
* 获取接单状态.
*/
@GET(Constants.API_7100+"/engineerInfo/mobile/accountId/{id}")
Observable<BaseResponse<UserInfo>> getWorkStatus(@Path("id") int id);
/**
* 商家详情
* @param id
* @param accountId
* @return
*/
@GET(Constants.API_7100+"/serviceProviderInfo/providerInfo/app/id/{id}/accountId/{accountId}")
Observable<BaseResponse<BusinessDetailData>> getBusinessDetailInfo(@Path("id") int id, @Path("accountId") int accountId);
/**
* 申请商家认证
* @param finishedStudyData
* @return
*/
@POST(Constants.API_7100 + "/licenceRelationEngineer/finishedStudyApply")
Observable<BaseResponse<Boolean>> finishedStudyApply(@Body FinishedStudyData finishedStudyData);
/**
* 学习视频
* @return
*/
@GET(Constants.API_7900+"/courses/providerCourses")
Observable<BaseResponse<BasePageBean<CoursesVideoData>>> getVideo(@Query("providerId") int providerId,
@Query("engineerId") int engineerId,
@Query("page") int page,
@Query("pageSize") int pageSize);
} }
...@@ -42,6 +42,16 @@ public class EngineerInfo extends BaseObservable implements Serializable { ...@@ -42,6 +42,16 @@ public class EngineerInfo extends BaseObservable implements Serializable {
private String incomeUrl; private String incomeUrl;
private String kfUrl; private String kfUrl;
private String protocolUrl;
public String getProtocolUrl() {
return protocolUrl;
}
public void setProtocolUrl(String protocolUrl) {
this.protocolUrl = protocolUrl;
}
public String getIncomeUrl() { public String getIncomeUrl() {
return incomeUrl; return incomeUrl;
} }
......
package com.dayu.usercenter.model;
import java.util.ArrayList;
public class BusinessDetailData {
private String logo;
private String name;
private String briefIntroduction;
private int licenceStatus;
private ArrayList<Spudata> spuList;
public String getLogo() {
return logo;
}
public void setLogo(String logo) {
this.logo = logo;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBriefIntroduction() {
return briefIntroduction;
}
public void setBriefIntroduction(String briefIntroduction) {
this.briefIntroduction = briefIntroduction;
}
public int getLicenceStatus() {
return licenceStatus;
}
public void setLicenceStatus(int licenceStatus) {
this.licenceStatus = licenceStatus;
}
public ArrayList<Spudata> getSpuList() {
return spuList;
}
public void setSpuList(ArrayList<Spudata> spuList) {
this.spuList = spuList;
}
public class Spudata{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
}
package com.dayu.usercenter.model;
public class CoursesVideoData {
private int id;
private String name;
private String url;
private int learners;
private int playStatus;
private Object points;
private String price;
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public int getLearners() {
return learners;
}
public void setLearners(int learners) {
this.learners = learners;
}
public int getPlayStatus() {
return playStatus;
}
public void setPlayStatus(int playStatus) {
this.playStatus = playStatus;
}
public Object getPoints() {
return points;
}
public void setPoints(Object points) {
this.points = points;
}
}
package com.dayu.usercenter.model;
public class FinishedStudyData {
private String accountId;
private String providerId;
private String accountMobile;
private String accountName;
public FinishedStudyData(String accountId, String providerId, String accountMobile, String accountName) {
this.accountId = accountId;
this.providerId = providerId;
this.accountMobile = accountMobile;
this.accountName = accountName;
}
}
package com.dayu.usercenter.presenter.businessdetail;
import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.common.BaseView;
public interface BusinessDetailContract {
interface View extends BaseView {
}
abstract class Presenter extends BasePresenter<View> {
}
}
package com.dayu.usercenter.presenter.businessdetail;
public class BusinessDetailPresenter extends BusinessDetailContract.Presenter{
@Override
public void onAttached() {
}
}
package com.dayu.usercenter.ui.activity;
import android.view.View;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.base.api.APIService;
import com.dayu.base.api.Api;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.event.CheckPayData;
import com.dayu.event.PayData;
import com.dayu.event.UserInfo;
import com.dayu.usercenter.R;
import com.dayu.usercenter.api.UserService2;
import com.dayu.usercenter.databinding.ActivityBusinessDetailBinding;
import com.dayu.usercenter.model.BusinessDetailData;
import com.dayu.usercenter.model.CoursesVideoData;
import com.dayu.usercenter.model.FinishedStudyData;
import com.dayu.usercenter.presenter.businessdetail.BusinessDetailContract;
import com.dayu.usercenter.presenter.businessdetail.BusinessDetailPresenter;
import com.dayu.utils.CommonUtils;
import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.UserManager;
import com.dayu.widgets.CustomDialog;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.util.List;
/**
* 商家详情
*/
public class BusinessDetailActivity extends BaseActivity<BusinessDetailPresenter, ActivityBusinessDetailBinding> implements BusinessDetailContract.View {
private int currentId;
private String currentPrice;
@Override
public void setPresenter() {
}
@Override
public int getLayoutId() {
return R.layout.activity_business_detail;
}
@Override
public void initView() {
int licenceAuthorityId = getBundle().getInt("licenceAuthorityId");
int mUserId = getBundle().getInt("mUserId");
mBind.titleBack.setOnClickListener(view -> finish());
getBusinessInfo(licenceAuthorityId, mUserId);
getVideo(licenceAuthorityId, mUserId);
mBind.rlClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CheckPayData checkPayData = new CheckPayData(currentId,mUserId);
Api.getService(APIService.class).checkPay(checkPayData).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(success -> {
if (success){
mBind.jzVideo.startPreloading(); //开始预加载,加载完等待播放
mBind.jzVideo.startVideoAfterPreloading(); //如果预加载完会开始播放,如果未加载则开始加载
mBind.rlClick.setVisibility(View.GONE);
}else{
CustomDialog dialog = new CustomDialog(mActivity, R.style.CustomDialog, "付费"+ currentPrice + "元后观看",
(dialog1, confirm) -> {
if (confirm) {
pay();
}
});
dialog.setTitle("温馨提醒")
.setPositiveButton("同意支付");
dialog.show();
}
}));
}
});
}
private void pay() {
PayData payData = new PayData(currentId,mUserId,1);
Api.getService(APIService.class).pay(payData).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(success -> {
if (success){
mBind.jzVideo.startPreloading(); //开始预加载,加载完等待播放
mBind.jzVideo.startVideoAfterPreloading(); //如果预加载完会开始播放,如果未加载则开始加载
mBind.rlClick.setVisibility(View.GONE);
}else{
CustomDialog dialog = new CustomDialog(mActivity, R.style.CustomDialog, "账户余额不足!\n请先充值再抢单!",
(dialog1, confirm) -> {
});
dialog.setTitle("温馨提醒")
.setPositiveButton("确定");
dialog.setOneButton(true);
dialog.show();
}
}));
}
/**
* 视频信息
*/
private void getVideo(int licenceAuthorityId, int mUserId) {
Api.getService(UserService2.class).getVideo(licenceAuthorityId,mUserId,1,500).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data -> {
List<CoursesVideoData> videoDataList = data.getData();
if (videoDataList == null || videoDataList.size() == 0){
mBind.llVideo.setVisibility(View.GONE);
}else{
mBind.llVideo.setVisibility(View.VISIBLE);
mBind.tvTips.setText("共计"+videoDataList.size()+"个,上下滑动观看更多视频");
CoursesVideoData coursesVideoData = videoDataList.get(0);
currentId = coursesVideoData.getId();
currentPrice = coursesVideoData.getPrice();
String name = coursesVideoData.getName();
String url = coursesVideoData.getUrl();
Object points = coursesVideoData.getPoints();
Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create();
String jsonString = gson.toJson(points);
mBind.jzVideo.setUp(url, name);
CommonUtils.setVideoThumb(mActivity, mBind.jzVideo, url);
BaseQuickAdapter<CoursesVideoData, BaseViewHolder> mAdapter =
new BaseQuickAdapter<CoursesVideoData, BaseViewHolder>(R.layout.item_business_video, videoDataList) {
@Override
protected void convert(BaseViewHolder helper, CoursesVideoData item) {
helper.setText(R.id.tv_name,item.getName());
}
};
mBind.rlVideo.setLayoutManager(new LinearLayoutManager(mActivity));
mBind.rlVideo.setAdapter(mAdapter);
}
}));
}
/**
* 商家信息
* @param licenceAuthorityId
* @param mUserId
*/
private void getBusinessInfo(int licenceAuthorityId, int mUserId) {
Api.getService(UserService2.class).getBusinessDetailInfo(licenceAuthorityId, mUserId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data -> {
String logo = data.getLogo();
GlideImageLoader.loadFit(mActivity,mBind.ivIcon,logo);
mBind.tvName.setText(data.getName());
mBind.tvInfo.setText(data.getBriefIntroduction());
BaseQuickAdapter<BusinessDetailData.Spudata, BaseViewHolder> mAdapter
= new BaseQuickAdapter<BusinessDetailData.Spudata, BaseViewHolder>(R.layout.item_supdata, data.getSpuList()) {
@Override
protected void convert(BaseViewHolder helper, BusinessDetailData.Spudata item) {
helper.setText(R.id.tv_name_business, item.getName());
}
};
mBind.rlService.setLayoutManager(new LinearLayoutManager(mActivity));
mBind.rlService.setAdapter(mAdapter);
mBind.btnCommit.setClickable(false);
if (1 == data.getLicenceStatus()){
mBind.btnCommit.setText("商家已认证");
mBind.btnCommit.setBackgroundColor(ContextCompat.getColor(mActivity,R.color.text_common_green));
}else if (2 == data.getLicenceStatus()){
mBind.btnCommit.setClickable(true);
mBind.btnCommit.setText("申请商家认证");
mBind.btnCommit.setBackgroundColor(ContextCompat.getColor(mActivity,R.color.text_common_blue));
mBind.btnCommit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
UserInfo info = UserManager.getInstance().getUser();
String mobile = info.getMobile();
String accountName = info.getAccountName();
FinishedStudyData finishedStudyData = new FinishedStudyData(mUserId+"", licenceAuthorityId+"", mobile, accountName);
Api.getService(UserService2.class).finishedStudyApply(finishedStudyData).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data -> {
//TODO
}));
}
});
}else if (2 == data.getLicenceStatus()){
mBind.btnCommit.setText("商家认证申请中");
mBind.btnCommit.setBackgroundColor(ContextCompat.getColor(mActivity,R.color.text_common_green));
}
}));
}
}
\ No newline at end of file
...@@ -127,7 +127,7 @@ public class ModifyPersonInfoActivity extends BaseActivity<ModifyPersonPresenter ...@@ -127,7 +127,7 @@ public class ModifyPersonInfoActivity extends BaseActivity<ModifyPersonPresenter
} }
private String getPath() { private String getPath() {
String path = Environment.getExternalStorageDirectory() + "/dayu/image/"; String path = mActivity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/dayu/image/";
File file = new File(path); File file = new File(path);
if (file.mkdirs()) { if (file.mkdirs()) {
return path; return path;
......
...@@ -106,7 +106,7 @@ public class MyHeaderIvActivity extends BaseActivity<MyHeadPresenter, MyHeaderAc ...@@ -106,7 +106,7 @@ public class MyHeaderIvActivity extends BaseActivity<MyHeadPresenter, MyHeaderAc
} }
private String getPath() { private String getPath() {
String path = Environment.getExternalStorageDirectory() + "/dayu/image/"; String path = mActivity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/dayu/image/";
File file = new File(path); File file = new File(path);
if (file.mkdirs()) { if (file.mkdirs()) {
return path; return path;
......
...@@ -119,7 +119,7 @@ public class PersonInfoActivity extends BaseActivity<PersonInfoPresenter, Activi ...@@ -119,7 +119,7 @@ public class PersonInfoActivity extends BaseActivity<PersonInfoPresenter, Activi
} }
private String getPath() { private String getPath() {
String path = Environment.getExternalStorageDirectory() + "/dayu/image/"; String path = mActivity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/dayu/image/";
File file = new File(path); File file = new File(path);
if (file.mkdirs()) { if (file.mkdirs()) {
return path; return path;
......
...@@ -66,10 +66,15 @@ import com.umeng.socialize.bean.SHARE_MEDIA; ...@@ -66,10 +66,15 @@ import com.umeng.socialize.bean.SHARE_MEDIA;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode; import org.greenrobot.eventbus.ThreadMode;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import okhttp3.MediaType;
import okhttp3.RequestBody;
/** /**
* Created by luofan * Created by luofan
* on 2017/11/20. * on 2017/11/20.
...@@ -140,6 +145,41 @@ public class HomeUserFragment extends BaseFragment<HomeUserPresenter, FragmentHo ...@@ -140,6 +145,41 @@ public class HomeUserFragment extends BaseFragment<HomeUserPresenter, FragmentHo
showDaySelect(data.getLowestPriceDay()); showDaySelect(data.getLowestPriceDay());
})); }));
mBind.receiveOrder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int status;
if (mBind.receiveOrder.switchButton) {
status = 2;
ToastUtils.showShortToast("接单开关已关闭,暂停接单");
} else {
status = 1;
ToastUtils.showShortToast("接单开关已开启,开始接单");
}
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("accountId", mUserId);
jsonObject.put("workStatus", status);
} catch (JSONException e) {
e.printStackTrace();
}
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), jsonObject.toString());
Api.getService(UserService2.class).changeWorkStatus(requestBody).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data -> {
}));
mBind.receiveOrder.setSwitchButton(!mBind.receiveOrder.switchButton);
}
});
Api.getService(UserService2.class).getWorkStatus(mUserId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data -> {
if (data.getWorkStatus() == 1) {
mBind.receiveOrder.setSwitchButton(true);
} else {
mBind.receiveOrder.setSwitchButton(false);
}
}));
} }
private void showDaySelect(String select) { private void showDaySelect(String select) {
......
...@@ -15,7 +15,7 @@ import com.dayu.usercenter.databinding.FragmentUserLicenceBinding; ...@@ -15,7 +15,7 @@ import com.dayu.usercenter.databinding.FragmentUserLicenceBinding;
import com.dayu.usercenter.model.bean.UserLicenceBean; import com.dayu.usercenter.model.bean.UserLicenceBean;
import com.dayu.usercenter.presenter.userlicence.UserLicenceContract; import com.dayu.usercenter.presenter.userlicence.UserLicenceContract;
import com.dayu.usercenter.presenter.userlicence.UserLicencePresent; import com.dayu.usercenter.presenter.userlicence.UserLicencePresent;
import com.dayu.usercenter.ui.activity.CommeWebViewActivity; import com.dayu.usercenter.ui.activity.BusinessDetailActivity;
import com.dayu.utils.UserManager; import com.dayu.utils.UserManager;
import com.dayu.widgets.CustomDialog; import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.RegisterDialog; import com.dayu.widgets.RegisterDialog;
...@@ -88,10 +88,19 @@ public class UserLicenceFragment extends BaseFragment<UserLicencePresent, Fragme ...@@ -88,10 +88,19 @@ public class UserLicenceFragment extends BaseFragment<UserLicencePresent, Fragme
} }
private void dumpDetail(UserLicenceBean item) { private void dumpDetail(UserLicenceBean item) {
// Bundle bundle1 = new Bundle();
// bundle1.putString(Constants.URL, item.getDetailUrl() + "&accountId=" + mUserId + "&token=" + mUserInfo.getToken());
// bundle1.putString(Constants.TITLE, "商家详情");
// Intent intent = new Intent(mActivity, CommeWebViewActivity.class);
// intent.putExtra(Constants.BUNDLE, bundle1);
// startActivity(intent);
Bundle bundle1 = new Bundle(); Bundle bundle1 = new Bundle();
bundle1.putString(Constants.URL, item.getDetailUrl() + "&accountId=" + mUserId + "&token=" + mUserInfo.getToken()); bundle1.putString(Constants.URL, item.getDetailUrl() + "&accountId=" + mUserId + "&token=" + mUserInfo.getToken());
bundle1.putString(Constants.TITLE, "商家详情"); bundle1.putString(Constants.TITLE, "商家详情");
Intent intent = new Intent(mActivity, CommeWebViewActivity.class); int licenceAuthorityId = item.getLicenceAuthorityId();
bundle1.putInt("licenceAuthorityId",licenceAuthorityId);
bundle1.putInt("mUserId",mUserId);
Intent intent = new Intent(mActivity, BusinessDetailActivity.class);
intent.putExtra(Constants.BUNDLE, bundle1); intent.putExtra(Constants.BUNDLE, bundle1);
startActivity(intent); startActivity(intent);
} }
......
...@@ -7,6 +7,9 @@ ...@@ -7,6 +7,9 @@
android:label="@string/app_name" android:label="@string/app_name"
android:supportsRtl="true"> android:supportsRtl="true">
<activity <activity
android:name=".ui.activity.BusinessDetailActivity"
android:exported="false" />
<activity
android:name=".ui.activity2.SelfLicenceDetailActivity" android:name=".ui.activity2.SelfLicenceDetailActivity"
android:exported="false" /> android:exported="false" />
<activity <activity
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/rl_title"
style="@style/title">
<TextView
android:id="@+id/tv_title"
style="@style/text_title"
android:text="商家详情"/>
<ImageView
android:id="@+id/title_back"
style="@style/title_image_back"
/>
</RelativeLayout>
<ImageView style="@style/card_line" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/iv_icon"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="match_parent"
android:layout_height="35dp"
android:text="公司名称"
android:textSize="20dp"
android:paddingLeft="20dp"
android:gravity="center|left"
android:background="@color/table_record_title_bg"/>
<TextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="45dp"
android:textSize="20dp"
android:paddingLeft="20dp"
android:gravity="center|left"
android:background="@color/white"/>
<TextView
android:layout_width="match_parent"
android:layout_height="35dp"
android:text="公司简介"
android:textSize="20dp"
android:paddingLeft="20dp"
android:gravity="center|left"
android:background="@color/table_record_title_bg"/>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="70dp">
<TextView
android:id="@+id/tv_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="8dp"
android:paddingBottom="5dp"
android:gravity="center|left"
android:background="@color/white"/>
</androidx.core.widget.NestedScrollView>
Y
<LinearLayout
android:id="@+id/ll_video"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="35dp"
android:text="培训课程"
android:textSize="20dp"
android:paddingLeft="20dp"
android:gravity="center|left"
android:background="@color/table_record_title_bg"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="180dp">
<com.dayu.widgets.MyJzvdStd
android:id="@+id/jz_video"
android:layout_width="match_parent"
android:layout_height="180dp" />
<RelativeLayout
android:id="@+id/rl_click"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rl_video"
android:layout_width="match_parent"
android:layout_height="100dp"/>
<TextView
android:id="@+id/tv_tips"
android:layout_width="match_parent"
android:layout_height="45dp"
android:text="观看上个视频解锁下个视频"
android:textSize="16dp"
android:paddingLeft="18dp"
android:gravity="center_vertical"
android:background="@color/white"/>
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="35dp"
android:text="服务项目"
android:textSize="20dp"
android:paddingLeft="20dp"
android:gravity="center|left"
android:background="@color/table_record_title_bg"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rl_service"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginBottom="60dp"/>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
<Button
android:id="@+id/btn_commit"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:background="@drawable/blue_commom"
android:layout_marginBottom="10dp"
android:padding="8dp"
android:text="申请商家认证"
android:layout_gravity="center_horizontal"
android:textColor="@color/white"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
</LinearLayout>
</layout>
\ No newline at end of file
...@@ -679,6 +679,33 @@ ...@@ -679,6 +679,33 @@
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="18dp" /> android:textSize="18dp" />
<RelativeLayout
android:id="@+id/receiveOrderRl"
android:layout_width="250dp"
android:layout_height="54dp"
android:gravity="center"
android:background="@color/cl_white">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="13.3dp"
android:text="接单开关"
android:textColor="@color/cl_home_title_text_color"
android:textSize="14.7sp" />
<com.dayu.widgets.SwitchImage
android:id="@+id/receiveOrder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/dp_16.7"
android:src="@drawable/set_switch_start" />
</RelativeLayout>
<TextView <TextView
android:layout_width="00dp" android:layout_width="00dp"
android:layout_height="40dp" android:layout_height="40dp"
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/light_grey"/>
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:paddingLeft="20dp"
android:textSize="18dp"
android:gravity="center_vertical"/>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/light_grey"/>
<TextView
android:id="@+id/tv_name_business"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:paddingLeft="20dp"
android:textSize="18dp"
android:gravity="center_vertical"/>
</LinearLayout>
\ 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